Что такое база данных на основе пар «ключ‑значение»?

Определение базы данных на основе пар «ключ‑значение»

База данных на основе пар «ключ‑значение» – это тип нереляционных баз данных, в котором для хранения данных используется простой метод «ключ‑значение». База данных на основе пар «ключ‑значение» хранит данные как совокупность пар «ключ‑значение», в которых ключ служит уникальным идентификатором. Как ключи, так и значения могут представлять собой что угодно: от простых до сложных составных объектов. Базы данных с использованием пар «ключ‑значение» поддерживают высокую разделяемость и обеспечивают беспрецедентное горизонтальное масштабирование, недостижимое при использовании других типов баз данных. Например, Amazon DynamoDB выделяет дополнительные разделы на таблицу, если существующий раздел заполняется до предела и требуется больше пространства для хранения.

На следующей диаграмме показан пример данных, хранящихся в виде пар «ключ‑значение» в DynamoDB.

Диаграмма, показывающая пример данных, хранящихся в виде пар «ключ‑значение» в DynamoDB

Примеры использования

Хранилище сессий

Основанное на сессиях приложение (например, интернет‑приложение) запускает сессию, когда пользователь входит в систему. Оно активно до тех пор, пока пользователь не выйдет из системы или не истечет время сессии. В течение этого периода приложение хранит все связанные с сессией данные либо в основной памяти, либо в базе данных. Данные сессии могут включать информацию профиля пользователя, сообщения, индивидуальные данные и темы, рекомендации, таргетированные рекламные кампании и скидки. Каждая сессия пользователя имеет уникальный идентификатор. Данные сессий всегда запрашиваются только по первичному ключу, поэтому для их хранения отлично подходит быстрое хранилище пар «ключ‑значение». В целом базы данных на основе пар «ключ‑значение» могут снижать накладные расходы в расчете на страницу по сравнению с реляционными базами данных.

Корзина интернет‑магазина

Во время праздничного сезона покупок сайт интернет‑магазина может получать миллиарды заказов за считаные секунды. Используя базы данных на основе пар «ключ‑значение», можно обеспечить необходимое масштабирование при существенном увеличении объемов данных и чрезвычайно интенсивных изменениях состояния. Такие базы данных позволяют одновременно обслуживать миллионы пользователей благодаря распределенным обработке и хранению данных. Базы данных на основе пар «ключ‑значение» также обладают встроенной избыточностью, что позволяет справляться с потерей узлов хранилища.

Популярные базы данных на основе пар «ключ‑значение»

Amazon DynamoDB

Amazon DynamoDB – это нереляционная база данных, обеспечивающая надежную производительность при любом масштабе. База данных является полностью управляемой и работает в нескольких регионах с несколькими ведущими серверами. Она обеспечивает устойчивую задержку в пределах нескольких миллисекунд и обладает встроенными средствами безопасности, резервного копирования и восстановления, а также кэширования в памяти. В DynamoDB элемент состоит из первичного или сложного ключа и переменного количества атрибутов. Явно заданных ограничений по количеству атрибутов, связанных с отдельным элементом, не существует, однако суммарный размер элемента, включая все имена и значения атрибутов, не должен превышать 400 КБ. Таблица представляет собой совокупность элементов данных, подобную совокупности строк в таблице реляционной базы данных. Каждая таблица может содержать бесконечное количество элементов данных.

С помощью этого пошагового учебного пособия можно настроить и запустить базу данных DynamoDB всего за 10 минут. Узнайте больше о DynamoDB и начните работу уже сегодня.

Начало работы с Amazon DynamoDB

Apache Cassandra

Apache Cassandra – это широко применяемая высокопроизводительная нереляционная база данных. Клиенты AWS, которые в настоящее время поддерживают Cassandra локально, могут перейти на работу с Cassandra в Amazon EC2 и получить преимущества в виде масштабируемости, надежности, безопасности и экономической эффективности.

EC2 и Amazon Elastic Block Store (Amazon EBS) предоставляют безопасные и масштабируемые вычислительные ресурсы, а также хранилище в облаке AWS. Объединив эти возможности, можно развернуть Cassandra и масштабировать ресурсы согласно существующим требованиям. Учитывая количество возможных топологий развертывания, не всегда бывает легко выбрать наиболее подходящую стратегию для конкретного примера использования. Чтобы развернуть Apache Cassandra в облаке AWS, воспользуйтесь рекомендациями, которые приводятся в публикации Best Practices for Running Apache Cassandra on Amazon EC2.

DataStax Enterprise (DSE) – это постоянно работающая платформа обработки данных для облачных приложений, основанная на Apache Cassandra. Платформа DSE предназначена для обработки рабочих нагрузок с большими данными на нескольких узлах без единой точки отказа. Для решения проблемы сбоев DSE реализует одноранговую распределенную систему между однородными узлами, в которой данные распределяются между всеми узлами кластера. DSE предлагает расширенные возможности, позволяющие клиентам быстрее создавать интеллектуальные и привлекательные облачные приложения. В каждый узел DSE интегрированы мощные возможности индексирования, поиска, аналитики и обработки графов, что обеспечивается путем сочетания Cassandra с Apache Solr, Apache Spark и DSE Graph. Можно записать данные один раз и получать к ним доступ с помощью различных приложений или шаблонов доступа в рамках единого целостного решения.  

Используйте решение AWS DataStax Enterprise Quick Start (также доступно в формате PDF) для развертывания кластера DSE в облаке AWS.