ACID таны өгөгдлийн санг хамгаалах
Өгөгдлийн сангийн ACID загвар нь мэдээллийн сангийн онолын хамгийн эртний, хамгийн чухал зарчмуудын нэг юм. Энэ нь мэдээллийн баазын менежментийн систем бүрт хүрэхийн тулд хичээх ёстой дөрвөн зорилгыг тогтоодог: atomicity, consistency, isolation and durability. Эдгээр дөрвөн зорилгын аль нэгийг хангаагүй холболтын өгөгдлийн санг найдвартай гэж үзэхгүй. Эдгээр шинж чанаруудыг агуулсан мэдээллийн санг ACID-д нийцсэн гэж үзнэ.
ACID Defined
Эдгээр шинж чанаруудыг бүгдийг нь нарийвчлан авч үзье:
- Атомчлалт гэдэг нь өгөгдлийн сангийн өөрчлөлт нь "бүгдийг эсвэл юу ч биш" дүрмийг дагах ёстой гэж заасан. Гүйлгээ бүр "атом" гэж хэлэгддэг. Хэрэв гүйлгээний нэг хэсэг нь амжилтгүй болбол бүх ажил гүйлгээ амжилтгүй болно. Өгөгдлийн сангийн менежментийн систем нь ямар нэгэн DBMS, үйлдлийн систем эсвэл тоног төхөөрөмжийн дутагдалтай байсан ч гүйлгээний атомын шинж чанарыг хадгалж үлдэх нь чухал юм.
- Зөвхөн мэдээллийн үнэн зөв өгөгдлийг мэдээллийн санд бичнэ гэж заасан байдаг. Зарим шалтгааны улмаас гүйлгээ хийгдсэн нь өгөгдлийн сангийн тогтвортой байдлын дүрмийг зөрчсөн тохиолдолд бүх гүйлгээ буцаагдах бөгөөд мэдээллийн санг эдгээр дүрмэнд нийцүүлэн төлөвт оруулна. Нөгөөтэйгүүр, хэрэв ажил гүйлгээ амжилттай хэрэгжүүлбэл, өгөгдлийн сан нь дүрмүүдтэй нийцэж буй нэг мужид дүрмэнд нийцэх болно.
- Тусгаарлах нь хоорондоо нэг зэрэг хоорондоо холбоотой олон удаагийн гүйлгээ хийхийг шаарддаг. Жишээлбэл, хэрэв Жерри Маригийн өөр өөр хэлцлийг үүсгэдэг мэдээллийн бааз руу гүйлгээ хийвэл, хоёулаа хоёулаа тусдаа мэдээллийн сантай байх ёстой. Мэдээллийн сан нь Мэригийн ажлыг гүйцэтгэхийн өмнө Жоегийн бүх гүйлгээг гүйцэтгэх ёстой. Энэ нь эцэст нь Мэригийн гүйлгээний нэг хэсэг болох өгөгдлийн санд бүртгэгдээгүй завсрын өгөгдлийг уншиж Joe-ийн гүйлгээг саатуулдаг. Тусгаарлан өмчлөх эрх нь гүйлгээ нь бие биенээ саад болохгүй байхыг хэлнэ
- Тогтвортой байдал нь мэдээллийн санд хийгдэх аливаа ажил гүйлгээ алдагдахгүй байх болно. Дараачийн програм хангамж, тоног төхөөрөмжийн эвдрэлийг үл харгалзан үйлдлийн гүйлгээг сэргээхэд туслах мэдээллийн баазыг сэргээх болон гүйлгээний бүртгэлийг ашиглах замаар тэсвэржилтийг хангана.
ACID нь практик дээр хэрхэн ажилладаг вэ
Өгөгдлийн сангийн администраторууд ACID-г хэрэгжүүлэхийн тулд хэд хэдэн стратеги ашиглаж байна
Атомчлалт болон бат бөх чанарыг хэрэгжүүлэхэд хэрэглэгддэг нь өмнө нь бүртгүүлэх (WAL) бичиглэл хийхэд ямар нэгэн гүйлгээний дэлгэрэнгүйг хоёуланг нь хоёуланг нь агуулж, мэдээллийг буцаах хоёрын аль нэгийг агуулсан бүртгэлд бичдэг. Энэ нь өгөгдлийн сангийн алдаа өгснөөр өгөгдлийн сан нь шалгаж болно бүртгэлийг өөрийн мэдээллийн санг мэдээллийн төрлөөр нь харьцуулна.
Атомчлалт болон бат бөх чанарыг сайжруулахад ашигладаг өөр нэг арга бол өгөгдөл өөрчлөгдөхөд сүүдэртэй хуудсыг бий болгох сүүдрийн пинг юм. Асуулгын шинэчлэлтүүд нь өгөгдлийн сангийн бодит өгөгдөлд бус харин сүүдэр хуудсанд бичдэг. Мэдээллийн баазыг засварлах ажил дууссаны дараа зөвхөн өөрчлөгдсөн.
Өөр нэг стратеги нь хоёр үе шатны комманд гэж нэрлэгддэг, ялангуяа түгээлтийн өгөгдлийн системд хэрэглэгддэг. Энэхүү протокол нь өгөгдлийг хоёр үе шаттай болгон өөрчлөх хүсэлтийг салгана: амлалт хүссэн үе шат ба үйлдлийн үе шат. Хүсэлтийн үе шатанд, хэлцэлд нөлөөлсөн сүлжээн дэх бүх ХМБС-ууд нь хүлээн авсан гэдгээ баталж, уг гүйлгээг гүйцэтгэх чадвартай байх ёстой. Холбогдох бүх DBMS-ээс баталгаажуулалтыг хүлээн авсны дараа өгөгдлийн үнэн зөв өөрчлөгдсөн үйлдлийн үе шат дуусна.