sql >> Databáze >  >> RDS >> Database

Co je NoSQL a jak se používá?

Co je NoSQL?

NoSQL nebo NoSQL databáze je termín používaný při odkazování na „ne SQL“ nebo „nejen SQL“ databázi. Databáze NoSQL ukládají data v jiném formátu než tradiční systémy pro správu relačních databází. To je důvod, proč je NoSQL často spojován s pojmem „nerelační“ databáze. Jednoduše řečeno, databáze NoSQL jsou moderní databáze s vysokou flexibilitou, úžasným výkonem a vytvořené pro škálovatelnost. Tyto databáze se používají, když požadujete nízkou latenci a vysokou rozšiřitelnost při práci s velkými datovými strukturami. Všestrannost NoSQL je dána povahou neomezeného ve srovnání s modely relačních databází, jako je MySQL nebo DB2.

Srovnání SQL vs. NoSQL

Mezi typy databází SQL a NoSQL existuje několik rozdílů. V níže uvedené tabulce porovnáme některé nejkritičtější varianty.

SQL NoSQL
Databáze relačních datových struktur Databáze nerelační struktury dat
Lepší pro víceřádkové transakce  Lepší pro dokumenty a soubory JSON
Databáze založené na tabulkách Databáze jsou úložiště dokumentů, párů klíč–hodnota, grafů nebo širokých sloupců
Databáze SQL jsou vertikálně škálovatelné  Databáze NoSQL jsou horizontálně škálovatelné 
Používá předdefinované schéma Používá dynamické schéma
Structured Query Language (SQL) Žádný dotazovací jazyk

Typy databází NoSQL

Existují čtyři hlavní typy databází NoSQL.

  • Úložiště dat klíč–hodnota
  • Dokumenty
  • Obchody se širokým sloupcem
  • Obchody s grafy 

Projdeme si každý z těchto typů a vysvětlíme, k čemu se používají.

Úložiště dat klíč-hodnota

Tyto typy databází používají pár klíč–hodnota jako metodu k ukládání dat v databázi. Každý pár klíč–hodnota je jedinečný a slouží jako identifikátor při provádění dotazu. Primární klíč je rozdělen na klíč oddílu a klíč řazení. Například klíč oddílu by měl uloženo ID produktu a klíč řazení by měl uložené typy produktů.

Uložené hodnoty v těchto databázích mohou být cokoli od nejjednodušších binárních objektů, jako jsou dokumenty JSON, až po videa nebo jiné masivní složité položky. Naše aplikace bude mít nad těmito hodnotami úplnou kontrolu, a proto jsou datová úložiště Key-Value považována za nejflexibilnější model NoSQL. Je důležité zmínit, že páry klíč–hodnota často nepodporují transakce, protože data, která jsou v nich uložena, jsou rozdělena a používána napříč celými clustery.

Dokumenty

Jak název napovídá, databáze NoSQL je nerelační databáze bez schémat, která ukládá a dotazuje se na data v dokumentu podobném souboru JSON. Na rozdíl od běžných tabulek MySQL shromažďují databáze úložiště dokumentů všechna data z dané entity do dokumentu. Všechna data spojená s touto entitou jsou také uložena v tomto jediném dokumentu.

Na jedné straně tedy máte relační databáze ukládající data o komoditě do tabulek a tato data jsou rozložena do několika tabulek. Na druhou stranu máte nerelační databázi úložiště dokumentů, která ukládá všechna data do jednoho souboru.

Úložiště se širokým sloupcem

Druhý název pro tyto databáze je Extensible Record Stores . Stejně jako úložiště dokumentů jsou tyto databáze se širokými sloupci také databázemi bez schémat. Tato databáze používá tabulky, řádky a sloupce jako relační databáze.

Ale je tu jeden rozdíl! Žádný ze sloupců nebo klíčů záznamu není pevný, což znamená, že název a formát se mohou lišit. To je důvod, proč jsou databáze se širokými sloupci často považovány za dvourozměrné úložiště klíč-hodnota.

Obchody s grafy

Databáze Graph Stores jsou postaveny na jednoduché datové struktuře:

Uzel — Vztah — Uzel

Tyto databáze mají tři typy datových polí. Tato pole se nazývají vrcholy a skládají se z uzlů, hran a vlastností. Tato pole se používají k ukládání a reprezentaci dat v úložištích Graph.

Graf ukládá práci sběrem dat v rámci uzlu a hrany ukládají vztah mezi každým uzlem. Každá hrana má čtyři součásti:počáteční uzel, koncový uzel, typ a směr. Tato struktura je potřebná, protože jeden uzel může mít neomezený počet vztahů.

Konečný typ datového pole, vlastnosti, ukládá prvky a další informace týkající se hran a vztahů. Jeden příklad vlastnosti se nazývá „Weight of an Edge.“ Tato vlastnost může ušetřit náklady, vzdálenost, rozsah, délku nebo jakoukoli jinou míru vztahu mezi dvěma uzly.

Příklady systému NoSQL

Nyní, když víme, jaké typy NoSQL databází máme, zkontrolujeme některé z nejpoužívanějších systémů pro správu databází pro každý z těchto typů.

Typ databáze Nejpoužívanější systém správy
Úložiště dat klíč-hodnota Redis je zdaleka nejpoužívanějším systémem správy NoSQL obecně. Redis lze použít pro další operace, jako je ukládání do mezipaměti, ale jeho primární funkcí je správa databáze.

Dokumenty MongoDB je inzerován jako „Nejoblíbenější databáze pro moderní aplikace “. MongoDB je ve skutečnosti mnohem víc než jen systém správy databází. Je to celá datová platforma s mnoha nástroji, které mohou vývojáři a datoví vědci používat.

Obchody se širokým sloupcem Apache Cassandra používají Activision, Hulu, Uber, Walmart a desítky dalších významných společností. Podle oficiální stránky 40 % společností ze 100 nejlepších společností Fortune používá Cassandru ve svých každodenních operacích. Důvod je jednoduchý. Cassandra je nejlepší volbou, když potřebujete systém správy pro obchod se širokými sloupci, který nabízí nejlepší škálovatelnost a dostupnost bez kompromisů ve výkonu.

Obchody s grafy Neo4j je nativní databáze grafů, vytvořená od základů k využití uzlů a vztahů. Neo4j vytváří spojení mezi daty tak, jak jsou ukládána, což umožňuje typy dotazů, které si nikdo nepředstavoval, rychlostí, která je jen málokdy možná.

Nyní známe různé typy NoSQL databází. Známe také základy, které za nimi stojí. Nakonec se podívejme, jaký by byl nejlepší způsob, jak každou z těchto databází uvést do praxe.

Nejlepší příklady použití pro databáze NoSQL

  • Databáze úložiště typu klíč–hodnota :Tyto databáze se nejlépe používají pro různé nákupní košíky. Je to jednoduše proto, že databáze Key-Value dokážou zpracovat miliony nebo miliardy objednávek. Masivní příchozí data jsou zpracovávána bez ztráty výkonu. Tyto databáze mají také vestavěnou redundanci, takže se nemusíte obávat ztráty dat.
  • Databáze úložiště dokumentů :Tyto databáze se nejlépe používají pro různé katalogy. To lze opět propojit s vaším e-shopem, kde potřebujete uložit tisíce různých atributů o našich produktech. Protože jsou data uložena v jediném dokumentu, je správa produktů rychlá a snadná.
  • Obchody se širokým sloupcem :Tyto databáze se nejlépe používají pro geografické informace, systémy hlášení, protokoly senzorů a podobně. Uvádíme to proto, že obchody Wide-Column používají vícerozměrné mapování (hodnota řádku, hodnota sloupce a časové razítko) v tabulkovém formátu určeném pro masivní škálovatelnost. Pokud někdy použijete webovou stránku nebo aplikaci ke kontrole vzdálenosti jízdy z A do B na mapě, je velmi vysoká pravděpodobnost, že se na dané webové stránce nebo aplikaci používají obchody s širokým sloupcem.
  • Databáze úložiště grafů :Tyto databáze se nejlépe používají pro nadprůměrné systémy detekce podvodů. Řekněme, že máme v záznamech známý případ podvodu pro konkrétní dotyčný e-mail nebo kreditní kartu. Pokud se tato osoba pokusí přihlásit a znovu si něco zakoupí s informacemi z daného případu podvodu, systém na to někoho upozorní. To se děje kvůli tomu, jak databáze úložiště Graph zpracovávají vztahy mezi uzly v reálném čase.

Závěr

S používáním NoSQL databází se často setkáváme v každodenním životě, aniž bychom si to uvědomovali. Data ukazují, že celkové výhody NoSQL a jeho efektivita jsou nevyčíslitelné. Doufejme, že vám tento článek poskytne užitečné informace a informace o tom, jak lze NoSQL implementovat do vaší obchodní metodiky. Na závěr jsme rádi, že jsme mohli předvést, jak vám může být NoSQL prospěšné.

Jak vám můžeme pomoci?

Jsme hrdí na to, že jsme nejužitečnějšími lidmi v hostingu™! Naši erudovaní poradci v oblasti řešení nebo zkušení hostitelé jsou vždy k dispozici, aby vám ukázali, jak můžete tyto techniky využít již dnes!

Jsme k dispozici 24 hodin denně, 7 dní v týdnu, 365 dní v roce, prostřednictvím našeho systémy prodeje vstupenek na [email protected], telefonicky (na čísle 800-580-4986) nebo prostřednictvím LiveChatu nebo jakýmkoli jiným způsobem, který preferujete.

Tvrdě pro vás pracujeme, abyste si mohli odpočinout.


  1. Jak vypustit sloupec s omezením v SQL Server

  2. Příklad zlepšení výkonu dotazů pomocí indexů

  3. ORA-28040:Žádná výjimka odpovídající autentizačního protokolu

  4. Enterprise Manager 11g FMW Control v R12.2