Aerospike:使用二级索引从特定节点读取记录

时间:2018-07-26 11:17:10

标签: aerospike clustered-index distributed-database

我想使用二级索引从Aerospike DB中读取记录。
请问是否有可能使用二级索引从特定节点(而不是从所有节点---默认行为)中读取记录

我正在寻找使用Java进行此操作的方法。您能为它指出合适的文档或源代码吗?

1 个答案:

答案 0 :(得分:4)

Aerospike将您的所有记录平均分布在群集的所有节点上。假设您有一个包含3个节点的集群,其中包含6条记录,如下所示,并且可能按参数显示的节点进行分配:

id - age - name  (On node)
1 - 30 - Jack ( on n1)
2 - 34 - Jill (on n3)
3 - 31 - Bill  (on n1)
4 - 29 - Jane  (on n2)
5 - 40 - Tim  (on n3)
6 - 20  - Nik  (on n2)

,然后根据年龄建立二级索引-询问年龄在28到32岁之间的所有记录-二级索引查询将发送到每个节点,并且每个节点会将匹配的记录发送回客户端。因此,您不能发出SI查询并说在节点n1上找到年龄在28到32之间的所有记录。不能做-Aerospike中没有这种功能。