Databáze klíč – hodnota - Key–value database

A databáze klíč – hodnotanebo úložiště klíč – hodnota, je paradigma ukládání dat určené pro ukládání, načítání a správu asociativní pole a datová struktura dnes běžněji známý jako slovník nebo hash tabulka. Slovníky obsahují a sbírka z předměty nebo evidence, které mají zase mnoho různých pole v nich každý obsahuje data. Tyto záznamy se ukládají a načítají pomocí a klíč který jednoznačně identifikuje záznam a slouží k vyhledání dat v rámci databáze.
Databáze klíč – hodnota fungují velmi odlišným způsobem od těch známějších relační databáze (RDB). RDBs předdefinují datovou strukturu v databázi jako sérii tabulek obsahujících pole s dobře definovanými typy dat. Vystavení datových typů databázovému programu mu umožňuje použít řadu optimalizací. Naproti tomu systémy klíč – hodnota považují data za jednu neprůhlednou kolekci, která může mít pro každý záznam různá pole. To nabízí značnou flexibilitu a podrobněji sleduje moderní koncepty jako objektově orientované programování. Protože volitelné hodnoty nejsou reprezentovány zástupnými symboly ani vstupními parametry, jako ve většině RDB, databáze klíč – hodnota často používají mnohem méně Paměť k uložení stejné databáze, což může vést k velkému zvýšení výkonu u určitých úloh.[Citace je zapotřebí ]
Výkon, nedostatek standardizace a další problémy omezovaly systémy klíč – hodnota na úzce specializovaná použití po mnoho let, ale rychlý přechod na cloud computing po roce 2010 vedla k renesanci v rámci širšího NoSQL hnutí. Nějaký databáze grafů, jako ArangoDB,[1] jsou také interně databáze klíč – hodnota a přidávají koncept vztahů (ukazatele ) mezi záznamy jako datový typ první třídy.
Druhy a pozoruhodné příklady
Lze použít databáze klíč – hodnota modely konzistence od případná konzistence na serializovatelnost. Některé podporují objednávání klíčů.
Někteří udržují data v paměti (RAM), zatímco ostatní zaměstnávají disky SSD nebo rotující disky.
Každá entita (záznam) je sada párů klíč – hodnota. Klíč má více komponent, určených jako seřazený seznam. Hlavní klíč identifikuje záznam a skládá se z hlavních komponent klíče. Následující komponenty se nazývají vedlejší klávesy. Tato organizace je podobná specifikaci cesty k adresáři v systému souborů (např. / Major / minor1 / minor2 /). Část „hodnota“ páru klíč – hodnota je jednoduše neinterpretovaný řetězec bajtů libovolné délky.[2]
Systém Unix poskytuje dbm (správce databází), což je knihovna z roku 1979, kterou původně napsal Ken Thompson. Je také portován na Microsoft Windows, poskytované prostřednictvím programovacích jazyků, jako je Perl pro Win32. Dbm spravuje asociativní pole libovolných dat pomocí jediného klíče (primárního klíče). Mezi moderní implementace patří Berkeley DB, sdbm, a GNU dbm. Ačkoli dbm předchází koncept NoSQL a je v moderním diskurzu zmiňován jen zřídka, používá ho mnoho softwarů.
Poskytovatel | Licence | Nakonec konzistentní | Objednané | RAM | Disk |
---|---|---|---|---|---|
Aerospike | AGPL | Ano | Ano | ||
Apache Ignite | AL2 | Ano | Ano | ||
ArangoDB | AL2 | Ano | Ano | ||
Berkeley DB | AGPL, Proprietární | Ano | |||
CDB | Veřejná doména | ||||
Databázový server Clusterpoint | Proprietární | ||||
Couchbase Server | Proprietární | ||||
Dynamo | Proprietární | Ano | |||
atd | AL2 | Ano | |||
FoundationDB | AL2 | Ano | |||
GigaSpaces | AL2, Proprietární | Ano | |||
GridGain systémy | Proprietární | Ano | |||
GT.M[3] | AGPL, Proprietární | ||||
Hazelcast | AL2, Proprietární | Ano | |||
Hibari | AL2 | ||||
IBM Informix C-ISAM | Proprietární | Ano | |||
InfinityDB | Proprietární | Ano | |||
Klíčový prostor | Proprietární | ||||
LevelDB | BSD3 | Ano | |||
LMDB | OpenLDAP (Jako BSD) | Ano | |||
memcached | BSD3 | Ano | |||
MemcacheDB | BSD | Ano | |||
NoSQLz | freeware | ||||
Soudržnost | Proprietární | Ano | |||
Databáze Oracle NoSQL | AL2, Proprietární | Ano | |||
Projekt Voldemort | AL2 | Ano | |||
Redis | BSD3 | Ano | |||
Riak[4] | AL2 | Ano | |||
RocksDB | AL2 nebo GPL 2 | Ano | |||
Tarantool | BSD | Ano | |||
Tkrzw | AL2 | Ano | |||
Venti | GPLv2, BSD | Ano | |||
OpenLink Virtuoso | GPLv2, proprietární | Ano | Ano |
Viz také
- Velká data
- Analýza dat
- Distribuované úložiště dat
- Dokumentově orientovaná databáze
- Databáze více modelů
- Tuple prostor
Reference
- ^ „Skladovací motory“. ArangoDB. Citováno 16. listopadu 2020.
- ^ Databáze Oracle NoSQL.
- ^ Tweed, Rob; James, George (2010). „Univerzální modul NoSQL využívající vyzkoušenou a testovanou technologii“ (PDF). p. 25.
Bez výjimky byly nejúspěšnější a nejznámější z databází NoSQL vyvinuty od nuly, a to vše během několika posledních let. Kupodivu se zdá, že se nikdo nerozhlédl, aby zjistil, zda existují nějaké existující, úspěšně implementované databázové technologie, které by mohly poskytnout spolehlivý základ pro splnění požadavků webového měřítka. Kdyby to udělali, možná objevili dva produkty, GT.M a Caché ..... *
- ^ „Riak: škálovatelné úložiště dat s otevřeným zdrojovým kódem“. 28. listopadu 2010. Archivovány od originál dne 31. prosince 2010. Citováno 28. listopadu 2010.