Základní principy NoSQL databáze

Technicka podpora
2016-12-16 09:33

Často se u zákazníků setkáváme s požadavkem na instalaci NoSQL databází. Tyto databáze jsou obecně známé svojí snadnou škálovatelností a rychlostí. To je ale vykoupeno tím, jak je databáze interně navržena.  

Každá noSQL databáze je navržena ta, aby splňovala principy CAP  

  • Consistency: Všichni klienti vidí poslední data a to včetně prováděných updatů
  • Availability: Všichni klienti mohou nalézt repliku dat v případě selhání nějakého nodu. To znamená, že je možné přistupovat k datům i v situaci, kdy je část nodů z clusteru nedostupná
  • Partition tolerance: Databáze je schopna provozu i v situaci, kdy část nodů je nedostupná.  

Oproti transakčním databázím splňující ACID je to pochopitelně velké omezení. V NoSQL není zajištěna atomicita dat a repliky jsou obvykle asynchronní. Při návrhu aplikace je třeba na tato omezení myslet, NoSQL databáze pro některé typu dat nejsou vhodná. Typickým příkladem špatného použití je jakákoliv manipulace s penězmi – ukládat do NoSQL finanční trasakce, volný kredit zákazníka v aplikaci/službě apod. Tento typ dat je vždy nutné ukádat do databáze splňující principy ACID.

Motivace pro použití NoSQL jsou především snadný návrh aplikace, jednoduché škálování a schopnost ukládání velkého množství dat.

Při výběru správné NoSQL je třeba si jednoznačně určit s jakým typem dat bude aplikace pracovat a podle toho zvolit správný produkt. Nejtypičtějším použitím je ukládání dat typu klíč-hodnota, ale existují databáze pro speciální použití například pro ukládání dokumentů, grafů, objektů, xml apod. Existují i databáze univerzální, které podporují více způsobů ukládání dat. Zvolit si správný produkt přesně pro potřeby konkrétního projektu je klíčové.

Průměrné hodnocení: 0 (0 hlasů)

K tomuto záznamu nemůžete připojit komentář.