繁体   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