Основные преимущества Amazon DynamoDB

Pixabay

В век информации каждый бит данных представляет собой драгоценный камень, который можно добывать, обрабатывать и хранить для дальнейшего использования или продажи. Amazon DynamoDB, как и другие базы данных NoSQL, был создан с целью помочь организациям контролировать огромные объемы данных, передаваемых с цифровых устройств и экосистем.

База данных NoSQL не ограничивается организованными моделями SQL, что делает ее идеальной для хранения огромных объемов данных. DynamoDB использует модели данных «ключ-значение» и документирования, чтобы предоставить администраторам данных возможность упорядочивать и сортировать свои данные без создания сложных архитектур. Читайте дальше, чтобы узнать больше о DynamoDB.

Что такое Amazon DynamoDB?

Amazon DynamoDB — это полностью управляемая база данных NoSQL как услуга (DBaaS), предлагаемая Amazon Web Services (AWS). DynamoDB сочетает простоту хранения, обеспечиваемую моделью «ключ-значение», с организационным удобством модели документов.

DynamoDB поддерживает скалярные типы данных, такие как Number, String, Binary и Boolean, а также типы данных коллекции, такие как Set, List и Map. DynamoDB запрограммирован для хранения данных на SSD-накопителе и распределения данных по трем регионам. Это отличное решение, если вашему проекту требуется масштабируемый доступ к данным с малой задержкой.

Что такое модель данных DynamoDB?

DynamoDB использует модель данных, ориентированную на ключ и значение, и документо-ориентированную.

Когда вы используете модель данных NoSQL типа «ключ-значение», вы присваиваете значения ключам. Каждое значение содержит блок данных, и все, что нужно сделать базе данных, — это сохранить его. База данных строго по ключу-значению не понимает значения значений. Этот «тупой» метод хранения обеспечивает быструю запись и чтение, что часто необходимо в проекты больших данных а также бизнес-аналитика.

Модель данных документа помогает DynamoDB осмысливать данные, которые она хранит, с помощью трех основных модулей модели данных:

  • Столы— коллекции предметов, которые вы хотите хранить вместе. Например, список книг или информация о студенте. В отличие от таблиц в реляционных базах данных, таблицы в DynamoDB не имеют связанных фиксированных схем. Чтобы создать таблицу, вам нужно определить первичный ключ. Затем вы сможете добавлять элементы в свою таблицу с динамическим набором атрибутов.
  • Предметы— наборы атрибутов. Элементы в DynamoDB можно сравнить со строками в SQL. Как и для таблиц, для элементов требуется первичный ключ. Если ваша таблица содержит список книг, то каждый элемент будет содержать всю информацию о книге. Например, название книги, автор, ISBN, имя издателя.
  • Атрибуты— каждый атрибут является базовой единицей информации, подобно столбцам или полям в SQL. В приведенном выше примере каждая отдельная информационная единица является атрибутом. Если вы храните информацию с веб-сайта электронной коммерции, вы добавляете идентификатор продукта, будь то книга, фильм или пара носков. Каждый идентификатор — это атрибут, который вы можете сохранить в элементе.

Для каждого устройства вы можете выбрать один из двух типов ключей:

  • Первичный ключ— это ключ раздела, содержащий один атрибут. Вы можете использовать идентификатор в качестве ключа или любого другого атрибута, который может помочь вам идентифицировать элемент (идентификатор продукта).
  • Составной первичный ключ— содержит два ключа, которые представляют два атрибута. В каждом составном ключе ключ секции будет содержать атрибут, который поможет вам идентифицировать данные (идентификатор продукта), а ключ сортировки будет содержать атрибут, который поможет вам отфильтровать данные (имя издателя).

Желательно выбирать уникальные и разреженные ключи.

Основные преимущества Amazon DynamoDB

Следующие функции и возможности делают DynamoDB идеальной службой хранилища данных для новых приложений и небольших операций, рост которых ожидается предсказуемыми этапами.

1. Преимущества использования полностью управляемой службы базы данных— DynamoDB экономит ваши затраты и трудозатраты на настройку собственной операции с данными. Хорошие ребята из AWS уже позаботились о предоставлении оборудования, настройке и сетевом подключении. Для вашего удобства функции DynamoDB, такие как шифрование при хранении, автоматическая репликация данных, масштабирование кластера, резервное копирование и восстановление, встроены в удобную для пользователя систему. Чтобы воспользоваться всеми преимуществами, вы должны быть в курсе новейшие функции Amazon DynamoDB.

2. Линейная масштабируемость для растущих наборов данных— DynamoDB использует автоматическое сегментирование и балансировку нагрузки, чтобы помочь пользователям лучше понять, как данные хранятся и распределяются. Когда вы можете видеть и контролировать емкость данных, вы можете расти в масштабе. Нет ограничений на объем данных, а это значит, что вы можете постоянно расширять хранилище данных.
3. Интеграция с экосистемой AWS— DynamoDB была создана AWS и интегрирована с любым из сервисов AWS. Вы можете легко создавать резервные копии данных в Amazon Simple Storage Service (Amazon S3), экспортировать данные и анализировать их в Elastic MapReduce (EMR). АМС Управление идентификацией и доступом (IAM) Инструмент предоставляет вам средства управления для защиты соединений между платформами AWS по вашему выбору.

DynamoDB и теорема CAP

Согласно теореме CAP Эрика Брюэра (Consistency, Availability, and Partition Tolerance), распределенные хранилища данных не могут одновременно предлагать более двух из трех элементов CAP. Элемент согласованности обеспечивает постоянную согласованность базы данных, доступность гарантирует отсутствие простоев, а устойчивость к разделам позволяет системе работать, даже если связь между серверами становится ненадежной.

DynamoDB настроен на выбор доступности и устойчивости к разделам с возможной согласованностью записи. Хотя DynamoDB поддерживает в конечном счете согласованные и строго согласованные чтения, последняя функция часто может дать сбой во время разделов и сетевых задержек. Этот тип несогласованности не является оптимальным для глобальных приложений.

Кроме того, поскольку DynamoDB настроен только на обеспечение согласованности и надежности, вам нужно будет позаботиться об остальных критериях ACID (атомарность, согласованность, изоляция, долговечность) для достижения соответствия. С этой целью вы можете использовать модуль транзакций ACID без дополнительных затрат.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *