Каков наиболее эффективный способ запроса к моим объектам dynamodb?Как получить счетный счет на dynamodb на миллиард объектов?
Например, у моих объектов есть десять свойств, и я хочу получить отчетный счет на основе 3 свойств.
Каков наиболее эффективный способ запроса к моим объектам dynamodb?Как получить счетный счет на dynamodb на миллиард объектов?
Например, у моих объектов есть десять свойств, и я хочу получить отчетный счет на основе 3 свойств.
Если вам нужны счетчики, лучше использовать AtomicCounters (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithDDItems.html). В вашем случае DynamoDB не поддерживает клавиши «из окна», состоящие из 3-х атрибутов, если вы их не объединяете, поэтому опция должна была бы создать избыточную таблицу, в которой ключ является конкатенацией этих 3 атрибутов, и каждый из них управляет этими объекты, также обновлять AtomicCounter (добавлять, удалять, обновлять - не нужно на самом деле).
Затем вы просто запрашиваете счетчик, избегая сканирования. Таким образом, это сложность пространства для получения скорости извлечения данных.
спасибо помощнику. Когда-либо думали о работе в Великобритании. Пинг, пожалуйста, linkedin.com/in/rifaterdemsahin/ –
Выполните сканирование с помощью соответствующего ScanFilter (в этом случае три свойства not_null) и используйте withCount (true), чтобы возвращать только количество совпадающих записей вместо самих записей.
See the documentation для примера код.
Обратите внимание, что сканирование, вероятно, является неэффективным способом справиться с этим, поскольку это довольно медленная операция относительно других операций DynamoDB. Однако, учитывая то, что вы описали, у меня нет лучшего ответа. –
Я предполагаю, что эта операция поиска в миллиардах - это работа для sql, а не для nosql-систем. –
Не изменяются ли эти свойства? Как часто и быстро вам нужно получить счет? –
они меняются ... они не являются статическими данными журнала –
Как насчет частоты и латентности запроса? Является ли этот тип агрегации общей, необходимой для быстрого функционирования? Вам это нужно в режиме реального времени или вы можете выполнить его в архиве/копии данных? –