我需要維護存儲大量計數器的小時表。我計劃隨時保留當前的小時表和前一小時的表格,因爲較舊的數據對我而言並不重要。維護小時表NoSql
例如,如果時間是下午4點30分,我將在下午3點到4點有一張小時表,當前小時表從下午4點到4點30分。一旦時間過了下午5點,我刪除了3:00-4:00點的桌子。
每個小時表將增長到7-8 gb的最大大小,並且查詢是高度併發和麪向寫的(10:1寫入:讀取,每秒20,000次寫入和平均每秒2000次讀取)。因爲數據的大小很小(我的數據庫中最大10GB)並且所有查詢都是計數器增量,所以我應該使用像Cassandra(計數器列)這樣的關鍵val存儲區還是像Redis一樣的內存數據庫。 (我打算分區數據庫拆分巨大的寫入負載)?
謝謝。
感謝您的回覆!我唯一關心的是如果我的機器能夠處理巨大的查詢負載(每秒30000次,在峯值時每秒讀取3000次)。另外,假設我必須擴展到每秒可寫100000次寫入數據,使用redis或cassandra會不會更輕鬆? – amaron
Redis還爲可以自動清理舊數據的密鑰提供了過期/ TTL密鑰。 –
Amaron,無論是榛皮還是風暴,都能完美地適應數十臺和數百臺機器。我的觀點是,如果內存中的解決方案比數據庫快10倍,並且性能同樣好,那麼在同樣的負載下,您將需要少10倍的機器。我認爲內存數據網格比數據庫更容易部署和擴展。 – Wildfire