DynamoDBでQuery
一つのパーティションの中に26万件データが入っている状態でQueryをいっぱい試してみたけど、1回4KBくらいの読み込みだと、0.01秒くらい。
大したことないな。
>>> sparse.item_count 263132 >>> times = [] >>> for i in range(100): ... before = time.time() ... res = sparse.query( ... TableName='sparse-data', ... KeyConditionExpression='sid=:sid AND unixtime BETWEEN :start_dt AND :end_dt', ... ExpressionAttributeValues={ ... ':sid': 'ABC-1234567', ... ':start_dt': decimal.Decimal(start_dt.timestamp()), ... ':end_dt': decimal.Decimal(end_dt.timestamp()) ... }, ... ReturnConsumedCapacity='TOTAL' ... ) ... times.append(time.time() - before) ... print('consumed capacity: {0:.2f}'.format(res['ConsumedCapacity']['CapacityUnits'])) ... time.sleep(0.5) >>> sum(times) / len(times) 0.019462196826934813