Я создал таблицу в AWS dynamoDb только с одним хэш-ключом. В настоящее время он содержит более 20 миллионов данных, и каждый день вводится несколько тысяч данных.Как сканировать данные с AWS dynamoDb постепенно
В последнее время я хочу получать эти данные с dynamoDb на локальный жесткий диск каждый день. Я написал небольшую программу для использования операций сканирования для их сохранения. Общий размер данных не намного больше, около 10G, но стоимость времени в процессе сканирования составляет около 5 часов в день. Разумеется, учитывая затраты, я не установил намного большую пропускную способность чтения.
Мой вопрос: есть ли способ сканировать эти данные поэтапно, а это значит, что мне нужно только скопировать недавно вставленные данные, но не всю базу данных. Однажды я попытался использовать withExclusiveStartKey
, но он не смог найти недавно вставленные данные, возможно, потому, что lastKeyEvaluated
описывает только последний ключ конкретного сегмента.
«Сканирование» смотрит на всю таблицу. Если вы хотите сделать какой-то запрос только к новым элементам, вам нужно будет моделировать свои данные таким образом. Если вы только заботитесь о новых обновлениях, вы можете взглянуть на [DynamoDB streams] (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html) и [Amazon Kinesis] (http : //dynamodb-preview.s3-website-us-west-2.amazonaws.com/docs/streams-dg/Streams.KCLAdapter.html). – mkobit
ОК, спасибо. Я добавил поле временной метки для каждой части данных и каждый раз запрашиваю новые данные в Улье. – loopscn