Бұл оқшаулау деңгейінде мәміле басқа транзакциялардың аралық
нәтижелеріне қол жеткізе алмайды, сондықтан жоғалған жаңартулар
мен аралық деректердің проблемалары туындауы мүмкін емес. Алайда,
басқа транзакцияларды орындау кезінде алынған соңғы деректер біздің
операцияға қол жетімді болуы мүмкін. Бұл жағдайда, «лас» оқу (яғни
COMMIT командасының дерекқорында тіркелмеген деректерді бір
пайдаланушының оқуы) жобасы жоқ.
Дегенмен, бір транзакцияны жүргізу барысында, екіншісі сәтті
аяқталуы мүмкін және оған жасалған өзгертулер тіркелген.
Нәтижесінде, бірінші транзакция басқа деректер жиынымен жұмыс
істейді. Бұл проблема емес оқу мәселесі. Бұл оқшаулау деңгейінде
транзакция басқа транзакциямен жаңартылған жолды жаңарта алмайды.
Мұндай жаңартуларды орындауға тырыссаңыз, жетіспейтін жаңарту
мәселесін болдырмау үшін транзакция автоматты түрде жойылады.
Соңында, оқшауланудың ең төменгі деңгейі расталмаған немесе
«кір» деп аталады. Ол UNCOMMITED READ КОМПАНИЯСЫ деп
белгіленеді. Бұл оқшаулау деңгейінде ағымдағы транзакция аралық
және келісілмеген деректерді көреді, сондай-ақ, хайуанаттар желісі де
қол жетімді. Бірнеше транзакция бірдей жолды бір уақытта өзгертуге
тырысса, соңғы нұсқасында жолда соңғы сәтті мәміле арқылы
анықталатын мән болады. Дегенмен, оқшауланудың бұл деңгейінде де
ДББЖ жетіспейтін жаңартуларды болдырмайды.
Мәмілелерді оқшаулауды қамтамасыз ету үшін ДББЖ олардың
бірлескен іске асыруын реттеудің кез келген әдістерін қолдануы керек.
Жүйе транзакциялардың белгілі бір жиынтығын мезгілде
орындаңыз. Әртүрлі мәмілелердің мәмілелерінің қатарлас немесе
параллельде орындалатын мәміле жасау әдісі егер мәмілелерді
бірлескен жүзеге асырудың нәтижесі бірдей мәмілелердің бірізді
орындалуының нәтижесі болып табылса, серия деп аталады.
Транзакцияның сериализациясы — Бұл кейбір сериялық жоспарға
сәйкес оларды іске асыру тетігі. Осындай механизмді қамтамасыз ету -
мәмілелерді басқаруға жауапты деректер базасын басқару
компонентінің негізгі функциясы. Мәмілені сериялауға қолдау
көрсетілетін жүйе нақты оқшаулауды қамтамасыз етеді.
296
13.3.
ДЕРЕКТЕРДІ ҚАЛПЫНА КЕЛТІРУ
МЕН ТІРКЕУ ЖУРНАЛЫ
Журналға тіркеу өзгерістер - логикалық немесе физикалық
сәтсіздік жағдайында дерекқорды алдын-ала келісілген күйге
келтіру
үшін
қажетті
ақпаратты
сақтайтын
ДББЖ
функцияларының бірі. Өзгерістерді журналдандыру, яғни деректер
базасының барлық өзгерістері туралы ақпаратты сыртқы жадында
сақтау, мәмілелерді басқарумен тығыз байланысты.
Ең қарапайым жағдайларда, өзгерістерді тіркеу деректер
базасында жасалған барлық өзгерістерді сыртқы жадыға дәйекті
түрде жазуды білдіреді. Өзгерту журналы дерекқордағы барлық
деректерді өзгерту әрекеттерінің, атап айтқанда, өзгертілген
нысанның ескі және жаңа мәнін, объектіні өзгертетін
транзакцияның
жүйелік
нөмірін
қамтиды.
Осылайша
қалыптастырылған ақпарат, дерекқордағы өзгерістердің журналы
болып табылады. Журнал мәміленің бастапқы және соңғы
белгілерін және бақылау нүктесінің қабылдауын қамтиды. Жүйе
бақылау нүктелерін мезгіл-мезгіл орнатады. Бұл процесті орындау
барысында барлық тіркелмеген деректер сыртқы жадқа
ауыстырылады және бақылау нүктесі журналға жазылады. Осыдан
кейін, бақылау нүктесінің алдында жазылған мазмұн журналы
жойылуы мүмкін.
Физикалық сәтсіздікке ұшыраған жағдайда, журнал да,
дерекқордың өзі де зақымдалмаса, rollforward процесі орындалады.
Журнал алдыңғы бақылау нүктесінен бастап алдыңғы бағытта
сканерленеді. Барлық жазбалар журналды журналдың соңына
дейін шығарылады. Журналдан алынатын ақпарат сыртқы жады
деректерінің блоктарына енгізіледі, онда санның белгісі журналда
жазылғаннан аз. Егер сканерлеу барысында сәтсіздік қайталанса,
сканерлеу қайтадан басталады, бірақ шын мәнінде қалпына келтіру
тоқтаған жерінен жалғасады. Деректер базасын қалпына келтіру
қажет болған жағдайларды қарастырайық:
■
Транзакцияны дереу кері қайтару транзакциямен (ROLLBACK
командасымен) немесе СУБД жүйесімен басталуы мүмкін,
транзакция кез-келген қате болған жағдайда транзакциялардың
қайтарылуын бастауы мүмкін (мысалы, нөлге бөлу);
■
■ «жұмсақ» жүйенің істен шығуы (бағдарламалық
жасақтаманың апатты жағдайда істен шығуы) жүйелік жады
жоғалтуымен сипатталады
297
Бұл жағдайда апат кезінде туындаған барлық транзакцияларға
әсер етіледі, барлық дерекқор буферінің мазмұны жоғалады.
Дискіде сақталған деректер өзгеріссіз қалады. «Жұмсақ»
ақаулық орын алуы мүмкін, мысалы, қалпына келтірілмейтін
процессордың істен шығуының нәтижесінде;
■
Жүйелердің «қатты» істен шығуына (аппараттық құралдың
ақаулығына) сыртқы сақтау құрылғыларының зақымдалуы
сипатталады. Мысалы, дискідегі дискілердің бұзылуы немесе
авариялық электр қуатының істен шығу салдарынан
қиындықтар туындауы мүмкін.
Барлық үш жағдайда қалпына келтіру транзакция журналында
ұсынылған деректердің артықшылығы болып табылады.
Дерекқорлар, дерекқор файлдарында сақталған деректер
сияқты, қорғалуы керек. Пайдаланушы басқару жүйесі кез-келген
дерекқорда сақталатын деректердің қауіпсіздігін қамтамасыз
етудің міндетті шарты болып табылады. SQL-де дерекқор
пайдаланушылары үшін бірыңғай стандартты пәрмен жоқ - әр іске
асыруда өз командалары бар, кейде ұқсас. Бірақ нақты іске
асырылуына қарамастан, барлық негізгі қағидалар бірдей.
Дерекқордың логикалық құрылымын, кестелердің, тұтастық
шектеулердің
және
басқа
нысандардың
сілтемелерін
құрастырғаннан кейін, дерекқорға қол жеткізе алатын
пайдаланушылар шеңберін анықтау қажет.
Әдетте, ДББЖ екі деңгейлі мәліметтерге қол жеткізуді шектеуді
ұйымдастырады. Бірінші деңгейде, серверге қосылу үшін тіркелгі
деп аталатын тіркелгіні жасауыңыз қажет, ол әлі дерекқорға
қатынасуға рұқсат бермейді. Екінші деңгейде, есептік жазбаға
негізделген әрбір дерекқор сервері үшін, дерекқорға қосылу үшін
пайдаланушы жазбасын жасау керек. Пайдаланушы тіркелгісін
қосуға, өзгертуге немесе жоюға болады.Осылайша, сервер екі
деңгейлі деректерді қорғауды қамтамасыз етеді:
1) сервер деңгейіндегі аутентификация;
2) дерекқор деңгейінде сәйкестендіру
ҚОЛДАНУ БАСҚАРУ
ӘДІСІДЕРЕКТЕР ЖӘНЕ БАСҚАРУҒА
АРНАЛҒАН АРТЫҚШЫЛЫҚТАР
298
Достарыңызбен бөлісу: |