我最近問了一個關於Neo4j的問題,我開始工作了,而且看起來不錯。它是可嵌入的,它是用Java編寫的,並沒有太多的依賴關係。哪個嵌入式數據庫用Java編寫的簡單鍵/值存儲?
但是,它是一個圖形數據庫,我不知道這是個好主意還是不要將它用作簡單的鍵/值存儲。
基本上我已經有了一個大的地圖,這在Java中是這樣的:
Map<Integer,Map<String,String>>
我在主地圖有幾十上百萬個條目,每個條目都包含自身的地圖的財產/價值。 「內部」地圖相對較小:大約20個條目。
我需要一種方法來保持從web應用運行到另一個地圖。
使用Neo4j,我所做的是爲每個ID(整數)創建一個節點,然後將每個條目的一個屬性放入內部映射中。從我的早期測試看來,這似乎有效,但我不確定這是繼續進行的好方法。
哪種嵌入式數據庫,用Java編寫,你會用到嗎?
的要求是:
用Java編寫的
嵌入(所以沒有什麼太大)
不 SQL(*)
開源
輕鬆備份(我需要能夠做「活」備份,服務器運行時)
我的術語可能有點錯誤太多,所以隨便幫我/指正。對於我的「地圖地圖」,最合適的是一個關鍵/值對數據庫對嗎?
我有點失去了作爲鍵/值對數據庫,文件數據塊,大表,圖形數據塊等之間的差異
我也會喜歡,如果是使用圖形DB是個好主意像我的需要Neo4J(我認爲性能真的不會是一個問題,因爲我會有相對較少的參賽作品)。
當然我可能只是堅持我自己的地圖的地圖,但我真的不想在這裏重新發明任何車輪。我想重用一個久經考驗的數據庫...
(*)我不想SQL的原因是我總是會有這個「地圖映射」,內部映射會不斷演變,所以我不想要太結構化的東西。
是內在的地圖很可能是在每個條目不同主地圖的內部地圖之間是否存在大量的重疊?您可以採取多種不同的路線,但這取決於結構中參照複製的數量。 – cdeszaq 2012-03-19 14:41:34
@cdeszaq:感謝您的評論和幫助......內部地圖大多具有相同數量的屬性和相同的屬性,但是每個屬性的值會有所不同。我會說有一些重疊,但我不認爲表演會成爲一個很大的擔憂:我更喜歡方便/小/易於備份的東西。你認爲Neo4j會在這裏工作嗎?我知道有幾個選擇:太多,我有點失落:) – 2012-03-19 14:47:11
@cdeszaq:我忘了提及:內部地圖的屬性應該在應用程序的生命週期中「發展」:新屬性將被添加(舊的條目不具有這些新的屬性時,在查詢不確定的屬性時應默認爲默認值)。所以存在重疊,但它沒有「結構化」,因爲沒有任何固定的模式(如果我的術語是正確的)。 – 2012-03-19 14:53:18