Реляциялық мәліметтер қоймасының сыртқы жадының құрылымы
Реляциялық ДҚБЖ сыртқы жадыны ұйымдастыруға бірқатар ерекшеліктері бар. Ең бір маңызды ерекшеліктеріне келесілерді жатқызуға болады.
Мәліметтер құрылымының жүйелігі. Мәліметтердің реляциялық моделінің негізгі обьекті жалпақ таблица болғандықтан. Сыртқы жады обьектілерінің жиынының қарапайым біркелкі құрылымы бар. Сонымен қатар тілдік деңгейдегі операторлардың тек бір қатынаспен (жай селекция мен проекция) ғана емес бірнеше қатынаспен (көп еңбекпен қосылатын бірнеше қатынастың көбірек таралуы) тиімді орындалуын қамтамасыз ету керек. Ол үшін сыртқы жадыда қосымша «басқарушылар» құрылымдары – индекстер қолданылуы қажет.
· Сыртқы жадыда мәліметтерді басқарудың ішкі жүйесінің біркелкі жұмыс істеуі үшін, тек осы ішкі жүйеде пайдаланылатын, бірақ тілдік деңгейдегі ішкі жүйеге көрінбейтін каталог-қатынастар түріндегі ақпаратты колдау керек. Сыртқы жады құрылымы көзқарасымен қарағанда каталог-қатынынасы қалыпты мәліметтер қоймасы қатынасынан ешқандай айырмасы жоқ. Қызметтік ақпарат құрылымының жиынтығы жүйенің жалпы ұйымдастырмауына байланысты, бірақ келесі қызметтік мәліметтердің қолдауын қалайды;
· Мәліметтер қоймасы объектілерінің жеке қасиеттерін көрсететін ішкі каталогтар, оның ішінде мысалы қатынастар атрибуттарының саны, олардың көлемі, мүмкін мәліметтер түрлері, осы қатынастар үшін анықталған индекстерді баяндап жазу;
· Қатынастар беттерінде бос және бос емес жадыны жазып баяндаушылар. Мұндай ақпарат кортеждерді енгізгенде бос орынды таңдау үшін қажет. Кластерленген және кластерленбеген қатынастар жағдайында бос орын табу мәселелерін жеке қарастырып шешу қажет;
· Бір қатынастың беттерін байланыстыру. Егер сыртқы жадының бір файлында бірнеше қатынастың беттері орналаса алсы, онда әйтеуір бір қатынастың бірнеше беттерін байланыстыру қажет. Беттердің арасында тікелей сілтеме жасаудың қарапайым тәсілдерін қолдану транзакцияларды синхронизациялауда қиындықтарға келтіреді (мысалы қатынастардың жаңа беттерін босату және игеру қиынға түсуі). Сондықтан беттерді қызметтік индекстерді қолдана отырып жанама байланыстарды пайдалануға тырысады. Жекеше айтқанда В-ағаштар негізінде бос жадыны баяндап жазу және беттерді пайдаланудың жалпы принциптері белгілі;
Мәліметтер қоймасын берік сақтау талабын орындау үшін мәліметтерді артық сақтауды қолдау керек, ол негізінен мәліметтер қоймасы журналы түрінде іске асады;
Жүйенің екі деңгейі болады; мәліметтерді сыртқы жадыда тікелей басқару деңгейі (сонымен қатар оперативті жадының буферлерін басқару, транзакцияларды және ДҚ өзгерістерін журнализациялауды басқару) және тіл деңгейі (мысалы SQL тілін жүзеге асырушы). Осылай ұйымдастырғанда төменгі деңгейдің ішкі системасы сыртқы жадыны қолдауы керек, өйткені негізгі құрылымдардың оларды нақты интерпретацилауды жоғарғы деңгейдің қызметіне кіреді.
Осыларға сәйкес мәліметтер қоймасын сыртқы жадында әрқилы объектілер пайда болады:
Қатынастар жолдары – көп бөлігі пайдаланушыларға нақты көрінетін мәліметтер қоймасын нақты бөлігі;
Басқарушы құрылымдар – пайдаланушылар (администратор) ынтасымен туындайтын индекстер немесе сұраныстардың орындалысының тиімділігін арттыру мақсатында және қалыпты жүйенің төменгі деңгейі қолдайтын жүйенің жоғарғы деңгейі;
Мәліметтерді берік сақтау қажеттігін қанағаттандыруды қолдайтын журналдық ақпарат;
Жүйенің төменгі деңгейінің ішкі қажеттілігін қанағатандыруды қолдайтын қызметтік ақпарат (мысалы, бос жады туралы ақпарат).Қатынастарды жеке сақтаудың екі принципті жолы бар. Қатынастарды кортеж аралық сақтаудың ең көп таралған түрі (кортеж нақты сақтау бірлігі болып табылады). Бұл тұтас кортежге жылдам әкетуді қамтамасыз етеді, бірақ мұндайда сыртқы жадыда егер картеж бөлігімен ақпарт бөлігінің қажеті болса бір қатынасты әр түрлі кортеждердің жалпы мағыналары қайталанады. Бұл ұйымның негізгі қасиеттеріне келесілерді жатқызуға болады;
Әрбір кортежде кортеждің барлық өмір сүру уақытында өзгермейтін ерекше идентификаторы (tid) болады;
Әдетте әрбір кортеж тұтас бір бетте сақталады. Бұдан кез келген қатынастағы кортеждің ең үлкен ұзындығы беттің мөлшерімен шектеледі. Бір бетке сыймайтын ұзын мәліметтерді не істеу керек деген сұрақ тұрады? Бірнеше әдістер қолданылады. Мұндай мәліметтерді жеке (мәліметтер қоймасынан тыс) файлдарда кортеждегі сәйкес файлдардың атына айырбастай отырып, сақтау ең оңай шешім болып табылады. Кейбір жүйелерде мұндай мәліметтер нақты сілтемемен байластырылған сыртқы жадының жеке беттерінде сақталған. Осы екі шешімді ұзын мәліметтермен жұмыс істеуді өте қатты шектейді (мысалы 2-мегабайтты жолдың ортасынан бірнеше байтты қалай шығарып тастауға болады). Қазіргі уақытта «ұзын» мәліметтер байт тізбектілігі В-ағаштар түрінде ұйымдасқан түрдегі әдістер арқылы қолданылады;
Әдетте бір бетте тек бір қатынастың кортеждері сақталады. Бірақ бір бетте бірнеше қатынастар кортеждері сақталу мүмкіндігінің варианттары болады. Бұл қызметтік ақпарат бөлігіне байланысты кейбір қосымша шығындарға әкеледі (әрбір кортежде сәйкес қатынастар жөнінде ақпарат сақталуы керек), бірақ кейде қатынастарды орындағанда сыртқы жадымен айырбас сандарын шұғыл қысқартуға мүмкіндік жасайды;
Жаңа баған қосу арқылы қатынастар сақталу схемасының өзгеруі қатынастың нақты қайта өзгеру қажеттілігін тудырмайды. Қатынастар баяндауындағы ақпаратты өзгертсе және жаңа бағанға ақпарат енгізуде кортежді кеңейтсе жеткілікті;
Мәліметтер беттерінде жадыны бөлу мәселелері синхронизация және журнализация мәселеліне байланысты, және барлық уақытта бірдей тым қарапайым емес. Мысалы, транзакция орындау барысында мәліметтердің кейбір беті мүлде тазарып қалса, оны транзакция аяғына дейін бос беттер қатарына ауыстыруға болмайды, өйткені транзакциялар кері қайтқанда транзакцияны тікелей орындағанда және оның кері қайтқан кезінде орнына келген кортеждер нақ сол идентификаторларды алуы керек.
Қатынастарды бағандарға сақтау альтернативті және аз тараған жол, өйткені шығарылып тасталған көшірмелері бір қатынас бағаны сақтай бірлігі болып табылады.
Бұлай ұйымдасқан жағдайда мағыналар көшірмесі сақталмағандықтан орташа есеппен барлығын қосқанда сыртқы жады аз жұмсалады; сыртқы жадымен бір айырбаста жалпы алғанда көп пайдалы ақпарат оқылады. Қосылу операцияларын орындауды оңтайландыру мақсатымен қатынас бағаны мәндерін пайдалану мүмкіндігі қосымша артықшылық болып табылады. Бірақ мұндай жағдайда толық кортежді (немесе оның бөлігін) жинау үшін біршама қосымша атқару қажеттілігі керек болады.
Мәліметтер қорын қолданатын бірінші ақпараттық жүйе 60-шы жылдары (ХХ ғ.) пайда болған. Ол иерархиялық модельде негізделген болатын. Мәліметтер арасындағы қатынастардың құрылымы иерархия түрдегі болатын мәліметтер моделі иерархиялық модель болып табылады. Бұл модельдер ертерек пайда болған, қазіргі кезде осы заманғы реляциялық модельдерге қарағанда сирек қоланылады. Бірақ осы модельдер негізінде жұмыс жасайтын жүйелер әлі де бар және объектті бағытталған мәліметтер қорларының даму концепциясының бірі желілік модельді реляциялық модельмен біріктекстіруді болжайды. Нақты ортада көптеген байланыстар иерархияларға сәйкес болатыны иерархиялық модельдің пайда болуына себеп болды. Объекттер кластары арасындағы өзара байланыстарын көрсету үшін иерархия қарапайым және де орынды болады.
Иерархиялық модельде негізгі ақпараттық бірліктер мәліметтер қоры, сегмент және өріс болып табылады. Мәліметтер қорларын басқаратын жүйе көмегімен алынатын мәліметтердің минималды бөлінбейтін бірлігі мәліметтердің өрісі деп аталады. Мәліметтер қорларының мәселелерін қарастыратын DBTG (Data Base Task Group) американ ассоциациясының терминологиясы бойынша сегмент деп түсінетін бөлік жазба болып табылады. Сонымен бірге осы ассоциация терминдері бойынша екі түсініктеме: сегмент типі немесе жазба типі және де сегмент данасы немесе жазба данасы анықталады.
Мәліметтер элементтерінің аталған типтер жиыны сегмент типі деп аталады.
Мәліметтер элементтерінің немесе белгілі өрістерінің мәндерінен сегмент экземпляры құрастырылады. Иерархиялық модельде әр сегмент типі біртекті жазбалар жиынын құрастырады. Берілген жиында әртүрлі жазбаларды айыру үшін сегменттің әр типінің кілті немесе кілттік атрибуттар жиыны (өрістер, мәліметтер элементтері) болу керек. Сегмент данасын бір мағналы идентификациялайтын мәліметтер элементтерінің жиыны кілт деп аталады.
Иерархиялық модельде сегменттер бағытталған ағаш құрамды графқа бірлеседі. Графтың бағытталған қабырғалары сегменттер арасындағы иерархиялық байланыстарды көрсетеді деп есептеледі: иерархия бойынша жоғары тұрған және қарастырылып отырған сегмент типімен байланысқан сегменттің әр данасына қарастырылып отырған (бағынышты) сегмент типінің бірнеше (көп) даналары сәйкес келеді.
Иерархияның жоғарғы деңгейінде тұрған сегмент типі онымен бағытталған иерархиялық қабырғалармен байланысқан сегментке қарай логикалық бастапқы деп, ал соңғылары логикалық бағынышты деп аталады. Кейде бастапқы сегменттер аналық сегмент деп, ал бағыншыты сегменттер ұрпақтық сегменттер деп аталады.
Концептуалды деңгейде иерархиялық модель терминдерінде мәліметтер қорының сұлбасы түсініктемесі анықталады. Бөлек ағаштар жиындары иерархиялық мәліметтер қорының сүлбасы болып табылады, осы модельдегі әр ағаш физикалық мәліметтер қоры деп аталады. Әр физикалық мәліметтер қоры келесідей иерархиялық шектеулерді қанагаттандыруы керек:
- әрбір физикалық мәліметтер қорында түпті сегмент яғни логикалық бастапқы (аналық) сегменті жоқ;
- әрбір логикалық бастапқы сегмент логикалық бағынышты сегменттердің еркін санымен байланысады;
- әрбір логикалық бағынышты сегмент тек қана жалғыз аналық сегментпен байланысады.
Сегменттер даналары арасында да иерархиялық байланыстар бар болады. Аналық сегменттің бір типімен байланысқан бір типті ұрпақ даналар «егіздер» деп аталады.
Иерархиялық мәліметтер қорында файлдар бір бірімен физикалық көрсеткіштермен байланысады. Дискідегі жазбаны сақтау орынын көрсететін физикалық адрес көрсеткіш деп аталады.
Достарыңызбен бөлісу: |