Pag-abog sa ACID sa Pabor sa BASE sa Database Engineering

Ang mga relational nga mga database gimugna uban sa pagkakasaligan ug pagkamakanunayon sa ilang kinauyokan. Ang mga inhinyero nga nagpalambo kanila nag-focus sa usa ka transaksyonal nga modelo nga nagsiguro nga ang upat ka mga prinsipyo sa ACID nga modelo kanunay nga mapreserbar. Apan, ang pag-abut sa usa ka bag-o nga unstructured database model mao ang pagbalik sa ACID sa iyang ulo. Ang NoSQL database model nga eschews ang highly structured relational modelo sa pabor sa usa ka flexible nga paagi / bililhon nga tindahan nga paagi. Kini nga wala'y natun-an nga pamaagi sa datos nagkinahanglan og usa ka alternatibo sa modelo sa ACID: ang modelo sa BASE.

Basic Tenets sa ACID Model

Adunay upat ka mga prinsipyo sa ACID model:

Ang atomicity sa mga transaksyon nagsiguro nga ang matag transaksyon sa database usa ka yunit nga nagsagop sa usa ka "tanan o wala" nga pamaagi sa pagpatay. Kon ang bisan unsa nga pahayag sa transaksyon mapakyas, ang tibuok nga transaksiyon ibalik.

Ang mga relational nga mga database usab nagsiguro sa pagkamakanunayon sa matag transaksiyon sa mga lagda sa negosyo sa database. Kon ang bisan unsa nga elemento sa usa ka atomic nga transaksyon makatugaw sa pagkamakanunayon sa database, ang tibuok transaksiyon mapakyas.

Ang database engine nagpatuman sa pagkahimulag tali sa daghang mga transaksyon nga nahitabo sa o duol sa samang panahon. Ang matag transaksiyon mahitabo sa wala pa o pagkahuman sa tanan nga mga transaksyon ug ang panglantaw sa database nga makita sa usa ka transaksyon sa sinugdanan ang giusab lamang sa transaksyon mismo sa wala pa kini mahuman. Walay transaksyon nga kinahanglan nga makita ang tunga nga produkto sa laing transaksiyon.

Ang katapusang prinsipyo sa ACID, durability , nagsiguro nga sa higayon nga ang usa ka transaksyon nahimo sa database, kini permanente nga mapreserbar pinaagi sa paggamit sa mga pag-backup ug mga troso sa transaksyon. Sa panghitabo sa usa ka kapakyasan, kini nga mga mekanismo mahimong gamiton aron mapasig-uli ang nahimo nga mga transaksyon.

Core nga mga Prinsipyo sa BASE

Ang NoSQL databases, sa pikas bahin, naglakip sa mga sitwasyon diin ang ACID nga modelo sobra o kaha, sa pagkatinuod, makababag sa operasyon sa database. Hinunoa, ang NoSQL nagsalig sa usa ka mas hinay nga modelo nga nailhan, sa tukma, ingon nga modelo sa BASE. Kini nga modelo nagpahigayon sa pagka-flexible nga gitanyag sa NoSQL ug susama nga mga pamaagi sa pagdumala ug pagtipig sa unstructured data. Ang BASE naglangkob sa tulo ka mga prinsipyo:

Basic Availability . Ang NoSQL database nga pamaagi nagtutok sa pagkabaton sa datos bisan pa sa presensya sa daghang kapakyasan. Naangkon kini pinaagi sa paggamit sa usa ka gipanagtag nga pamaagi sa pagdumala sa database. Imbis nga magmentinar sa usa ka dako nga tindahan sa datus ug mag-focus sa fault tolerance sa maong tindahan, ang mga database sa NoSQL mikaylap sa daghang mga storage system nga adunay taas nga pagsalmot. Sa dili tingali nga panghitabo nga ang usa ka kapakyasan nagbungkag sa access sa usa ka bahin sa datos, kini dili kinahanglan nga moresulta sa usa ka bug-os nga outage sa database.

Humok nga Estado . BASE nga mga database gibiyaan ang mga kinahanglanon sa pagkamakanunayon sa modelo sa ACID halos bug-os. Usa sa mga nag-unang konsepto sa likod sa BASE mao nga ang pagkamakanunayon sa datos mao ang problema sa tigpasiugda ug dili angay nga pagdumala sa database.

Kadali nga Pagkahan-ay . Ang bugtong kinahanglanon nga ang mga database sa NoSQL adunay kabahin sa pagkamakanunayon mao nga kinahanglan nga sa usa ka punto sa umaabot, ang datos magkatakdo sa kanunay nga kahimtang. Walay mga garantiya ang nahimo, hinoon, kon kanus-a mahitabo kini. Kana usa ka hingpit nga pagbiya gikan sa dinalian nga kinahanglanon sa pagkonsolida sa ACID nga nagdili sa usa ka transaksyon gikan sa pagpatuman hangtud nga ang nahuman nga transaksyon nahuman na ug ang database nagkatigum sa usa ka makanunayon nga kahimtang.

Ang BASE nga modelo dili angay sa matag sitwasyon, apan kini usa ka flexible nga alternatibo sa modelo sa ACID alang sa mga database nga wala magkinahanglan og hugot nga pagsunod sa usa ka relational nga modelo.