Ба́за да́них «клю́ч—зна́чення» (англ. key-value database або англ. key–value store) — парадигма сховищ даних, створена для зберігання, виймання та керування асоціативними масивами — структурою даних, більш знаною як словник або геш. Словники містять колекції об'єктів або записів, які можуть мати багато різних полів з даними. Ці записи зберігаються та виймаються за допомогою ключа, який однозначно позначає записи, також він використовується для швидкого пошуку базою даних.
База даних «ключ—значення» працює зовсім інакше ніж реляційні бази даних (РБД). РБД попередньо визначають структуру даних у базі даних як сукупність таблиць, які містять поля (колонки) з чітко визначеними типами даних. Попередній опис типу даних дозволяє застосовувати численні оптимізації при програмуванні бази даних. На відміну від цього, системи «ключ—значення» ставляться до даних як до єдиної непрозорої колекції, яка може мати різні поля для кожного запису. Це забезпечує значну гнучкість і точніше слідує сучасним концепціям, таким як об'єктно-орієнтоване програмування. Оскільки необов'язкові значення не представлено заповнювачами, як це зроблено в більшості РБД, бази даних «ключ—значення» зазвичай використовують набагато менше пам'яті для зберігання такої ж бази даних, що може призводити до значного збільшення продуктивності при певних робочих навантаженнях.
Продуктивність, відсутність стандартизації та інші недоліки зробили використання систем «ключ—значення» нішевим протягом багатьох років, проте стрімкий перехід до хмарних обчислень після 2010 року призвів до ренесансу як частини ширшого руху NoSQL. Деякі графові бази даних за внутрішньою побудовою також є базами даних «ключ—значення», з додатковою концепцією відношення (вказівників) між записами як тип даних першого класу.
Типи та визначні приклади
Бази даних «ключ—значення» можуть використовувати різні рівні узгодженості, починаючи від [en] і завершуючи [en] даними.
Деякі бази даних підтримують впорядковані ключі.
Існують різні реалізації апаратного забезпечення, і деякі користувачі підтримують дані в пам'яті (RAM), в той час як інші зберігають на файловій системі, використовуючи твердотільні (SSD) накопичувачі або класичні обертові (HDD) диски.
Для Unix в 1979 році Кен Томпсон написав менеджер баз даних dbm, а також бібліотеку яка була широко розповсюджена на інші операційні системи та мови програмування. DBM працює з асоціативними масивами довільних даних, до яких можна отримати доступ за допомогою ключа. Хоча dbm з'явився задового до поняття NoSQL, він заклав основу для розвитку баз Ключ-значення.
Приклади реалізації
- GNU dbm
- Berkeley DB - База даних ключ-значення, реалізована у вигляді бібліотеки, розроблена в Університеті Берклі в 1986 році.
- Aerospike
- - База даних ключ-значення, розроблена в Google, розроблена після досвіду з Bigtable.
- - форк LevelDB, який зконцентрувався на високій продуктивності, утилізації багатоядерності та швидкості дискових систем.
- Memcached - Проста база ключ-значення в пам'яті, використовується для кешування.
- Redis - Найпопулярніша база ключ-значення в пам'яті (на травень 2018 року), згідно рейтингу [en].
- [en]
- ArangoDB
- Couchbase
- [en]
- [en]
- [en]
- [en]
- [en]
- [en]
- OrientDB
- Riak
- [en]
Типи
- Персистентність:
- в оперативній пам'яті - зміни відбуваються в оперативній пам'яті, опціонально зберігаються на диску.
- на дисковій системи - зміни вібдуваються на диску. сервер реалізує оптимізацію зберігання змін.
- Інтерфейс доступа
- Типізація значення
- невизначена - чисте ключ-значення
- підтримує деякі структури даних
- якщо підтримується складна ієрарїічна структура, це розглядається як документо-орієнтована система керування базами даних
- Горизонтальне масштабування, та модель узгодженості.
- не дозволяє конкурентний доступ
- дозволяє конкурентний доступ
- масштабується горизонтально
- Особливості
- використання спеціальних структур індексування (дерева, фільтр Блума)
- TTL ключа для кешування
- авторизація
Примітки
- . Архів оригіналу за 19 вересня 2018. Процитовано 23 травня 2018.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title ()
Джерела
- Ranking of key–value databases by popularity [ 7 липня 2013 у Wayback Machine.] (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Ba za da nih klyu ch zna chennya angl key value database abo angl key value store paradigma shovish danih stvorena dlya zberigannya vijmannya ta keruvannya asociativnimi masivami strukturoyu danih bilsh znanoyu yak slovnik abo gesh Slovniki mistyat kolekciyi ob yektiv abo zapisiv yaki mozhut mati bagato riznih poliv z danimi Ci zapisi zberigayutsya ta vijmayutsya za dopomogoyu klyucha yakij odnoznachno poznachaye zapisi takozh vin vikoristovuyetsya dlya shvidkogo poshuku bazoyu danih Unikalnomu klyuchu vidpovidayut rizni kolekciyi Baza danih klyuch znachennya pracyuye zovsim inakshe nizh relyacijni bazi danih RBD RBD poperedno viznachayut strukturu danih u bazi danih yak sukupnist tablic yaki mistyat polya kolonki z chitko viznachenimi tipami danih Poperednij opis tipu danih dozvolyaye zastosovuvati chislenni optimizaciyi pri programuvanni bazi danih Na vidminu vid cogo sistemi klyuch znachennya stavlyatsya do danih yak do yedinoyi neprozoroyi kolekciyi yaka mozhe mati rizni polya dlya kozhnogo zapisu Ce zabezpechuye znachnu gnuchkist i tochnishe sliduye suchasnim koncepciyam takim yak ob yektno oriyentovane programuvannya Oskilki neobov yazkovi znachennya ne predstavleno zapovnyuvachami yak ce zrobleno v bilshosti RBD bazi danih klyuch znachennya zazvichaj vikoristovuyut nabagato menshe pam yati dlya zberigannya takoyi zh bazi danih sho mozhe prizvoditi do znachnogo zbilshennya produktivnosti pri pevnih robochih navantazhennyah Produktivnist vidsutnist standartizaciyi ta inshi nedoliki zrobili vikoristannya sistem klyuch znachennya nishevim protyagom bagatoh rokiv prote strimkij perehid do hmarnih obchislen pislya 2010 roku prizviv do renesansu yak chastini shirshogo ruhu NoSQL Deyaki grafovi bazi danih za vnutrishnoyu pobudovoyu takozh ye bazami danih klyuch znachennya z dodatkovoyu koncepciyeyu vidnoshennya vkazivnikiv mizh zapisami yak tip danih pershogo klasu Tipi ta viznachni prikladiBazi danih klyuch znachennya mozhut vikoristovuvati rizni rivni uzgodzhenosti pochinayuchi vid en i zavershuyuchi en danimi Deyaki bazi danih pidtrimuyut vporyadkovani klyuchi Isnuyut rizni realizaciyi aparatnogo zabezpechennya i deyaki koristuvachi pidtrimuyut dani v pam yati RAM v toj chas yak inshi zberigayut na fajlovij sistemi vikoristovuyuchi tverdotilni SSD nakopichuvachi abo klasichni obertovi HDD diski Dlya Unix v 1979 roci Ken Tompson napisav menedzher baz danih dbm a takozh biblioteku yaka bula shiroko rozpovsyudzhena na inshi operacijni sistemi ta movi programuvannya DBM pracyuye z asociativnimi masivami dovilnih danih do yakih mozhna otrimati dostup za dopomogoyu klyucha Hocha dbm z yavivsya zadovogo do ponyattya NoSQL vin zaklav osnovu dlya rozvitku baz Klyuch znachennya Prikladi realizaciyi GNU dbm Berkeley DB Baza danih klyuch znachennya realizovana u viglyadi biblioteki rozroblena v Universiteti Berkli v 1986 roci Aerospike Baza danih klyuch znachennya rozroblena v Google rozroblena pislya dosvidu z Bigtable fork LevelDB yakij zkoncentruvavsya na visokij produktivnosti utilizaciyi bagatoyadernosti ta shvidkosti diskovih sistem Memcached Prosta baza klyuch znachennya v pam yati vikoristovuyetsya dlya keshuvannya Redis Najpopulyarnisha baza klyuch znachennya v pam yati na traven 2018 roku zgidno rejtingu en en ArangoDB Couchbase en en en en en en OrientDB Riak en TipiPersistentnist v operativnij pam yati zmini vidbuvayutsya v operativnij pam yati opcionalno zberigayutsya na disku na diskovij sistemi zmini vibduvayutsya na disku server realizuye optimizaciyu zberigannya zmin Interfejs dostupa biblioteka Berkeley DB kliyent serverTipizaciya znachennya neviznachena chiste klyuch znachennya pidtrimuye deyaki strukturi danih yaksho pidtrimuyetsya skladna iyeraryiichna struktura ce rozglyadayetsya yak dokumento oriyentovana sistema keruvannya bazami danihGorizontalne masshtabuvannya ta model uzgodzhenosti ne dozvolyaye konkurentnij dostup dozvolyaye konkurentnij dostup masshtabuyetsya gorizontalnoOsoblivosti vikoristannya specialnih struktur indeksuvannya dereva filtr Bluma TTL klyucha dlya keshuvannya avtorizaciyaPrimitki Arhiv originalu za 19 veresnya 2018 Procitovano 23 travnya 2018 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya DzherelaRanking of key value databases by popularity 7 lipnya 2013 u Wayback Machine angl