BASE Model vývoja databázy

Obsah:

BASE Model vývoja databázy
BASE Model vývoja databázy
Anonim

Relačné databázy sú navrhnuté s dôrazom na spoľahlivosť a konzistentnosť. Inžinieri, ktorí ich vyvinuli, sa zamerali na transakčný model, ktorý zaisťuje, že štyri princípy modelu ACID budú vždy zachované. Príchod nového neštruktúrovaného databázového modelu však staví ACID na hlavu. Databázový model NoSQL sa vyhýba vysoko štruktúrovanému relačnému modelu v prospech flexibilného prístupu k ukladaniu kľúčov a hodnôt. Tento neštruktúrovaný prístup k údajom vyžaduje alternatívu k ACID modelu: BASE model.

Image
Image

Základné princípy modelu ACID

Existujú štyri základné princípy modelu ACID:

  • atomicita transakcií zaisťuje, že každá databázová transakcia je jednou jednotkou, ktorá využíva prístup „všetko alebo nič“. Ak niektorý výpis v transakcii zlyhá, celá transakcia sa vráti späť.
  • Relačné databázy tiež zabezpečujú konzistenciu každej transakcie s obchodnými pravidlami databázy. Ak by akýkoľvek prvok atómovej transakcie narušil konzistenciu databázy, celá transakcia zlyhá.
  • Databázový nástroj vynucuje izoláciu medzi viacerými transakciami, ktoré sa vyskytujú v rovnakom čase alebo takmer v rovnakom čase. Každá transakcia prebieha buď pred, alebo po každej ďalšej transakcii a pohľad na databázu, ktorý transakcia vidí na svojom začiatku, je zmenený až samotnou transakciou pred jej uzavretím. Žiadna transakcia by nikdy nemala vidieť medziprodukt inej transakcie.
  • Konečný princíp ACID, durability, zaisťuje, že akonáhle je transakcia zapísaná do databázy, je natrvalo zachovaná pomocou záloh a transakčných protokolov. V prípade zlyhania možno tieto mechanizmy použiť na obnovenie potvrdených transakcií.

Základné princípy BASE

Na druhej strane databázy NoSQL zahŕňajú situácie, keď je ACID model prehnaný alebo by v skutočnosti bránil fungovaniu databázy. Namiesto toho sa NoSQL spolieha na mäkší model známy ako BASE model. Tento model využíva flexibilitu, ktorú ponúka NoSQL a podobné prístupy k správe a správe neštruktúrovaných údajov. BASE pozostáva z troch princípov:

  • Základná dostupnosť Databázový prístup NoSQL sa zameriava na dostupnosť údajov aj v prípade viacerých zlyhaní. Dosahuje to použitím vysoko distribuovaného prístupu k správe databáz. Namiesto udržiavania jedného veľkého úložiska údajov a zamerania sa na odolnosť tohto úložiska voči chybám, databázy NoSQL rozširujú údaje do mnohých úložných systémov s vysokým stupňom replikácie. V nepravdepodobnom prípade, že zlyhanie preruší prístup k segmentu údajov, nemusí to nevyhnutne viesť k úplnému výpadku databázy.
  • Mäkký stav. BASE databázy takmer úplne opúšťajú požiadavky na konzistenciu ACID modelu. Jednou zo základných koncepcií BASE je, že konzistencia údajov je problémom vývojára a nemala by ju riešiť databáza.
  • Prípadná konzistencia Jedinou požiadavkou, ktorú majú databázy NoSQL týkajúce sa konzistencie, je požiadavka, aby sa v určitom bode v budúcnosti údaje zblížili do konzistentného stavu. Neexistujú však žiadne záruky o tom, kedy k tomu dôjde. To je úplný odklon od požiadavky na okamžitú konzistenciu ACID, ktorá zakazuje vykonanie transakcie, kým sa nedokončí predchádzajúca transakcia a databáza sa nekonverguje do konzistentného stavu.

V BASE môže základná dostupnosť znamenať, že nemáte pod kontrolou ani zdroje údajov. Ako súčasť svojho úsilia môžete napríklad odkazovať na verejné súbory údajov.

Relatívne prípady použitia

Model BASE nie je vhodný pre každú situáciu, ale určite je flexibilnou alternatívou k modelu ACID pre databázy, ktoré nevyžadujú prísne dodržiavanie relačného modelu.

Optimálne prípady použitia pre databázy využívajúce ACID závisia od vysoko štruktúrovaných údajov s predvídateľnými vstupmi a výstupmi. Databázy ľudských zdrojov, maloobchodné databázy a elektronické lekárske záznamy teda ťažia z robustnej kontroly vnútornej konzistencie, ktorú ACID ponúka.

Riešenia BASE sú však lepšie pre nejasné predmety, ako je analýza sentimentu. Napríklad projekt so štruktúrou BASE by mohol skenovať informačný kanál Twitter a hľadať slová, ktoré naznačujú emócie na základe konkrétneho hashtagu. Informačný kanál Twitteru nie je dobre štruktúrovaný ani nie je vytvorený lokálne, ale tok údajov ponúka informácie, ktoré sú naprogramované do dopytov, aj keď rozsah a povaha týchto údajov nie sú presne ohraničené.

Odporúča: