我是NoSQL的新手,我很努力想要找出最適合我正在嘗試構建的應用程序的NoSQL實現。哪個NoSQL實現最合適?
我的Java應用程序需要有一個包含數百萬到數十億條條目的內存哈希映射,因爲它模擬了單層神經網絡。現在我們使用Trove以便能夠使用基元作爲鍵和值來減小地圖的大小並提高訪問速度。該地圖是地圖的地圖,其中外部地圖的鍵是長的,而內部地圖具有長/浮點鍵/值。
當應用程序啓動時,我們需要能夠將保存的狀態從磁盤讀取到映射圖。對地圖貼圖的更改也需要連續或按照某個預定時間間隔保存到磁盤。
因爲他們的文檔和對象數據庫,我最初被拉向OrientDB,雖然我現在還不確定什麼會更好。然後我碰到了Redis,這是一個關鍵的價值存儲,並與可轉儲到磁盤的內存數據集一起工作,包括主從複製。但是,它看起來不像地圖的值可以是除了字符串以外的任何東西。
我在正確的地方尋找解決方案以滿足我的需求嗎?現在,我喜歡Redis的內存和主從方面,但我喜歡OrientDB的對象/文檔功能,因爲我的數據結構比簡單的字符串更復雜,並且能夠使用帶有原始鍵/值類型的Trove非常有利。如果閱讀便宜並且寫作比其他方式更昂貴,那將會更好。
想法?
謝謝,我喜歡這個答案。我忽略了在文檔中,我會寫一些測試代碼現在就試用它。這可能最終成爲最佳解決方案。缺點是,我必須編寫自己的持久代碼,但最終我的應用程序將得到優化。如果我試圖將它發展到NoSQL框架,我可能不得不做出醜陋的妥協。 – herrtim 2013-02-20 15:00:08