freeCodeCamp/guide/russian/cloud-development/amazon-aws/dynamodb/index.md

33 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Amazon DynamoDB
localeTitle: Amazon DynamoDB
--- ## Amazon DynamoDB
Amazon DynamoDB - это сервис от Amazon Web Services (AWS), который предлагает полностью управляемую базу данных NoSQL. Его основной особенностью является способность масштабироваться бесконечно в зависимости от требуемой рабочей нагрузки. Он полностью управляется, пользователю не нужно беспокоиться о базовой инфраструктуре, например о масштабировании вверх или вниз в зависимости от рабочей нагрузки. Он поддерживает хранение данных на основе ключей и документов.
Основными компонентами службы DynamoDB являются:
* **Таблица** : DynamoDB хранит данные в таблицах, которые похожи на реляционные базы данных. Главное отличие состоит в том, что она схематична, она не имеет фиксированной структуры с момента ее создания.
* **Элемент** : Элемент - это данные, хранящиеся в таблице, а таблица может иметь неопределенное количество элементов. По сравнению с реляционной базой, элемент будет представлять собой строку в таблице.
* **Атрибут** : элемент имеет атрибуты, похожие на столбцы в реляционных базах данных. Тем не менее, поскольку DynamoDB является схематичным, элемент не должен иметь одинаковые атрибуты. Более того, атрибуты могут быть одним значением или JSON-подобным документом с другими полями, которые также могут быть запрошены.
Хотя DynamoDB не нуждается в фиксированной структуре для своих таблиц, для этого необходим первичный ключ для каждого элемента таблицы. Первичный ключ, как и в реляционных базах данных, должен быть уникальным. Первичный ключ может быть простым или составленным. Простой первичный ключ состоит только из ключа раздела. Скомпилированный первичный ключ, в свою очередь, состоит из ключа раздела и ключа сортировки. В простом первичном ключе ключ раздела должен быть уникальным, а в скомментированном ключе ключ раздела может быть равен, но ключ сортировки должен быть другим.
Концепция ключа раздела и ключа сортировки очень важна, поскольку она связана с тем, как DynamoDB хранит данные. DynamoDB хранит данные в разделах, а ключ раздела - это ключ для раздела. DynamoDB использует значение в ключе раздела в качестве входа хеш-функции, чтобы знать, где он хранит данные. В случае сложенного ключа все элементы с одним и тем же ключом раздела хранятся в одном разделе, но сортируются по типу сортировки.
Amazon DynamoDB также имеет высокую доступность. Он реплицирует данные на многие серверы в разных зонах доступности в регионе. Зоны доступности - это центры обработки данных, физически разделенные безопасным расстоянием. В случае бедствия на одном сервере другие серверы реплицируются на безопасном расстоянии и нетронутыми.
Благодаря простоте настройки и бесконечной емкости для масштабирования это хорошо для многих случаев использования. Он лучше всего подходит для сценариев, где требуемая нагрузка неизвестна или появляются внезапные пики. Некоторые из вариантов использования - это хранилище данных для серверных приложений, микросервисов, мобильных back-end, игр, IoT и других.
### Ресурсы:
* [Базы данных ключевых значений](https://guide.freecodecamp.org/computer-science/databases/key-value-databases)
* [Реляционные базы данных](https://guide.freecodecamp.org/computer-science/databases/relational-databases)
### Дополнительная информация:
* «Что такое Amazon DynamoDB?» из [документации AWS DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html?shortFooter=true)
* «Основные компоненты DynamoDB» из [документации AWS DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html?shortFooter=true)