лучшая стратегия для запроса элементов из Dynamodb

1
задан gka 20 January 2019 в 09:36
поделиться

2 ответа

Полезно разделить две разные вещи, которые похожи друг на друга: запросы и поиск. Если вы хотите, чтобы ваш API предоставлял возможность запроса, то DynamoDB с парой GSI должен удовлетворять большинство ваших требований.

Если вы хотите, чтобы ваш API просто осуществлял поиск по множеству данных, то IMO уходит от стандартных баз данных в область поисковых систем, поэтому, возможно, стоит взглянуть на AWS CloudSearch или Elasticsearch, или что-то вроде Algolia , которые являются технологиями, специально разработанными для поиска.

Для дизайна DynamoDB я рекомендую это видео о продвинутых шаблонах проектирования: https://www.youtube.com/watch?v=HaEPXoXVf2k

Через 1-2 часа вы многое узнает об использовании DynamoDB, в том числе о том, как моделировать шаблоны реляционного доступа на нем. Примерно через 50 минут вы увидите большую примерную таблицу, из которой вы сможете собрать проектные решения для достижения определенного набора шаблонов доступа.

0
ответ дан user3399551 20 January 2019 в 09:36
поделиться

Как сказал @Michael - sqlbot, во-первых, вы должны рассмотреть возможность того, что DynamoDB - не правильный выбор.

Чтобы помочь вам с этим, я настоятельно рекомендую вам прочитать документацию (если вы этого еще не сделали). DynamoDB - очень мощная система баз данных NoSQL, но она также может быть очень сложной.

В таком простом случае вы сможете решить его без GSI. Имейте в виду, что использование GSI может подразумевать использование дополнительных WCU каждый раз, когда вы добавляете / обновляете / удаляете элемент в базовой таблице. И имейте в виду, что GSI в конечном итоге непротиворечивы, что может или не может быть проблемой, в зависимости от вашего случая.

Вы можете также рассмотреть другие решения NoSQL, такие как Cassandra, MongoDB, CouchDB и т. Д.

0
ответ дан cpr4t3s 20 January 2019 в 09:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: