2012-11-07 51 views
3

我們正在爲用戶收集時間序列事件,並且需要能夠在一定時間範圍內進行查詢。示例行可能是:在DynamoDB中存儲時間序列數據

{ user_id: 100, timestamp: 1352293487, location: "UK", rating:5 } 

我們需要能夠根據特定用戶的時間戳查詢一個時間範圍。我是否認爲我們可以利用DynamoDB的查詢操作並將user_id設置爲主鍵,將時間戳設置爲範圍鍵以便在兩個時間戳值之間進行有效查詢,這樣做是否正確?

+0

+1用於提示解決方案 – yadutaf

+1

現在有一個關於此的小文檔條目:http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/GuidelinesForTables.html#GuidelinesForTables.TimeSeriesDataAccessPatterns –

回答

3

只要有足夠的用戶,您的建議聽起來像是一個很好的模式。

如您所知,亞馬遜會自動將您的表格分散到各個分區以獲得可靠性和性能。我不是100%確定,但我認爲Query請求一次只能在一個分區上工作。這很重要,因爲預配吞吐量均勻分配到這些分區上,這意味着同一項目上的頻繁查詢只會使用您配置的一小部分。