我想知道 DAX 如何处理时间序列。我想每分钟插入一些数据,添加 TTL 以在 14 天后将其删除,并在每次插入后获取最后 3 小时的数据:
- 每分钟插入 1KB
- 14天后过期
- 每次插入后读取过去 3 小时的数据
3 小时是 180 分钟,所以大部分时间我需要最后 180 项。有时数据有一段时间没有来,所以可能少于 180 项。
所以 14 天有 20,160 项 ±19MB 的数据。每分钟获取最后 3 小时的数据时,我将使用多少 DAX?是 19MB 还是 180KB?
let params = {
TableName: 'prod_server_data',
KeyConditionExpression: 's = :server_id and t between :time_from and :time_to',
ExpressionAttributeValues: {
':server_id': serverId, // string
':time_from': from, // timestamp
':time_to': to, // timestamp
},
ReturnConsumedCapacity: 'TOTAL',
ScanIndexForward: false,
Limit: 1440, // 24h*60 = 1440. 1 check every 1 min
};
const queryResult = await dynamo.query(params).promise();