База даних «ключ—значення»
Ба́за да́них «клю́ч—зна́чення» (англ. key-value database або англ. key–value store) — парадигма сховищ даних, створена для зберігання, виймання та керування асоціативними масивами — структурою даних, більш знаною як словник або геш. Словники містять колекції об'єктів або записів, які можуть мати багато різних полів з даними. Ці записи зберігаються та виймаються за допомогою ключа, який однозначно позначає записи, також він використовується для швидкого пошуку базою даних.
База даних «ключ—значення» працює зовсім інакше ніж реляційні бази даних (РБД). РБД попередньо визначають структуру даних у базі даних як послідовність таблиць, які містять поля з чітко визначеними типами даних. Попередній опис типу даних дозволяє застосовувати численні оптимізації при програмуванні бази даних. На відміну від цього, системи «ключ—значення» ставляться до даних як до єдиної непрозорої колекції, яка може мати різні поля для кожного запису. Це забезпечує значну гнучкість і точніше слідує сучасним концепціям, таким як об'єктно-орієнтоване програмування. Оскільки необов'язкові значення не представлено заповнювачами, як це зроблено в більшості РБД, бази даних «ключ—значення» зазвичай використовують набагато менше пам'яті для зберігання такої ж бази даних, що може призводити до значного збільшення продуктивності при певних робочих навантаженнях.
Продуктивність, відсутність стандартизації та інші недоліки зробили використання систем «ключ—значення» нішевим протягом багатьох років, проте стрімкий перехід до хмарних обчислень після 2010 року призвів до ренесансу як частини ширшого руху NoSQL. Деякі графові бази даних за внутрішньою побудовою також є базами даних «ключ—значення», з додатковою концепцією відношення (вказівників) між записами як тип даних першого класу.
Типи та визначні приклади
Бази даних «ключ—значення» можуть використовувати різні рівні узгодженості, починаючи від випадкової і завершуючи серіалізованими даними. Деякі бази даних підтримують впорядковані ключі. Існують різні реалізації апаратного забезпечення, і деякі користувачі підтримують дані в пам'яті (RAM), в той час як інші використовують твердотільні (SSD) накопичувачі або класичні обертові (HDD) диски.
Найпопулярнішою системою типа ключ-значення на травень 2018 року, згідно рейтингу DB-Engines ranking, є Redis.[1]