33 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| 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) |