ORM
ОРМ (инглизча: Обжеcт-Релатионал Маппинг) - ма'лумотлар омборларини об'эктга ё'налтирилган дастурлаш тиллари тушунчалари билан бог'лайдиган технология. Ушбу технологиянинг пуллик ва бепул ко'ринишлари мавжуд[1]
Вазифаси
Ма'лумотлар билан ма'лумотлар жадваллари эмас, балки синфлар бо'йича ишлаш ва аксинча, синфлар атамалари ва ма'лумотларини МОБТда сақлаш учун мос ма'лумотларга айлантириш керак. Бундан ташқари, CРУД ма'лумотлар операциялари учун интерфейсни тақдим этиши керак. Умуман олганда, ма'лумотлар омборида о'заро та'сир қилиш учун СҚЛ кодини ёзиш заруратидан халос бо'лиш керак[2]
Реляцион МОБТ
Ма'лумотларни сақлаш муаммосининг ечими бор - бу реляцион ма'лумотлар базасини бошқариш тизимларидир. Обектга ё'налтирилган ма'лумотларни сақлаш учун реляцион ма'лумотлар базасидан фойдаланиш семантик узилишга олиб келади, дастурчиларни ма'лумотларни об'эктга ё'налтирилган тарзда қайта ишлашга қодир бо'лиши керак бо'лган дастурий та'минотни ёзишга мажбур қилади, лекин бу ма'лумотларни реляцион шаклда сақлаш. Икки хил ма'лумотлар шакли о'ртасида конвертация қилишнинг доимий эҳтиёжи нафақат унумдорликни сезиларли даражада пасайтиради, балки дастурчилар учун қийинчиликларни келтириб чиқаради, чунки ма'лумотларнинг иккала шакли бир-бирига чекловлар қо'яди.
Реляцион ма'лумотлар омборлари оддий ма'лумотларни ифодаловчи жадваллар то'пламидан фойдаланади. Қо'шимча ёки тегишли ма'лумотлар бошқа жадвалларда сақланади. Ко'пинча, реляцион ма'лумотлар базасида битта обектни сақлаш учун бир нечта жадваллардан фойдаланилади; бу эса, о'з навбатида, уни қайта ишлаш учун обектга тегишли барча ма'лумотларни олиш учун ЖОИН операциясини талаб қилади. Масалан, қайдлар китоби ма'лумотларини сақлаш учун камида иккита жадвал бо'лиши мумкин: одамлар ва манзиллар ва телефон рақамлари бо'лган жадвал.
Реляцион ма'лумотлар омборини бошқариш тизимлари одатда муносабатларнинг физик қатламининг реляцион тасвирини амалга оширмаганлиги сабабли, бир нечта кетма-кет со'ровларни бажариш (бир хил "обекттга ё'налтирилган" ма'лумотлар тузилмасини назарда тутувчи) жуда қимматга тушиши мумкин. Хусусан, “Фалон фойдаланувчини, унинг барча телефонлари ва барча манзилларини топинг ва уларни шу форматда қайтаринг” каби биргина сўров “Фойдаланувчини топинг. Унинг манзилини топинг. Унинг телефонларини топинг.” каби бир қатор сўровларга қараганда тезроқ бўлиши мумкин. Бу оптималлаштирувчининг иши ва со'ровни таҳлил қилиш нархига бог'лиқ.
Ба'зи ОРМ иловалари хотирадаги обектларни ма'лумотлар омбори билан автоматик равишда синхронлаштиради. Буни амалга ошириш учун обектни СҚЛга о'згартирувчи СҚЛ со'ровини (ДБ билан алоқани амалга оширадиган синф) яратгандан со'нг, олинган ма'лумотлар барча бошқа ОРМ иловаларида бо'лгани каби обектнинг майдонларига ко'чирилади. Шундан со'нг, обект ушбу қийматлардаги о'згаришларни кузатиши ва уларни ма'лумотлар омборига ёзиши керак.
Реляцион ма'лумотлар омборини бошқариш тизимлари ма'лумотлар омборининг катта майдонига та'сир қилувчи глобал со'ровлар бо'йича яхши самарадорликни ко'рсатади, аммо кичик ҳажмдаги ма'лумотлар билан ишлашда обектга ё'налтирилган кириш самаралироқ бо'лади, чунки у обект ва реляцион шакллар о'ртасидаги семантик бо'шлиқни камайтиради.
Ечим
Реляцион ма'лумотлар омборларида сақлаш учун обектларни о'згартириш заруратини бартараф этиш учун ко'плаб пакетлар ишлаб чиқилган.
Ба'зи пакетлар ушбу конвертацияларни автоматик равишда амалга оширадиган синф кутубхоналарини тақдим этиш орқали бу муаммони ҳал қилади. Ма'лумотлар омборидаги жадваллар ва дастурдаги обектлар ро'йхатига эга бо'лган ҳолда, улар автоматик равишда со'ровларни бир турдан иккинчисига айлантиради. "Одам" обектини со'раш натижасида (манзиллар китоби мисолидан) керакли СҚЛ со'рови ҳосил бо'лади ва бажарилади со'нг натижалар дастур доирасида "телефон рақами" обектларига "сеҳрли" тарзда о'згартирилади.
Дастурчи нуқтаи назаридан тизим обектларнинг доимий омбори каби ко'риниши керак. У оддийгина обектларни яратиши ва улар билан одатдагидек ишлаши мумкин ва улар автоматик равишда реляцион ма'лумотлар омборида сақланади.
Манбалар
Бу мақола бирорта туркумга қўшилмаган. Илтимос, мақолага алоқадор туркумлар қўшиб ёрдам қилинг. (Апрел 2024) |