我正在使用分佈式鍵值系統(或數據存儲),它在後端使用levelDB作爲其嵌入式數據庫庫。如何在單個levelDB實例中創建多個邏輯表?
我想讓一個節點/機器承載多個表(用於複製和負載平衡)。我知道levelDB沒有表格的概念,所以我不能以表格形式對數據進行邏輯分區(因此不能將這些表格用作我的基本分佈單元)。
我的問題是:有沒有規定在levelDB的單個實例中有多個「邏輯表」?
據我所知,我可以在我的節點上運行多個levelDB實例,每個實例處理一個表。但我不想這樣做,因爲在這種情況下,當同時訪問這些多個數據庫實例時,會有嚴重的爭用(我相信在磁盤上)。雖然在單個數據庫實例中有多個邏輯表可以給我優化levelDB優化以最大限度地減少磁盤訪問。
是的..看起來這是唯一的方法。我想爲每個平板電腦使用一個文件系統目錄,但顯然如果你打開多個目錄(使用Open(選項,,&db)),只有最後一個目錄用於數據存儲。 –
反正打開的方法不會爲每個目錄(或打開操作)提供唯一的DB處理程序。 –
我不知道你是如何設法用單個LevelDB實例打開多個目錄的......所以我不知道你的意思是「只有最後一個目錄用於數據存儲」。如果你需要多個目錄,那麼你需要使用多個LevelDB實例。 – Kiril