对于不是非常大量的数据,我们将所有密钥存储在带有List的一个bin中。
但是bin的大小有限制。
在Java客户端中使用ScanCallback的函数scanAll
实际上工作得非常慢,所以我们在项目中负担不起。当你给他钥匙时,Aerospike工作得很快。
现在我们有一些集合,其中有很多记录和密钥。存储所有密钥的最佳方法是什么,或者有一些方法可以快速获得并且没有scanAll?
答案 0 :(得分:1)
扫描小集当前是一种效率低下的操作,因为有4K逻辑分区,并且扫描线程必须在扫描期间减少每个分区。小集不一定在所有分区中都有记录,因此您无需支付扫描费用的开销。这可能会在未来的版本中发生变化,但现在就是这种情况。
有两种方法可以更快地获取集合中的所有记录:
WHERE setname=XYZ
。对于一小部分,这将比扫描快得多。