Storage
儲存和查詢大型稀疏矩陣的最佳開源數據庫技術
我有一個大型向量空間模型,其中每個點都是多變數觀察。換句話說,我有大量非常大的記錄,主要是整數和浮點數。我從記憶體矩陣開始,但考慮到大量的點 (1B+) 和大量的維度 (1K+),我很快意識到這不是一個選擇。
我需要
1)使整個事物持久化和動態化(我想輕鬆添加/更新/刪除點/維度)
2)高效查詢VSM,執行相似性查詢(給定一個點,找到前K個相似點)和範圍查詢(找到一個子空間內的所有點)。
根據一些閱讀,似乎沒有現成的軟體包可以做到這一點。你會用什麼來實現這種場景?將每個點作為關係數據庫中的一行轉儲不起作用,因為維數很大。即使在規範化之後,關係數據庫顯然也太慢而無法執行相似性查詢。
此外,我需要計算矩陣塊上的內積。在這種情況下,您會推薦什麼技術?例如,我讀過有關數組數據庫和 OLAP 多維數據集的文章,但我想從真正的 DBA 那裡得到一些建議。
謝謝,穆龍
你應該看看SciDB——一個專為這個案例而設計的數據庫。它的主要推動者Michael Stonebraker是一個對數據庫非常了解的人 - 可以說他參與的數據庫系統比大多數人吃過的熱飯還多,但不是很多:-)!
“包括 Ingres、Illustra、Cohera、StreamBase Systems、Vertica、VoltDB 和 Paradigm4。他之前是 Informix 的首席技術官 (CTO)。他還是《數據庫系統讀物》一書的編輯”。
Google“michael stonebraker scidb 稀疏矩陣”及其子集,我認為它可能非常適合您想要的東西。