DynamoDB больше 400КБ - PullRequest
       6

DynamoDB больше 400КБ

0 голосов
/ 07 мая 2018

Я планирую создать таблицу торговца, в которой будут находиться магазины продавца. Большинство продавцов являются малыми предприятиями, и у них есть только несколько магазинов. Тем не менее, есть странные мультисети / франшизы, которые могут иметь сотни местоположений.

Каким было бы мое решение, если бы я хотел включить атрибуты местоположения в таблицу торговца? Если мне нужно разделить его на несколько таблиц, как мне этого добиться?

Спасибо!

РЕДАКТИРОВАТЬ: Как насчет разделения таблицы. Чтобы удовлетворить большинство, скажем, до 5 мест, я могу разместить их внутри одного стола. Но за пределами 5 он будет перетекать в нормализованную таблицу с индикатором на главной таблице, чтобы сказать, что есть более 5 мест. Есть мысли о том, как этого добиться?

1 Ответ

0 голосов
/ 07 мая 2018

У вас есть несколько вариантов в зависимости от ваших шаблонов доступа:

  • Сжать данные и сохранить двоичный объект в DynamoDB.
  • Храните основные детали в DynamoDB вместе со ссылкой на S3 для более крупных вещей. В DynamoDB и S3 нет поддержки транзакций, поэтому есть вероятность, что ваши данные могут стать противоречивыми.
  • Вместо того, чтобы вставлять атрибуты местоположения, вы могли бы нормализовать свои таблицы и поместить эти данные в отдельную таблицу с эквивалентом внешнего ключа для вашей таблицы торговца. Но тогда вам может потребоваться два запроса для получения данных для каждого продавца, которые будут учитываться в ваших расходах на пропускную способность.
  • Снабжение дополнительной таблицей придется обрабатывать в коде приложения, а не на уровне базы данных: if (store_count > 5) then execute another query to retrieve more data

Если вам не нужны производительность и масштабируемость DynamoDB, возможно, RDS - лучшее решение.

...