我想存储 ~1000 .. ~mln 大小为 ~100000 .. ~1mln 位的二进制向量。 搜索基于二元运算、重叠位计数、汉明距离等。
类似:
SELECT id,vec FROM abc ORDER BY count(param & vec) LIMIT TOP 5%
SELECT id,vec FROM abc ORDER BY overlap(param,vec) LIMIT TOP 5%
SELECT vec FROM abc WHERE vec = param
它不一定是 SQL,这只是为了说明..
什么是最好的数据库、文件、缓存……哪一个?
当前最好的想法是使用索引二进制向量并将它们作为数组存储在 postgresql 数据库中。向量是稀疏的,所以它应该可以工作