簡體   English   中英

關於時間戳的 Dynamodb 范圍查詢

[英]Dynamodb range query on timestamp

我們有一個包含一列的 DDB:時間戳(字符串)

本質上我們需要查詢Timestamp列范圍之間的數據。

做這個的最好方式是什么?

我嘗試使用Timestamp列在我的測試環境中創建 GSI,但很快意識到我將無法查詢該列的范圍。

編輯:到目前為止,我發現最好的方法是:

  • 我們知道的 event_type 上的 GSI 將始終等於Update
  • 添加了排序鍵作為Timestamp列,所以我能夠查詢時間戳的范圍

如果您知道更好的方法,請告訴我。 謝謝。

你的方法很好。 DynamoDB 支持日期,您可以使用“BETWEEN”進行查詢。

一種更好但視情況而定的方法是將時間范圍包含在分區鍵中。 如果您的時間范圍總是相同的大小,例如 1 天,您可以執行類似的操作

PK                             
EVENT_TIME_RANGE#(start <-> end) 

然后使用非常有效的 PK 查找查詢檢索此時間范圍內的所有條目。

如果您不能這樣做但需要優化時間范圍查找,您可以將數據復制到這個“自制”時間范圍索引中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM