2017-06-01 61 views
1

我使用Apache Ignite 2.0作爲鍵值存儲。我的密鑰將是10到15位數字,值是一個整數。我打算存儲大約5億個這樣的鍵值對。減少Apache Ignite 2.0中的內存足跡

在基準測試中,發現要存儲100萬個這樣的鍵值條目,內存利用率大約爲90MB。爲了只存儲一個整數值,我不想投入如此巨大的內存。即,每個記錄具有大約90字節的單個整數值。

有人可以告訴我如何減少密鑰中使用的內存開銷。有沒有配置?由於我不需要任何壓縮,我是否可以減少使用40字節或其他元信息的BinaryObjectImpl?

或者如果有人可以突出顯示其他kv-商店或技術,我可以探索存儲大量的記錄(甚至幾十億)與較少的記憶足跡將不勝感激。

更新: 我使用example-cache.xml作爲我的配置,按原樣發貨,沒有任何更改。

在此先感謝。

+0

你是怎麼計算出這個尺寸的?您是否嘗試添加一百萬個鍵值對並再次計算大小? –

回答

0

如果您只需要一個鍵值存儲(無數據網格),您是否嘗試過使用MapDB? http://www.mapdb.org/

它提供了堆外存儲和擴展性好。我們已經成功地在幾個項目中使用它來實現緩存存儲。

+0

嗨史蒂夫,謝謝你的回覆。我檢查過mapdb。我可以理解它的一個無限的Java收藏。但我該如何擴展。我沒有看到任何羣集功能。 – Carbonrock