Domov Osobní finance Použití konzistenčních metod v NoSQL - dummies

Použití konzistenčních metod v NoSQL - dummies

Obsah:

Video: Method feeder praktiky v plytkej vode 2025

Video: Method feeder praktiky v plytkej vode 2025
Anonim

Vlastnost databáze databáze znamená, že jakmile jsou data úspěšně zapsána do databáze, dotazy, které následují, jsou schopny přistupovat k datům a získat konzistentní pohled na data. V praxi to znamená, že pokud zapíšete záznam do databáze a pak okamžitě požádáte o záznam, zaručíte to. Je zvláště užitečné pro věci, jako jsou objednávky Amazon a bankovní převody.

Konzistence je posuvná měřítka a předmět příliš hluboký, aby se zde mohl pokrýt. Avšak v prostředí NoSQL se konzistence obecně dostává do jednoho ze dvou táborů:

  • Konzistence ACID (ACID znamená Atomicity, Consistency, Izolace, Trvanlivost): ACID znamená, že jakmile jsou data zapsána, máte plnou konzistenci čte.

  • Případná konzistence (BASE): BASE znamená, že jakmile jsou data zapsána, nakonec se zobrazí pro čtení.

Bitva zuřila mezi lidmi, kteří věří, že důraz na konzistenci v databázi není nutný, a ti, kteří se domnívají, že je absolutně nutná (přeložit lidi na) "marketingové oddělení! ). Realita je někde mezi. Záleží na tom, že příspěvek na Facebooku není vidět všichni jeho přátelé po dobu pěti minut? Ne, pravděpodobně ne. Změňte "post na Facebooku" na "miliardové dolarové finanční transakce" a váš postoj se rychle mění! Který konzistenční přístup si vyberete, závisí na situaci. Podle mých zkušeností je však silná konzistence vždy volbou v kritických situacích podnikových systémů.

Tato databáze má zařízení, které vás zastaví před poškozením nebo ztrátou dat,

", což není určeno pro všechny databáze. Ve skutečnosti většina databází NoSQL neposkytuje záruku ACID.

Nadace DB, MarkLogic a Neo4j jsou pozoruhodné výjimky. Některé databáze služby NoSQL poskytují záruku nižší úrovně nazývanou Kontrola a nastavení , která ověřuje, zda někdo jiný změnil dokument dříve, než povolí dokončení transakce. Toto chování je zpravidla omezené, protože má tendenci být implementováno na základě jednoho záznamu.

MongoDB je pozoruhodná databáze, která poskytuje možnosti Kontrola a nastavení. S programem MongoDB lze v průběhu aktualizace zablokovat data v celém uzlu, čímž se zabrání všem operacím čtení a zápisu, dokud operace nebude dokončena.Společnost však pracuje na odstranění tohoto omezení. ZÁKLAD BASE znamená, že místo toho, aby byla zaručena ACID, databáze má nastavitelnou rovnováhu konzistence a dostupnosti dat. To je typické v případě, kdy uzly v daném clusteru databází fungují jako primární správci části databáze a ostatní uzly obsahují repliky pouze pro čtení.

Chcete-li zajistit, aby každý klient viděl všechny aktualizace (to znamená, že mají konzistentní zobrazení dat), zápis do primárního uzlu, který drží data, musí být zablokován, dokud nejsou všechny repliky čtené aktuální. Toto se nazývá fáze

dvě

-

fáze - změna se provádí místně, ale je aplikována a potvrzena klientovi pouze tehdy, když jsou aktualizovány všechny ostatní uzly. BASE uvolňuje tento požadavek a vyžaduje pouze aktualizaci podmnožiny uzlů obsahujících stejná data, aby transakce mohla uspět. Někdy po provedení transakce je aktualizována replika jen pro čtení. Výhodou tohoto přístupu je, že transakce jsou zavázány rychleji. Mít čitelné živé repliky také znamená, že můžete rozložit své čitelné zatížení dat a urychlit čtení. Nevýhodou je, že klienti, kteří se připojují k některým čteným replikám, mohou na neurčitou dobu vidět zastaralé informace. V některých scénářích je tento stav v pořádku. Pokud pošlete novou zprávu na Facebooku a někteří vaši přátelé ji nevidí pár minut, není to velká ztráta. Pokud však do banky posíláte platební příkaz, možná budete chtít okamžitou transakci.

Alternativním přístupem k replikám pouze pro čtení je cluster

sdílený

-

nic , ve kterém pouze jeden uzel v clusteru vždy obsluhuje určitou část databáze. Sdílené - nic neznamená, že ztratíte replikaci. Databáze, které tuto metodu používají, typicky replikují data do sekundární oblasti v jiném primárním uzlu nebo uzlech - ale pouze jeden uzel je master pro čtení a zápis kdykoli. Sdružené sdílené skupiny nemají výhodu jednoduššího modelu konzistence, ale vyžadují dvoufázové odhodlání replikovat. To znamená, že transakce se zablokuje při aktualizaci všech replik. (Interní zámek a uzamčení pro jiné uzly vám dávají dvě fáze.) Toto obvykle má menší vliv než sdílené datové seskupení s repliky pouze pro čtení, ačkoli, protože oblasti s daty replik sdílené-žádné zprávy neobdrží žádosti o čtení části databáze. Proto jsou dvoufázové spáchání rychlejší na clusteru sdílené-nic než na clusteru s čitelnými replikami.

Výběr ACID nebo BASE?

Jak můžete očekávat, hodně z argumentu je, protože prodejci NoSQL se mohou odlišit od svých konkurentů tím, že tvrdí jiný a jedinečný přístup. Je zajímavé si uvědomit, že počet prodejců společnosti NoSQL s dodržováním předpisů ACID je v jejich plánu.

Některé databáze NoSQL mají na svém plánu soulad s ACID, i když jsou zastánci BASE, což ukazuje, jak důležité jsou záruky ACID pro systémy

enterprise, mission

-

critical . Mnoho společností používá produkty BASE-konzistence při testování nápadů, protože jsou volné, ale poté migrují na placenou databázi kompatibilní s ACID, když chtějí žít v kritickém systému. Nejjednodušší způsob, jak rozhodnout, zda potřebujete ACID, je zvážit interakce, které lidé a další systémy mají s vašimi daty. Například pokud přidáte nebo aktualizujete data, je důležité, aby další dotaz mohl vidět změnu? Jinými slovy, jsou důležitá rozhodnutí, která visí na aktuálním stavu databáze? Viděli by mírně zastaralé údaje znamenat, že tato rozhodnutí mohou být fatálně vadná? V oblasti finančních služeb je nutná konzistentnost. Mysli na obchodníky, kteří nakupují akcie. Potřebují před obchodováním zkontrolovat hotovostní zůstatky, aby zajistily, že mají peníze na pokrytí obchodu. Pokud nevidí správnou vyváženost, rozhodnou se, že vynakládají peníze na jinou transakci. Pokud je databáze, na kterou dotazují, jen nakonec konzistentní, nemusí vidět dostatek finančních prostředků, a tak vystavit svou organizaci finančnímu riziku.

Podobné případy mohou být vytvořeny pro ACID nad BASE ve zdravotnictví, obraně, zpravodajství a dalších odvětvích. To všechno se snižuje na data a důležitost včasnosti a zabezpečení dat.

Použití konzistenčních metod v NoSQL - dummies

Výběr redakce

Vyhněte se rizikům softwaru při dolování dat - figuríny

Vyhněte se rizikům softwaru při dolování dat - figuríny

Vaše projekty pro dolování dat začínají plány. Dokud nedefinujete, co máte v úmyslu dosáhnout a vaše vlastní pracovní požadavky, nemusíte se soustředit na software. Dobrá příprava vás chrání před těmito běžnými riziky: Nedostatečná schopnost softwaru: Noví datováři často zjistí, že software, který si vybrali, ...

Použití konzistenčních metod v NoSQL - dummies

Použití konzistenčních metod v NoSQL - dummies

Vlastnost konzistence databáze znamená, že po úspěšném zápisu dat do databáze , následující dotazy mají přístup k datům a získávají konzistentní pohled na data. V praxi to znamená, že pokud zapíšete záznam do databáze a pak okamžitě požadujete tento záznam, máte záruku, že ...

Velké etapy plánování dat - figuríny

Velké etapy plánování dat - figuríny

ČTyři fáze jsou součástí procesu plánování, který se týká velkých dat. Vzhledem k tomu, že více podniků začne používat cloud jako způsob, jak nasadit nové a inovativní služby zákazníkům, bude explodovat úloha analýzy dat. Zvažte tedy další část procesu plánování a přidejte do svých dat další tři etapy ...

Výběr redakce

Jak zadat WBS v projektu 2013 - dummies

Jak zadat WBS v projektu 2013 - dummies

Program by měl být nastaven stejným způsobem jako WBS v projektu 2013. Pokud chcete pokračovat schéma číslování obrysů z WBS, projekt automaticky rozšiřuje na plánovací úlohy číslování osnovy použité pro WBS. Můžete to provést dvěma způsoby: Vyberte kartu Formát. Ve sloupcích ...

Jak identifikovat typy úkolů v projektu 2013 - figuríny

Jak identifikovat typy úkolů v projektu 2013 - figuríny

, Než začnete zadávat trvání úkolu. typů úkolů v projektu 2013; mají vliv na to, jak projekt naplánuje práci úlohy pomocí režimu automatického plánování poté, co začnete přiřazovat zdroje. V podstatě váš výběr typu úkolu určuje, který prvek úlohy zůstává konstantní (nijak se liší), když ...

Jak vyvíjet plán správy komunikace v projektu 2013 - figuríny

Jak vyvíjet plán správy komunikace v projektu 2013 - figuríny

Při plánování projekt v projektu 2013, zvážit, jaké informace musíte vy (nebo jiný zúčastněný subjekt) sledovat. Často jsou tyto informace uloženy v samostatném dokumentu známém jako plán správy komunikace. Plán správy komunikace může být složitý - nebo stejně jednoduchý jako tabulka aplikace Word nebo tabulka aplikace Excel. Zadáváte ...

Výběr redakce

Jak může bezolovnatá deska pomoci testovat elektronické obvody - figuríny

Jak může bezolovnatá deska pomoci testovat elektronické obvody - figuríny

Bezvařová deska pro testování návrhů elektronických obvodů je, že pokud obvod nefunguje tak, jak to očekáváte, můžete provést změny obvodu jednoduše tím, že vytáhnete součásti nebo propojovací vodiče a vložíte je na místo. Všechna plachetnice se skládají z několika stovek ...

Jak spájkovací práce v elektronice - figuríny

Jak spájkovací práce v elektronice - figuríny

Vytváří silné fyzické spojení mezi kovy, ale také vytváří vynikající vodivou cestu pro proudění elektrického proudu z jednoho vodiče do druhého. Je to proto, že samotná pájka je vynikajícím dirigentem. Pájení se týká procesu spojování dvou nebo ...

Získávání kabeláže pomocí Nanowires - figuríny

Získávání kabeláže pomocí Nanowires - figuríny

Jsou prostě velmi drobné dráty. Jsou složeny z kovů, jako je stříbro, zlato nebo železo, nebo polovodiče, jako je křemík, oxid zinečnatý a germanium. Nanočástice se používají k vytvoření těchto malých nanovláken, které mohou mít průměr menší než 3 nanometry. Pěstování nanočástice Výroba nanočástice je podobná nanotrubím; to ...