Реляционная БД в единую таблицу Динамо БД - PullRequest
0 голосов
/ 29 февраля 2020

Я прочитал много документации с AWS и видел Re-Invent Videos. Это говорит о том, что любые реляционные таблицы могут храниться в одной базе данных Dynamo (за исключением нескольких сценариев ios). Ниже приведена схема в реляционной базе данных, которую я хочу преобразовать в одну базу данных Dynamo, но почесывая голову, как она должна выглядеть. Мои варианты использования:

  • Получить все атрибуты по номеру товара / товара
  • Получить специфицированный атрибут c для номера товара / товара
  • Получить все товары / Продукт по имени атрибута и значению атрибута (например, для получения всех элементов с размером, равным 45)
  • Получение информации об атрибутах по имени атрибута (например, для получения дополнительных сведений об атрибуте цвета)

enter image description here

1 Ответ

1 голос
/ 29 февраля 2020

Ваши варианты использования лучше подходят для реляционной базы данных, чем для базы данных SQL .

База данных SQL отлично подходит для хранения и извлечение данных на основе первичного ключа . Например, «сохранить запись № 12» или «получить запись № 12». Сохраненный элемент имеет формат JSON и может содержать много информации. DynamoDB также может обеспечить предсказуемую производительность для таких запросов, что делает его идеальным для приложений, критичных к скорости (например, для получения пользовательских профилей в популярном веб-приложении).

Однако No SQL не является идеально, если вы будете sh для поиска таких данных, как "Получить все предметы, где размер 45". Вы можете достичь этого, добавив дополнительные индексы, но они могут стать сложными и не такими гибкими, как реляционная база данных.

Да, вы можете «хранить» реляционные таблицы в базе данных No SQL, но вы не можете получить к ним доступ так, как вам хочется.

Ваши примеры и диаграмма лучше подойдут для реляционной базы данных. Я бы рекомендовал Amazon RDS для MySQL или PostgreSQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...