GNU/Linux >> Znalost Linux >  >> Ubuntu

Seznam databází NoSQL pro rok 2021

Úvod

NoSQL (zkratka pro "Not Only SQL") je alternativou k tradičním databázím zaměřeným na zachycení a zpracování velkého množství dat.

Existuje několik typů databází NoSQL, z nichž každá má jedinečný přístup k modelování dat a různé případy použití.

V tomto tutoriálu poskytneme stručný přehled několika typů databáze NoSQL a u každého z nich uvedeme některé oblíbené příklady.

Typy databáze NoSQL

Čtyři nejoblíbenější typy databází NoSQL jsou databáze klíč-hodnota, databáze založené na dokumentech, databáze založené na grafech a databáze založené na širokých sloupcích:

Databáze klíč-hodnota

Databáze klíč–hodnota organizovat data do párů klíčů a hodnot, kde každý klíč je svázán s konkrétním objektem, který představuje datové pole. Poskytnutí klíče vám umožní zobrazit data uložená v objektu, se kterým je spárován.

Toto je nejjednodušší a nejvíce škálovatelný typ databáze NoSQL, který nabízí flexibilitu a lepší výkon.

Dokumentově založené databáze NoSQL

Databáze založené na dokumentech také používat páry klíč–hodnota, které ukládají do dokumentů. Tyto dokumenty jsou dále seskupeny do sbírek na základě jejich obsahu a použití.

Tyto databáze nejčastěji ukládají data jako formuláře JSON, XML, BSON nebo YAML, obvykle bez implementace schématu. Díky tomuto přístupu jsou vhodné pro případy, které vyžadují flexibilní strukturu a schopnost rychle přidávat a načítat data.

Databáze založené na grafech

Databáze založené na grafech reprezentují data jako kolekci uzlů (datové prvky) spojené hranami . V této datové struktuře uzly obsahují části dat, zatímco hrany definují vztahy mezi nimi.

Tento typ databáze se běžně používá k reprezentaci vztahů mezi různými datovými položkami, jako jsou například připojení přátel na sociálních sítích. Uživatelé mohou provádět složité dotazy a přímo stahovat více kusů dat současně.

Široké databáze založené na sloupcích

Široké databáze založené na sloupcích ukládat data do samostatných sloupců, podobně jako jsou data ukládána v tabulkách s relačními databázemi. Na rozdíl od relačních databází nepoužívají databáze se širokými sloupci předdefinované klíče nebo názvy sloupců.

To umožňuje variace v názvech sloupců, dokonce i v rámci stejné tabulky. Je také snadné přidávat velké množství dat jako nové sloupce nebo seskupovat stávající do rodin sloupců.

Databáze objektů

Databáze objektů ukládat datové prvky jako objekty pro použití v objektově orientovaném programování. Jsou navrženy pro práci s programovacími jazyky jako Python, Ruby, Delphi, Java atd.

Gridové a cloudové databáze

Gridové a cloudové databáze používat datovou mřížku – síť systémů pracujících s daty dostupnými přes cloud.

Tento typ databáze pracuje s datovými modely SQL i NoSQL a je obvykle nabízen jako databáze jako služba.

Multimodelové databáze

Nakonec multimodelové databáze kombinovat vlastnosti dvou nebo více různých typů databází. To jim umožňuje poskytovat řešení pro jedinečné případy použití, kdy jiné typy databází nejsou vhodné.

Seznam databází NoSQL

Níže je uveden seznam NoSQL databází pro rok 2021, uspořádaný do sekcí podle typu databáze:

Seznam databází klíč–hodnota

Redis

Redis funguje jako server datové struktury, který ukládá data do paměti. To znamená, že Redis čte a upravuje data z hlavní paměti, ale má také vestavěnou persistenci. Tato funkce umožňuje ukládání dat na disk, takže je lze rekonstruovat, pokud se systém restartuje.

Výhody použití Redis:

  • Práce v paměti umožňuje vysoký výkon a flexibilitu.
  • Podpora mnoha různých datových typů a programovacích jazyků.
  • Snadno škálovatelný a podporuje automatické rozdělování.

Aerospike

Stejně jako Redis je i Aerospike open-source, in-memory NoSQL databáze. Aerospike je optimalizován pro použití v online maloobchodě díky svému vysokému výkonu a schopnosti kombinovat transakční data s analýzou.

Výhody použití Aerospike:

  • Spolehlivý výkon s velmi nízkou latencí.
  • Dobrý poměr ceny a výkonu jej předurčuje pro menší podniky.

Riak

Riak ukládá páry klíč–hodnota v datových objektech, které nazývá „buckety“. Podporuje širokou škálu datových formátů a klade důraz na stabilitu dat a předvídatelný výkon.

Výhody použití Riak:

  • Páry klíč-hodnota jsou uloženy ve shlucích tří uzlů s možností replikace dat do dalších uzlů pro zálohování.
  • Data mohou být uložena v paměti, na discích nebo obojím.
  • Replikace více datových center umožňuje zálohovat vaše data do datových center na různých místech.

Projekt Voldemort

LinkedIn používá Project Voldemort jako své řešení pro vysoce škálovatelné úložiště klíč-hodnota. Funguje jako distribuovaná, odolná proti chybám a trvalá hashovací tabulka.

Výhody použití projektu Voldemort:

  • Data jsou automaticky replikována a rozdělena na více serverů.
  • K dispozici jsou moduly pro ukládání a serializaci.
  • Dobrý výkon jednoho uzlu.

Seznam pro databáze NoSQL založené na dokumentu

MongoDB

MongoDB je agilní databáze s otevřeným zdrojovým kódem, kterou používá celá řada společností v různých odvětvích. Ukládá dokumenty jako objekty JSON, které mohou rychle měnit schémata podle vašich potřeb.

Výhody použití MongoDB:

  • Snadné škálování z jednoho serveru na složité systémy.
  • Konzistentně poskytuje vysoký výkon.
  • Vysoká spolehlivost díky replikaci a vyrovnávání zátěže.

Couchbase Server

Couchbase Server (známý původně jako Membase) je open-source distribuované databázové řešení. Primárním záměrem návrhu je pracovat s interaktivními aplikacemi pro ukládání velkého množství uživatelských dat jako objektů JSON.

Výhody použití serveru Couchbase:

  • Správa clusteru umožňuje rychlé škálování.
  • Přizpůsobitelná replikace, dokonce i mezi datovými centry.

CouchDB

CouchDB je open-source databáze napsaná v Erlangu. Nabízí funkce, jako je řízení souběžnosti více verzí (pomocí sémantiky ACID), replikace více masterů a mapování/redukování.

Výhody použití CouchDB:

  • Schopnost replikovat data do zařízení, jako jsou chytré telefony, pro offline přístup.
  • Zaručuje případnou konzistenci, poskytuje dostupnost a toleranci rozdělení.

Elasticsearch

Elasticsearch je distribuovaná databáze, která funguje jako vyhledávač schopný fulltextového vyhledávání s fuzzy párováním. Spadá pod duální licencování:některé části jsou kryty serverovou veřejnou licencí, zatímco jiné spadají do kategorie proprietární elastické licence.

Výhody použití Elasticsearch:

  • Funkce můžete rozšířit zkombinováním Elasticsearch s dalšími řešeními, jako je Logstash (sběr dat a analýza protokolů), Kibana (analytika) a Beats (doručování dat).
  • Škálovatelné vyhledávání v reálném čase s fasetováním a perkolací.

Seznam databází založených na grafech

Neo4J

Neo4J je open-source grafová databáze postavená v Javě, s dalšími funkcemi dostupnými jako součást jejich Graph Data Platform. Používá Cypher dotazovací jazyk nabídnout přístup k širší škále dotazů než jiné typy databází při zachování vysokého výkonu.

Výhody použití Neo4J:

  • Užitečné pro řešení problémů, které vyžadují opakované testování sítě.
  • Usnadňuje analytické datové objekty a jejich vztahy.

OrientDB

OrientDB je open-source, multimodelový databázový systém se silným důrazem na grafový databázový model. Lze jej nasadit na jakýkoli operační systém a může se pochlubit širokou škálou funkcí, které lze dále rozšířit upgradem na Enterprise Edition.

Výhody použití OrientDB:

  • Silný bezpečnostní systém založený na uživatelích a rolích.
  • Snadný začátek díky bezplatnému kurzu Udemy, rozsáhlé uživatelské podpoře prostřednictvím Stack Overflow.
  • Snadný import dalších relačních databází do OrientDB.

RedisGraph

RedisGraph je modul databáze grafů pro Redis. Je založen na modelu Property Graph a používá Cypher dotazovací jazyk překládat dotazy do výrazů lineární algebry.

Výhody použití RedisGraph:

  • Snadno kombinovatelné se stávajícími databázemi Redis.
  • Umožňuje přidávání štítků uzlů a typů vztahů.

InfiniteGraph

InfiniteGraph je distribuovaná databáze zaměřující se na provádění komplexních objektových dotazů. Používá se k vývoji webových nebo mobilních aplikací, které řeší problémy s grafy při práci s komplexními velkými datovými sadami.

Výhody použití InfiniteGraph:

  • Schopnost zpracovávat složité nebo paralelní dotazy, které vyžadují vysoký výkon.
  • Záloha s flexibilní konzistencí (od ACID po uvolněnou).

Seznam pro databáze založené na širokých sloupcích

Cassandra

Apache Cassandra je bezplatné, open-source databázové řešení vytvořené tak, aby zvládlo velké zatížení dat s minimálním dopadem na výkon. Twitter, Netflix a Reddit používají Cassandru kvůli její vysoké rychlosti a dostupnosti.

Výhody použití Cassandry:

  • Asynchronní replikace bez mastera zajišťuje ochranu před ztrátou dat, aniž by způsobovala latenci.
  • Snadno se škáluje ve více datových centrech bez prostojů.

Cosmos DB

Azure Cosmos DB společnosti Microsoft je proprietární databázové řešení. Produkt byl navržen tak, aby byl globálně distribuován, aby pomohl spravovat rozsáhlé, horizontálně škálovatelné databáze.

Výhody použití Cosmos DB:

  • Kombinace s dalšími službami Microsoft Azure pro rozšířené funkce.
  • Automatické rozdělení více datových center.

HBase

HBase je navržena pro práci s extrémně velkými databázemi s miliardami řádků a miliony sloupců. Běží nad Hadoop Distributed File System (HDFS) a umožňuje Hadoopu fungovat jako Bigtable od Google.

Výhody použití HBase:

  • Umožňuje vysokou propustnost v rozsahu petabajtů dat.
  • Umožňuje náhodný přístup pro čtení/zápis do vaší databáze v reálném čase.

Akumulace

Apache Accumulo je další řešení postavené na Hadoop a založené na Google Bigtable. Vylepšuje design Bigtable přidáním funkcí, jako je buňka řízení přístupu a programování na straně serveru.

Výhody použití Accumulo:

  • Můžete přidat štítky zabezpečení na úrovni buňky a uložit data různých úrovní zabezpečení do stejné tabulky.

Seznam databází objektů

ObjectDB

ObjectDB je řešení objektové databáze pro vývoj v Javě s vestavěnou podporou pro Java API. Funguje v režimu klient-server nebo vestavěný.

Výhody práce s ObjectDB:

  • Podporuje různé platformy a operační systémy.
  • Používá dotazovací jazyky JDO i JPA.

Ninja Database Pro

Ninja Database Pro nabízí vysokou úroveň automatizace, která usnadňuje začátečníkům použití. Poskytuje robustní a rychlý způsob správy datových objektů v databázi.

Výhody použití Ninja Database Pro:

  • Umí pracovat se složitými datovými objekty, jako jsou dvojitě propojené seznamy, vícerozměrná pole a slovníky.
  • Vyhovuje ACID, s vestavěným AES šifrováním.

NeoDB

NeoDB strukturuje data jako síť objektů připomínajících velký strom. Tato síť se nazývá uzlový prostor a zaměřuje se na uzly (objekty), jejich vztahy a jejich vlastnosti.

Výhody použití NeoBD:

  • Dobré pro zpracování polostrukturovaných dat s několika povinnými, ale mnoha volitelnými atributy.

Objektivita/DB

Objektivita/DB je distribuovaná databáze, která vám umožňuje pracovat s datovými objekty v jazycích C++, C#, Java nebo Python, aniž byste je museli převádět na tabulky.

Výhody použití Objektivity/DB:

  • Používá jakýkoli podporovaný programovací jazyk v operačním systému dle vašeho výběru.
  • Jeho architektura z něj dělá dobrou volbu pro prostředí gridových počítačů.

Seznam cloudových a gridových databází

Koherence Oracle

Oracle Coherence je distribuovaná mezipaměť a datová mřížka in-memory založená na Javě. Spravuje data v klastrovaných aplikacích, což eliminuje potřebu dotazovat se přímo na databázi pokaždé, když potřebujete data spravovat.

Výhody použití Oracle Coherence:

  • Poskytuje vysokou dostupnost, škálovatelnost a nízkou latenci.

Infinispan

Infinispan je open-source řešení datové mřížky napsané v Javě. Infinispan lze vložit do aplikací Java jako knihovnu a aplikace, které nejsou Java, jej mohou používat s protokolem TCP/IP.

Výhody použití Infinispan:

  • Vysoce škálovatelné při zachování dostupnosti.
  • Jeho připojitelná architektura mu umožňuje uchovávat data v souborovém systému nebo jiném správci databází.

Hazelcast

Hazelcast je datová mřížka s otevřeným zdrojovým kódem. Je založen na Javě a může běžet lokálně, virtuálně, v cloudu nebo v kontejnerech Docker.

Výhody použití Hazelcast:

  • Umožňuje horizontální škálování úložného a výpočetního výkonu.

Seznam vícemodelových databází

ArangoDB

ArangoDB je bezplatný správce databází s otevřeným zdrojovým kódem, který podporuje databázové modely klíč–hodnota, dokumenty a grafy.

Výhody použití ArangoDB:

  • Dotazovací jazyk AQL vám umožňuje cílit na různé typy databází pomocí jediného dotazu.
  • Funguje jako distribuovaný cluster s možností nasazení clusteru jediným kliknutím.

Ubuntu
  1. Top 5 softwaru pro zálohování dat pro Linux

  2. RAID pro ty, kteří se mu vyhýbají

  3. 80 Linux Monitorovací nástroje pro SysAdmins

  1. Prostředí podobné shellu pro binární zpracování?

  2. Jdi do toho – moderní seznam úkolů s časovačem

  3. Bash for smyčky Příklady

  1. Top 5 nástrojů pro migraci dat pro Linux

  2. Pseudo soubory pro dočasná data?

  3. Jak zkontrolovat seznam závislostí pro balíček Deb?