Как правильно распространять изменения в связанных таблицах DynamoDB? - PullRequest
0 голосов
/ 21 апреля 2020

Я новичок в Serverless и DynamoDB. Мой вариант использования состоит из двух таблиц Поездки и Маршруты. Таблица поездок состоит из этих параметров {id, Route, Cost, Distance, Time}. Таблица маршрутов состоит из этих параметров {количество, тариф, от, до}.

Параметр стоимости в таблице поездок рассчитывается как quantity * Rate параметра из таблицы маршрутов. Каждый раз, когда создается / редактируется поездка, я выбираю значение из таблицы и сохраняю новое значение как Cost параметр таблицы поездок.

Проблема возникает, когда кто-то изменяет параметр quantity или rate в таблице маршрутов. Как распространить это изменение в таблице поездок? В настоящее время я обновляю параметр Cost каждый раз, когда кто-то обновляет маршруты, есть ли более эффективный способ?

1 Ответ

1 голос
/ 21 апреля 2020

Вы можете использовать динамические потоки. Любое изменение в таблице маршрутов может быть зафиксировано в этих потоках и обработано для обновления соответствующего объекта в вашей таблице поездок. DynamoDB не поддерживает агрегации, к сожалению, в противном случае поле стоимости могло бы быть вычислено при запросе объекта, что было бы намного проще.

...