我对cassandra及其数据模型相对较新。我有一大堆数据,由染色体上的位置(染色体:起始端)描述,其中我们有24条染色体,起点和终点是整数。我想支持的查询是找到基因组中与一组其他位置重叠的所有位置。如果没有其他想法,我可以创建一个简单的基于R树的“索引”方案,但我认为有人可能会遇到这个问题并提出解决方案。
答案 0 :(得分:1)
由于您需要查询2个维度,您可以使用支持这类geospacial indexing/queries的其他数据库,例如mongodb,请参阅Bounds Queries
在Cassandra,我认为你能做的最好的就是使用geocell(doc)或其他空间填充曲线
您将为每个数据转换开始和结束为geohash,然后您将能够搜索边界框,在[s1,s2]中开始并在[e1,e2]中搜索,通过搜索geohash(s1,e1)和geohash(s2,e2)之间的geocells,它们在bouding框中提供连续的位置