[英]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.