- Что такое NoSQL?
- Что такое база данных «ключ-значение»?
Что такое база данных «ключ-значение»?
Базы данных «ключ-значение»
- Каковы функции баз данных «ключ-значение»?
8
- Каковы примеры использования баз данных «ключ-значение»?
5
- Как работают базы данных «ключ-значение»?
1
- Каковы функции баз данных «ключ-значение»?
8
- Каковы ограничения баз данных «ключ-значение»?
3
- Как AWS может удовлетворить ваши требования по работе с базой данных «ключ-значение»?
1
Каковы функции баз данных «ключ-значение»?
Открыть всеВ зависимости от выбранного решения хранилище «ключ-значение» может иметь несколько дополнительных функций, перечисленных ниже.
Хранилища «ключ-значение» поддерживают определенные типы данных, такие как целые числа и текст. Однако многие из них также могут поддерживать более сложные объекты, такие как массивы, вложенные словари, изображения, видео и полуструктурированные данные. Предоставление базе данных дополнительной информации позволяет увеличить объем хранилища и оптимизировать производительность запросов.
Базам данных «ключ-значение» нет необходимости выполнять ресурсоемкое объединение таблиц. Их гибкость позволяет разместить всю необходимую информацию в одной таблице. Это одна из причин, по которой хранилища «ключ-значение» работают так хорошо.
- В алфавитном или цифровом порядке
- Хронологически
- По размеру данных
В хранилищах «ключ-значение» можно сортировать ключи, чтобы систематизировать данные и разбивать их на разделы. Например, ключи можно отсортировать следующими образами:
Рассмотрим хранилище «ключ-значение», в котором в качестве уникального ключа используется адрес электронной почты клиента. Адреса электронной почты можно сортировать в алфавитном порядке, поэтому все списки адресов электронной почты, начинающихся на буквы A–J, хранятся на сервере № 1, на K–S – на сервере № 2 и так далее.
В некоторых хранилищах «ключ-значение» можно определить два или более разных ключа либо вторичных индекса для доступа к одним и тем же данным. Например, вы можете хранить данные клиентов по ключевым адресам электронной почты и номерам телефонов.
Многие хранилища «ключ-значение» предлагают встроенную поддержку репликации путем автоматического копирования данных между несколькими узлами хранения. Это помогает автоматически восстанавливать данные – в случае сбоя сервера данные останутся в вашем распоряжении.
Многие хранилища «ключ-значение» предлагают встроенную поддержку репликации путем автоматического копирования данных между несколькими узлами хранения. Это помогает автоматически восстанавливать данные – в случае сбоя сервера данные останутся в вашем распоряжении.
Принцип ACID (атомарность, непротиворечивость, изолированность, долговечность) – это свойства базы данных, которые обеспечивают точность и надежность при любых обстоятельствах. Например, если вы последовательно вносите несколько изменений в данные, то атомарность требует, чтобы все изменения проходили по порядку. Если не удается одно изменение, то не удаются и все остальные.
Расширенные базы данных «ключ-значение» обеспечивают встроенную поддержку принципа ACID на стороне сервера. Благодаря этому разработчики могут удобно и без ошибок вносить изменения в большое число элементов в пределах одной или нескольких таблиц. При поддержке транзакций разработчики могут использовать возможности масштабирования, производительности и прочие корпоративные преимущества сервиса при выполнении большего числа критически важных рабочих нагрузок.
Каковы примеры использования баз данных «ключ-значение»?
Открыть всеОснованное на сессиях приложение (например, интернет-приложение) запускает сессию после входа пользователя. Оно активно до тех пор, пока пользователь не выйдет из системы или не истечет время сессии. В течение этого периода приложение хранит все атрибуты пользователя, связанные с сессией, либо в основной памяти, либо в базе данных. Данные сессии пользователя могут включать информацию профиля, сообщения, индивидуальные данные и темы, рекомендации, таргетированные рекламные кампании и скидки.
Каждая сессия пользователя имеет уникальный идентификатор. Данные сессий всегда запрашиваются только по первичному ключу, поэтому для их хранения отлично подходит быстрое хранилище пар «ключ‑значение». В целом базы данных на основе пар «ключ-значение» могут снижать накладные расходы в расчете на страницу по сравнению с реляционными базами данных.
Системы баз данных «ключ-значение» можно использовать в качестве основных для приложений или решения нишевых задач. Ниже мы приводим несколько примеров использования базы данных «ключ-значение».
Сайт интернет-магазина может получать миллиарды заказов за считанные секунды во время праздничного сезона покупок. Используя базы данных «ключ‑значение», можно обеспечить необходимое масштабирование при существенном увеличении объемов данных и чрезвычайно интенсивных изменениях состояния. Такие базы данных также позволяют одновременно обслуживать миллионы пользователей благодаря распределенной обработке и хранению данных. Хранилища «ключ-значение» также обладают встроенной избыточностью, что позволяет справляться с потерей узлов хранилища.
Хранилище «ключ-значение» может выступать в качестве базового уровня хранения для более высоких уровней доступа к данным. Например, можно увеличить пропускную способность и возможности параллельного запуска рабочих нагрузок мультимедиа и сферы развлечений, таких как потоковая передача видео в реальном времени и интерактивный контент. Кроме того, у вас появится возможность создать собственную игровую платформу с данными игроков, историей игровых сеансов и таблицами лидеров для миллионов одновременных пользователей.
Для временного хранения данных с целью их быстрого извлечения можно использовать базу данных «ключ-значение». Например, приложения социальных сетей могут хранить часто используемые данные, такие как контент новостной ленты. Системы кэширования данных в памяти также используют хранилища «ключ-значение» для ускорения ответов приложений.
Как работают базы данных «ключ-значение»?
Открыть всеБазы данных «ключ-значение» работают по принципу организации всех данных в виде соответствующего набора пар. Ключ можно рассматривать как вопрос, а значение – как ответ. В приведенном ниже примере первичный ключ состоит из двух ключей: идентификатора продукта и типа. Идентификатор продукта – это ключ с описанием секции, в которой будет храниться объект. Тип – это ключ сортировки, определяющий порядок хранения элементов на диске. Комбинация ключа секции и ключа сортировки образует уникальный первичный ключ, который соответствует одному значению в базе данных.
В этом примере книга объектов данных имеет такие атрибуты, как название, автор и дата публикации. У каждого объекта данных книги есть ключ BookID. Можно напрямую связать BookID и ассоциированный с ним объект книги в хранилище «ключ-значение». Также вы можете получить данные, просмотрев BookID в таблице. Кроме того, каждый элемент имеет собственную схему, что делает хранилища «ключ-значение» очень гибкими для хранения данных различной структуры.
Каковы функции баз данных «ключ-значение»?
Открыть всеВ зависимости от выбранного решения хранилище «ключ-значение» может иметь несколько дополнительных функций, перечисленных ниже.
Хранилища «ключ-значение» поддерживают определенные типы данных, такие как целые числа и текст. Однако многие из них также могут поддерживать более сложные объекты, такие как массивы, вложенные словари, изображения, видео и полуструктурированные данные. Предоставление базе данных дополнительной информации позволяет увеличить объем хранилища и оптимизировать производительность запросов.
Базам данных «ключ-значение» нет необходимости выполнять ресурсоемкое объединение таблиц. Их гибкость позволяет разместить всю необходимую информацию в одной таблице. Это одна из причин, по которой хранилища «ключ-значение» работают так хорошо.
- В алфавитном или цифровом порядке
- Хронологически
- По размеру данных
В хранилищах «ключ-значение» можно сортировать ключи, чтобы систематизировать данные и разбивать их на разделы. Например, ключи можно отсортировать следующими образами:
Рассмотрим хранилище «ключ-значение», в котором в качестве уникального ключа используется адрес электронной почты клиента. Адреса электронной почты можно сортировать в алфавитном порядке, поэтому все списки адресов электронной почты, начинающихся на буквы A–J, хранятся на сервере № 1, на K–S – на сервере № 2 и так далее.
В некоторых хранилищах «ключ-значение» можно определить два или более разных ключа либо вторичных индекса для доступа к одним и тем же данным. Например, вы можете хранить данные клиентов по ключевым адресам электронной почты и номерам телефонов.
Многие хранилища «ключ-значение» предлагают встроенную поддержку репликации путем автоматического копирования данных между несколькими узлами хранения. Это помогает автоматически восстанавливать данные – в случае сбоя сервера данные останутся в вашем распоряжении.
Многие хранилища «ключ-значение» предлагают встроенную поддержку репликации путем автоматического копирования данных между несколькими узлами хранения. Это помогает автоматически восстанавливать данные – в случае сбоя сервера данные останутся в вашем распоряжении.
Принцип ACID (атомарность, непротиворечивость, изолированность, долговечность) – это свойства базы данных, которые обеспечивают точность и надежность при любых обстоятельствах. Например, если вы последовательно вносите несколько изменений в данные, то атомарность требует, чтобы все изменения проходили по порядку. Если не удается одно изменение, то не удаются и все остальные.
Расширенные базы данных «ключ-значение» обеспечивают встроенную поддержку принципа ACID на стороне сервера. Благодаря этому разработчики могут удобно и без ошибок вносить изменения в большое число элементов в пределах одной или нескольких таблиц. При поддержке транзакций разработчики могут использовать возможности масштабирования, производительности и прочие корпоративные преимущества сервиса при выполнении большего числа критически важных рабочих нагрузок.
Каковы ограничения баз данных «ключ-значение»?
Открыть всеБазы данных «ключ-значение» требуют некоторых компромиссов, как и при выборе любой технологии.
Поскольку базы данных «ключ-значение» не поддерживают сложные запросы, разработчики должны решать эту проблему с помощью кода. В операциях с данными в основном используются простые термины, такие как get, put и delete. Существуют ограничения на фильтрацию и сортировку данных перед доступом к ним.
Хранилище «ключ-значение» спроектировано так, что оно не навязывает разработчикам схему. Любой может изменить ее в программе базы данных. Команды разработчиков должны систематически планировать модель данных, чтобы избежать проблем в долгосрочной перспективе. Отсутствие жесткой схемы также означает, что приложение отвечает за правильную интерпретацию потребляемых данных. Эту схему часто называют «схемой при чтении».
Как AWS может удовлетворить ваши требования по работе с базой данных «ключ-значение»?
Открыть все- Безграничная масштабируемость, включая масштабирование до нуля, с постоянной задержкой в несколько миллисекунд.
- Бессерверная система без обновления версий, окон обслуживания, серверов и программного обеспечения для управления.
- Глобальные таблицы DynamoDB обладают доступностью на уровне 99,999 % и обеспечивают активную репликацию, что позволяет создавать глобально распределенные приложения с локальной производительностью чтения.
- Высокая безопасность и надежность: шифрование по умолчанию в состоянии покоя, восстановление на момент времени, резервное копирование и восстановление по требованию и многое другое.
- Простота в использовании благодаря интеграции со многими сервисами AWS, включая пакетный импорт/экспорт из Amazon S3, Потоки данных Amazon Kinesis, Amazon Cloudwatch и другие.
Amazon DynamoDB – это одна из самых популярных баз данных «ключ-значение», созданная для запуска высокопроизводительных приложений в любом масштабе. Это полностью управляемая многорегиональная и многоактивная база данных, которая предоставляет перечисленные далее функции.
С помощью этого пошагового руководства по созданию таблицы NoSQL и выполнению запросов можно настроить и запустить базу данных DynamoDB всего за 10 минут. Начните работу с базами данных «ключ-значение» на AWS, создав бесплатный аккаунт уже сегодня.