DynamoDB позволяет пользователям создавать базы данных, способные хранить и извлекать любой объем данных и обслуживать любой объем трафика. Он автоматически распределяет данные и трафик по серверам для динамического управления запросами каждого клиента, а также поддерживает высокую производительность.
DynamoDB vs. RDBMS
DynamoDB использует модель NoSQL, что означает, что она использует нереляционную систему. В следующей таблице приведены различия между DynamoDB и RDBMS.
Общие задачи | RDBMS | DynamoDB |
---|---|---|
Подключиться к источнику | Он использует постоянное соединение и команды SQL. | Он использует HTTP-запросы и операции API |
Создать таблицу | Его фундаментальные структуры являются таблицами и должны быть определены. | Он использует только первичные ключи, а не схему при создании. Он использует различные источники данных. |
Получить информацию о таблице | Вся информация таблицы остается доступной | Раскрываются только первичные ключи. |
Загрузить данные таблицы | Используются строки из столбцов. | В таблицах используются элементы из атрибутов |
Читать данные таблицы | Он использует операторы SELECT и операторы фильтрации. | Он использует GetItem, Query и Scan. |
Управление индексами | Он использует стандартные индексы, созданные с помощью операторов SQL. Модификации к нему происходят автоматически при изменениях таблицы. | Он использует вторичный индекс для достижения той же функции. Требуются спецификации (ключ раздела и ключ сортировки). |
Изменить данные таблицы | Он использует оператор UPDATE. | Он использует операцию UpdateItem. |
Удалить данные таблицы | Он использует оператор DELETE. | Он использует операцию DeleteItem. |
Удалить таблицу | Он использует оператор DROP TABLE. | Он использует операцию DeleteTable. |
преимущества
Два главных преимущества DynamoDB — это масштабируемость и гибкость. Он не требует использования определенного источника данных и структуры, позволяя пользователям работать практически с чем угодно, но единообразно.
Его конструкция также поддерживает широкий спектр использования — от более легких задач и операций до требовательных функциональных возможностей предприятия. Он также позволяет легко использовать несколько языков: Ruby, Java, Python, C #, Erlang, PHP и Perl.
Ограничения
DynamoDB действительно страдает от определенных ограничений, однако эти ограничения не обязательно создают огромные проблемы или препятствуют твердому развитию.
Вы можете просмотреть их из следующих пунктов —
Размеры единицы емкости — Единица емкости чтения — это единое согласованное чтение в секунду для элементов размером не более 4 КБ. Емкость записи — это одна запись в секунду для элементов размером не более 1 КБ.
Предоставленная пропускная способность мин / макс. — Все таблицы и глобальные вторичные индексы имеют как минимум одну единицу чтения и одну единицу емкости записи. Максимумы зависят от региона. В США ограничение на чтение и запись 40 КБ остается ограниченным на таблицу (80 КБ на учетную запись), а в других регионах ограничение на 10 КБ на таблицу составляет 20 КБ.
Предусмотренное увеличение и уменьшение пропускной способности — вы можете увеличивать это так часто, как это необходимо, но снижение остается ограниченным не более четырех раз в день на стол.
Размер таблицы и количество для каждой учетной записи — Размеры таблиц не имеют ограничений, но для учетных записей есть ограничение в 256 таблиц, если только вы не запросите более высокий предел
Вторичные индексы на таблицу — пять локальных и пять глобальных разрешены.
Прогнозируемые атрибуты вторичного индекса на таблицу — DynamoDB допускает 20 атрибутов.
Длина ключа ключа и его значения — их минимальная длина составляет 1 байт, а максимальная — 2048 байт, однако DynamoDB не устанавливает ограничений на значения.
Длина и значения ключа сортировки — его минимальная длина составляет 1 байт, а максимальная — 1024 байта, без ограничений для значений, если в таблице не используется локальный вторичный индекс.
Имена табличных и вторичных индексов. Имена должны содержать не менее 3 символов в длину и не более 255. В них используются следующие символы: AZ, az, 0-9, «_», «-» и «.» ,
Имена атрибутов — один символ остается минимальным, а 64 КБ максимальным, за исключением ключей и определенных атрибутов.
Зарезервированные слова — DynamoDB не запрещает использование зарезервированных слов в качестве имен.
Длина выражения — строки выражения имеют ограничение 4 КБ. Выражения атрибутов имеют ограничение в 255 байтов. Переменные подстановки выражения имеют ограничение в 2 МБ.