ACID сіздің деректер қорыңызды қорғайды
Деректер базасын құрудың ACID моделі дерекқор теориясының ең көне және маңызды тұжырымдамаларының бірі болып табылады. Әрбір дерекқорды басқару жүйесі қол жеткізуге ұмтылуы тиіс төрт мақсатты алға қойып отыр: атомдық, дәйектілік, оқшаулау және төзімділік. Осы төрт мақсаттардың кез-келгенін қанағаттандыра алмайтын реляциялық деректер базасы сенімді деп есептеуге болмайды. Бұл сипаттамаларға ие деректер базасы ACID-талаптарына сәйкес келеді.
ACID анықталды
Осы сипаттамалардың әрқайсысын егжей-тегжейлі қарастырып көрейік:
- Атомдық деректер базасының өзгеруі «бәрі де, ештеңе» ережесін сақтауы керек деп айтады. Әрбір транзакция «атом» деп аталады. Егер транзакцияның бір бөлігі сәтсіз болса, онда бүтін мәміле орындалмайды. Деректер базасын басқару жүйесі қандай да бір ДҚБЖ, операциялық жүйе немесе аппараттық құралдың істен шығуына қарамастан транзакциялардың атомдық сипатын сақтап отыру өте маңызды.
- Сәйкестік дерекқорға тек жарамды деректер ғана жазылатынын мәлімдейді. Егер қандай да бір себептермен транзакция орындалса, ол дерекқордың келісімділік ережелерін бұзса, бүкіл транзакция кері қайтарылады және дерекқор сол ережелерге сәйкес күйге келтіріледі. Екінші жағынан, егер транзакция табысты орындалса, ол басқа мемлекеттің ережелеріне сәйкес келетін және ережеге сәйкес келетін бір мемлекеттен дерекқорды алады.
- Оқшаулау бір уақытта бірнеше мәміленің орын алуын, бір-бірінің орындалуына ықпал етпеуін талап етеді. Мысалы, егер Джо деректер базасына қатысты мәміле жасаса, Марианың басқа мәміле жасағанын бір уақытта жасаса, екеуі де дерекқорда оқшауланған түрде әрекет етуі керек. Деректер базасы немесе Джо-ның бүкіл мәмілесін Марияны орындамас бұрын орындау керек немесе керісінше. Бұл Joe компаниясының транзакцияларын Мэридің транзакцияларының бір бөлігі ретінде жасалынған аралық деректерді оқуға жол бермейді, ол кейінірек деректер базасына қосылмайды. Оқшаулану сипаты бірінші транзакцияны орындауды қамтамасыз етпейтінін ескеріңіз, тек бұл операциялар бір-біріне кедергі жасамайды
- Дәлдік деректер базасына енгізілген кез-келген мәміленің жоғалмауын қамтамасыз етеді. Беріктігі деректер базасының резервтік көшірмелерін және транзакция журналдарын пайдалану арқылы қамтамасыз етіледі, бұл кез-келген кейінгі бағдарламалық жасақтамаға немесе жабдықтардың сәтсіздігіне қарамастан, жасалған мәмілелерді қалпына келтіруді жеңілдетеді.
ACID қалай жұмыс істейді?
Дерекқор әкімшілері ACID-ті қолданудың бірнеше стратегиясын қолданады.
Атомдықты және ұзақ мерзімділікті қамтамасыз ету үшін пайдаланылатын кез-келген транзакция туралы мәліметтер бірінші рет жазылған журналға жазылған алдын ала жазылған журналға (WAL) кіреді. Бұл дерекқордың сәтсіздікке ұшырауын ескере отырып, дерекқор тексере алады журналды және оның мазмұнын дерекқор күйіне салыстырыңыз.
Атомдықты және төзімділікті жою үшін қолданылатын тағы бір әдіс көлеңкелі беттің деректерді өзгерту кезінде жасалатын көлеңке-пейджинг болып табылады. Сұраудың жаңартулары дерекқордағы нақты деректерге емес, көлеңке бетіне жазылады. Дерекқордың өзі редактор аяқталғанда ғана өзгертіледі.
Тағы бір стратегия екіфазалы келісім хаттамасы деп аталады, әсіресе бөлінген дерекқор жүйелерінде пайдалы. Бұл протокол деректерді екі фазаға өзгерту туралы сұрауды бөледі: тапсырма-сұрау фазасы және орындалу кезеңі. Сұрау кезеңінде, транзакцияға әсер ететін желідегі барлық ДҚБЖ-ны олар оны алғанын және транзакцияны жүзеге асыру мүмкіндігіне ие екенін растайды. Барлық тиісті ДББЖ-ны растау алғаннан кейін, деректер нақты өзгертілген кезең аяқталады.