簡體   English   中英

在數據庫中存儲BitSet數組的最佳方法?

[英]Best way to store an array of BitSet in database?

我有一個要保留在數據庫中的java.util.BitSet數組,但是我不知道什么是最好的方法。 准確地說,對於每個要存儲的條目,我都有x*y true or false值。 我強壯java.util.BitSet是一個很好的嘗試,但我真的不知道如何將其存儲在數據庫中。

我正在使用帶有休眠(帶有注釋)的MySQL數據庫。

這就是我初始化地圖的方式:

 Bitset[] map = new BitSet[x];
 for (int i = 0; i < x; i++) {
     map[i] = new BitSet(y);
 }

更新:

這個數據集中沒有任何關系,問題是我有大量的“二維數組”,其中一個的大小約為360 * 180。

我還嘗試用它制作圖像,單色pbm文件很容易制作。 但是仍然數據不在數據庫中,我認為每次處理保存的“圖像”文件都是過大的,而且有點慢。

您可以在數據庫中包含ints列(或任何等效的列)。

如果您有2列,並且假設每一列都是32位,則可以在第1行col 1 32位中輸入,然后在第1行col 2中輸入下32位,然后轉到第2行col 1並重新開始,依此類推。

您可以利用這些位之間有任何關系嗎? 還是只是一個大垃圾場?

注意:我使用此技術來打包/壓縮數據,因此它可能並不是您所需要的。

編輯:
我正在考慮存儲原始blob,並通過將修改后的位存儲在單獨的實體(新表或更多列)中來跟蹤已修改的位。您有原始blob,然后是BitIndex:BitNewValue的映射。
現在,一個更合適的框架是map reduce 但是我可以看到,如果更改很多內容,如何管理這樣的事情將變得非常頭疼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM