如果我需要一個擁有數十億個對象的數據庫,並且需要隨時立即(或幾乎立即)訪問數據庫中的任何項目,那麼最佳解決方案是什麼?處理數十億條信息的存儲?
這個數據庫將被詢問每秒約1000個請求。數據庫中的行幾乎不相關,因此不需要是關係數據庫。
如果你很好奇爲什麼,它是模擬移動元素。
我在想像一些Cassandra的負載平衡羣集,它們通過一個負載均衡的Web服務器羣集來訪問。
錢是一個因素,所以越便宜越好。軟件或工具沒有限制,但必須是開源的。
只是尋找一種數據庫解決方案,可以很好地處理大量用戶的荒謬數據量(根本不需要關係數據庫)。
它是至關重要的,它處理冗餘和失敗。
只是一個高層次的想法,讓我在正確的方向將是偉大的。
平均而言,1000 req/sec需要從您的數十億收集多少個物體?由不同請求選擇的數據之間會有多少相關?億元以上的物品有多大?如何識別物體? – 2010-07-21 17:46:21
每個請求說10或20。沒有關聯(有,但會計算客戶端)。每個對象實際上只是說10個純文本屬性和3D位置數據。這些對象將通過一個唯一的鍵來標識(或者如果用戶被限定在特定的位置),他們需要能夠看到X單元內的所有對象(所以需要能夠查詢數據庫中的結果在X,Y和Z的範圍內。其他屬性也可以被查詢,但只會導致返回大約10到20或100個對象)。 – jreid42 2010-07-21 17:57:43
澄清你不能說給我所有的屬性z ==這個對象。它總是......給我X,Y,Z 200個單位內的所有對象......然後你可以通過它們的屬性進行額外的過濾(但是這可以在客戶端完成,因爲不會有那麼多地區)。 – jreid42 2010-07-21 17:59:39