我們的要求非常簡單,我們希望爲傳感器存儲GPS位置,該位置應該不會超過幾天。數據的總粒度將在一分鐘左右最大。SimpleDB或DynamoDB的生存時間
由於傳感器總數可能超過10億,除非我自己編寫分區邏輯,否則SimpleDB不是一個選項。 SimpleDB通過索引每個屬性,這使得可以在一段時間內運行一次定期清理腳本,刪除大於2天的條目。
DynamoDB看起來好多了,因爲它對數據量沒有限制,我可以在sensorID +時間戳上使用分區+範圍主鍵。但是,刪除舊數據將需要掃描查詢,除非我在時間戳字段上還有全局二級索引。使用這個二級全局索引,查詢可能會更快。
難道只有我相信有更好的出路嗎?使用DynamoDB/SimpleDB更好,因爲整個部署都在AWS環境中,而且我們不想投入很多操作。我知道像Mongo DB這樣的其他NOSQL數據庫支持這些數據庫。
我真的沒有看到GPS位置如何**都具有相同的格式**將更好地存儲在NOSQL數據庫中。這實際上是數據的最佳定義,可以在表格中最好地存儲,索引,檢索和分析。 –
因爲我會有數十億的條目。我希望系統能夠自動共享/分區,而不用擔心。 它幾乎聽起來像任何人沒有靈活的模式使用NOSQL是做錯了,事實並非如此。 – Ouroboros
「數十億同樣形成的條目」**正是爲什麼你應該使用關係數據庫,而不是無模式NOSQL。當你擁有數十億個相同的數據點,但是你將它們存儲爲鍵值對時,是的,你不明白數據庫的作用,以及爲什麼劃分鍵值存儲比分配硬要困難得多分區可排序/可索引表。 –