
В ИТ-секторе используются все виды баз данных. Особенно популярны реляционные модели, поскольку они позволяют связывать информацию. Однако существуют и другие типы, которые обладают особыми преимуществами и поэтому могут быть лучшим выбором в определенных ситуациях: базы данных NoSQL, документо-ориентированные базы данных, базы данных, ориентированные на столбцы, или графовые базы данных. Существует также база данных «ключ-значение». Здесь простой принцип позволяет добиться огромной производительности.
Что такое хранилище ключевых значений?
Базы данных ключевых значений основаны на таблице с двумя столбцами: В первом находится значение, а в другом — ключ, отличительный идентификационный знак. Значение может принимать различные формы. Возможны очень простые значения, такие как строки или целые числа, но в качестве значений в базе данных могут появляться и сложные объекты. (Функция или позиция значения может также занимать, например, документ, хотя тогда мы будем говорить о базе данных, основанной на документах). Ссылки на файлы также могут быть вставлены в базу данных. Кортежи — совокупности значений — также практически применимы.
Значения в базе данных не обязательно должны быть одинаковыми. В одном и том же столбце можно разместить различные объекты. То же самое относится и к идентификационным знакам. В большинстве случаев ключ, предположительно, будет следовать определенному шаблону. Однако, в принципе, это не обязательно. Строки и целые числа здесь также могут быть построены по произвольным критериям.
Хранилища ключевых значений существуют как базы данных в памяти (то есть в рабочей памяти) и как решения на диске (то есть в фиксированном дисковом хранилище).
Преимущества и применение баз данных ключевых значений
Преимуществами баз данных Key Value Databases являются их высокая производительность и гибкая масштабируемость, которые вытекают из простой структуры модели. Поскольку хранилища ключевых значений не требуют и не предусматривают какой-либо единой схемы, изменения в базу данных можно вносить в процессе работы. Можно ввести новое поле, в то время как в других записях одновременно происходят действия.
Высокая скорость работы делает возможной эту модель базы данных благодаря простому соединению ключа и значения. Если вы хотите получить информацию, вы просто обращаетесь непосредственно к значению через его определенный ключ. Данные доступны напрямую. В то же время это является недостатком хранилища ключ-значение, так как никакой другой метод доступа не доступен. Реляционные базы данных позволяют выполнять сложные запросы. Содержимое таких баз данных может быть просеяно в различных аспектах. В отличие от этого, хранилище значений ключей позволяет получить доступ только через ключ. Обычно приходится обходиться без дополнительных индексов и возможностей поиска.
Применение баз данных Key Value Stores основано как на их преимуществах, так и на ограничениях. Базы данных Key Value Databases используются в тех случаях, когда требуется быстрый доступ к большому количеству данных. По этой причине типичными приложениями являются корзины покупок в интернет-магазинах или данные о сеансах. Здесь информация четко упорядочена и должна быть доступна в кратчайшие сроки. Для крупных, известных веб-сайтов эти базы данных должны постоянно создавать новые и удалять старые записи, к чему идеально приспособлены базы данных ключевых значений.
Известные базы данных ключевых значений
В настоящее время существуют различные системы управления базами данных (СУБД), основанные на базах данных ключевых значений.
- Amazon DynamoDB: эта собственная СУБД принадлежит Amazon Web Services (AWS) и может также использоваться в качестве документо-ориентированной базы данных.
- Berkeley DB: эта СУБД разработана компанией Oracle и предоставляет интерфейсы для самых разных языков программирования.
- Redis: Проект Redis с открытым исходным кодом является одной из самых используемых СУБД и уже на ранней стадии используется Instagram и GitHub.
- Riak: СУБД Riak доступна в виде версии с открытым исходным кодом, в виде корпоративного программного обеспечения или в виде облачного хранилища.
- Voldemort: Распределенная СУБД используется и продвигается, в частности, компанией LinkedIn.