簡體   English   中英

在DynamoDB中存儲時間序列數據

[英]Storing timeseries data in DynamoDB

我正在嘗試在DynamoDB中存儲一堆網絡測量結果,但是我不確定正確的分區鍵和范圍鍵。 我的數據將如下所示:

{
count: 33,
total: 45,
timestamp: 21231133,
data: {
    key1: value1,
    key2: value2,
    key3: value3,
    key4: value4,
    key5: value5}
}

我需要能夠檢索時間戳介於timestamp1和timestamp2之間的數據。 我將每秒存儲一次數據,並以較慢的時間間隔(也許每30秒)進行檢索。

我需要避免熱分區,並且仍然能夠快速查詢數據。 我不想做表掃描。

謝謝,

基於問題中提到的查詢模式,我認為“ timestamp”屬性應該是PARTITION鍵。 將屬性定義為String,Number或Binary時,可以使用BETWEEN運算符。

在此表數據上,除非您有任何其他查詢模式或用例,否則我看不到任何可用作RANGE鍵的屬性。

BETWEEN:大於或等於第一個值,並且小於或等於第二個值。 AttributeValueList必須包含兩個相同類型的AttributeValue元素,即String,Number或Binary(不是集合類型)。 如果目標值大於或等於第一個元素且小於或等於第二個元素,則目標屬性匹配。 如果一項包含的AttributeValue元素類型與請求中提供的類型不同,則該值不匹配。 例如,{“ S”:“ 6”}與{“ N”:“ 6”}不進行比較。 此外,{“ N”:“ 6”}與{“ NS”:[“ 6”,“ 2”,“ 1”]}的比較

暫無
暫無

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

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