ACID ປົກປ້ອງຂໍ້ມູນຂອງຖານຂໍ້ມູນຂອງທ່ານ
ຮູບແບບ ACID ຂອງການອອກແບບຖານຂໍ້ມູນແມ່ນຫນຶ່ງໃນແນວຄິດທີ່ເກົ່າແກ່ແລະສໍາຄັນທີ່ສຸດຂອງທິດສະດີຖານຂໍ້ມູນ. ມັນກໍານົດສີ່ເປົ້າຫມາຍທີ່ທຸກໆລະບົບການຄຸ້ມຄອງຖານຂໍ້ມູນຕ້ອງສູ້ເພື່ອປະຕິບັດ: atomicity, consistency, isolation and durability. ຖານຂໍ້ມູນທີ່ກ່ຽວຂ້ອງທີ່ບໍ່ສາມາດຕອບສະຫນອງເປົ້າຫມາຍສີ່ເປົ້າຫມາຍເຫຼົ່ານີ້ບໍ່ສາມາດຖືວ່າເປັນທີ່ເຊື່ອຖືໄດ້. ຖານຂໍ້ມູນທີ່ມີຄຸນລັກສະນະເຫຼົ່ານີ້ຖືກຖືວ່າຖືກຕ້ອງຕາມມາດຕະຖານ ACID.
ACID ກໍານົດ
ຂໍໃຫ້ພິຈາລະນາເບິ່ງແຕ່ລະລັກສະນະເຫຼົ່ານີ້ໂດຍລະອຽດ:
- ປະລໍາມະນູກ່າວວ່າການດັດແປງຖານຂໍ້ມູນຕ້ອງປະຕິບັດຕາມກົດລະບຽບ "ທັງຫມົດຫຼືບໍ່ມີຫຍັງ". ແຕ່ລະການເຮັດທຸລະກໍາແມ່ນ "atomic". ຖ້າຫາກວ່າສ່ວນຫນຶ່ງຂອງການເຮັດທຸລະກິດລົ້ມເຫລວ, ການເຮັດທຸລະກິດທັງຫມົດລົ້ມເຫລວ. ມັນເປັນສິ່ງສໍາຄັນທີ່ລະບົບການຄຸ້ມຄອງຖານຂໍ້ມູນຮັກສາລັກສະນະຂອງປະຕິກິລິຍາຂອງທຸລະກິດເຖິງວ່າຈະມີລະບົບ DBMS, ລະບົບປະຕິບັດການຫຼືຄວາມລົ້ມເຫຼວຂອງຮາດແວ.
- ຄວາມສອດຄ່ອງລະ ບຸວ່າຂໍ້ມູນທີ່ຖືກຕ້ອງພຽງແຕ່ຈະຖືກຂຽນໄວ້ໃນຖານຂໍ້ມູນ. ຖ້າເຫດຜົນບາງຢ່າງ, ການເຮັດທຸລະກໍາຖືກປະຕິບັດທີ່ຖືກລະເມີດກົດລະບຽບຂອງຖານຂໍ້ມູນ, ການເຮັດທຸລະກໍາທັງຫມົດຈະຖືກມ້ວນຄືນແລະຖານຂໍ້ມູນຈະຖືກຟື້ນຟູຄືນໃຫມ່ໃຫ້ກັບລັດທີ່ສອດຄ່ອງກັບກົດລະບຽບເຫລົ່ານັ້ນ. ໃນທາງກົງກັນຂ້າມ, ຖ້າການປະຕິບັດການປະຕິບັດງານໄດ້ຜົນ, ມັນຈະໃຊ້ຖານຂໍ້ມູນຈາກລັດຫນຶ່ງທີ່ສອດຄ່ອງກັບກົດລະບຽບກັບລັດອື່ນທີ່ສອດຄ່ອງກັບກົດລະບຽບ.
- ການແຍກແຮງງານ ຮຽກຮ້ອງໃຫ້ມີການເຮັດທຸລະກໍາຫຼາຍໆຄັ້ງທີ່ເກີດຂື້ນໃນເວລາດຽວກັນບໍ່ມີຜົນກະທົບຕໍ່ການປະຕິບັດຂອງແຕ່ລະຄົນ. ຕົວຢ່າງເຊັ່ນຖ້າ Joe ອອກການເຮັດທຸລະກໍາກັບຖານຂໍ້ມູນໃນເວລາດຽວກັນທີ່ນາງມາໄລອອກການໂອນເງິນທີ່ແຕກຕ່າງກັນ, ທັງສອງການເຮັດທຸລະກໍາຄວນຈະເຮັດວຽກຢູ່ໃນຖານຂໍ້ມູນໃນລັກສະນະໂດດດ່ຽວ. ຖານຂໍ້ມູນຄວນປະຕິບັດການໂອນທັງຫມົດຂອງ Joe ກ່ອນທີ່ຈະດໍາເນີນການຂອງ Mary, ຫຼື vice-versa. ນີ້ຈະປ້ອງກັນການຊື້ຂາຍຂອງ Joe ຈາກການອ່ານຂໍ້ມູນລະດັບກາງທີ່ຜະລິດເປັນຜົນຂ້າງຄຽງຂອງສ່ວນຫນຶ່ງຂອງການຊື້ຂາຍຂອງ Mary ທີ່ຈະບໍ່ໄດ້ຮັບການມອບຫມາຍໃນຖານຂໍ້ມູນ. ໃຫ້ສັງເກດວ່າຄຸນສົມບັດການໂດດດ່ຽວບໍ່ໄດ້ຮັບປະກັນວ່າການເຮັດທຸລະກໍາຈະດໍາເນີນການທໍາອິດ - ພຽງແຕ່ວ່າການໂອນເງິນຈະບໍ່ແຊກແຊງກັນ
- ຄວາມທົນທານ ຮັບປະກັນວ່າທຸລະກໍາໃດໆທີ່ກ່ຽວຂ້ອງກັບຖານຂໍ້ມູນຈະບໍ່ສູນເສຍ. ຄວາມທົນທານຖືກຮັບປະກັນໂດຍຜ່ານການນໍາໃຊ້ຖານຂໍ້ມູນການສໍາຮອງຂໍ້ມູນແລະບັນທຶກການເຮັດທຸລະກໍາທີ່ຊ່ວຍໃຫ້ການຟື້ນຟູການເຮັດທຸລະກໍາທີ່ມີຄວາມຫມັ້ນທ່ຽງເຖິງແມ່ນວ່າຈະມີການລົ້ມລະລາຍຊໍແວຫຼືຮາດແວຕໍ່ໄປ.
ວິທີ ACID ເຮັດວຽກໃນການປະຕິບັດ
ຜູ້ຄຸ້ມຄອງຖານຂໍ້ມູນໃຊ້ຍຸດທະສາດຕ່າງໆເພື່ອບັງຄັບໃຊ້ ACID.
ຫນຶ່ງໃນການນໍາໃຊ້ບັງຄັບໃຊ້ atomicity ແລະຄວາມທົນທານແມ່ນການ ຂຽນເຂົ້າສູ່ລະບົບລ່ວງຫນ້າ (WAL) ເຊິ່ງລາຍລະອຽດຂອງການລາຍງານທໍາອິດຖືກຂຽນເຂົ້າບັນທຶກເຊິ່ງລວມທັງການປະຕິເສດແລະເຮັດສໍາເລັດຂໍ້ມູນ. ນີ້ຈະຮັບປະກັນວ່າ, ເມື່ອມີຂໍ້ຜິດພາດຖານຂໍ້ມູນໃດໆ, ບັນທຶກແລະປຽບທຽບເນື້ອຫາຂອງມັນກັບສະຖານະຂອງຖານຂໍ້ມູນ.
ວິທີການອື່ນທີ່ໃຊ້ເພື່ອແກ້ໄຂປະລໍາມະນູແລະຄວາມທົນທານແມ່ນການຈັດຫນ້າ ເງົາ ທີ່ມີຫນ້າເງົາທີ່ສ້າງເມື່ອດັດແປງຂໍ້ມູນ. ການປັບປຸງຂອງແບບສອບຖາມແມ່ນຖືກຂຽນໄວ້ໃນຫນ້າເງົາແທນທີ່ຈະເປັນຂໍ້ມູນທີ່ແທ້ຈິງໃນຖານຂໍ້ມູນ. ຖານຂໍ້ມູນຕົວມັນເອງຖືກດັດແກ້ເມື່ອມີການແກ້ໄຂແລ້ວ.
ຍຸດທະສາດອີກອັນຫນຶ່ງເອີ້ນວ່າໂປ ໂຕະຄໍາຫມັ້ນສັນຍາສອງຂັ້ນ , ໂດຍສະເພາະແມ່ນໃນລະບົບຖານຂໍ້ມູນທີ່ແຈກຢາຍ. ອະນຸສັນຍານີ້ແຍກຄວາມຮ້ອງຂໍແກ້ໄຂຂໍ້ມູນເປັນສອງຂັ້ນຕອນ: ຂັ້ນຕອນຄໍາຮ້ອງຂໍແລະຄໍາຫມັ້ນສັນຍາ. ໃນໄລຍະການຮ້ອງຂໍ, ທຸກ DBMSs ໃນເຄືອຂ່າຍທີ່ຖືກຜົນກະທົບຈາກການເຮັດທຸລະກໍາຕ້ອງຢືນຢັນວ່າພວກເຂົາໄດ້ຮັບມັນແລະມີຄວາມສາມາດໃນການດໍາເນີນການຊື້ຂາຍ. ເມື່ອການຢືນຢັນໄດ້ຮັບຈາກບັນດາ DBMS ທີ່ກ່ຽວຂ້ອງທັງຫມົດ, ຂັ້ນຕອນຄໍາຫມັ້ນສັນຍາທີ່ສໍາເລັດໃນຂໍ້ມູນທີ່ຖືກດັດແກ້.