在数据库中存储 BitSet 数组的最佳方法?

2023-12-19

我有一个数组java.util.BitSet我想保留在我的数据库中,但我不知道最好的方法是什么。 准确地说我得到了x*y true or false我想要存储的每个条目的值。我想java.util.BitSet是一个很好的尝试,但我真的不知道如何将它存储在数据库中。

我正在使用带有 hibernate 的 MySQL 数据库(带注释)。

这就是我初始化地图的方式:

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

Update:

这个数据集中没有关系,问题是我有大量的“二维数组”,其中一个的大小约为 360*180。

我也尝试用它制作图像,单色 pbm 文件很容易制作。但数据仍然不在数据库中,每次处理保存的“图像”文件我认为都太过分了,而且有点慢。


您的数据库中可以有整数列(或任何等效的列)。

如果你有 2 列并假设每列都是 32 位,你可以输入 row 1 col 1 32 位,然后 row 1 col 2 接下来的 32 位,然后您转到 第 2 行第 1 列并重新开始,依此类推。

这些位之间有什么可以利用的关系吗? 或者这只是一个大垃圾场?

注意:我使用这种技术来打包/压缩数据,因此它可能不完全是您所需要的。

EDIT:
我正在考虑存储原始斑点并跟踪modified通过将位存储在单独的实体中(新表或多列) 你有原始的斑点,然后是一个映射BitIndex:BitNewValue.
现在更合适的框架是地图缩小 http://en.wikipedia.org/wiki/MapReduce。 但我可以看到,如果更改了很多位,那么管理这样的事情会变得非常令人头痛。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在数据库中存储 BitSet 数组的最佳方法? 的相关文章

随机推荐