【发布时间】:2017-03-03 12:56:31
【问题描述】:
我打算将 Riak 用作存储用户会话数据的服务的后端。用于检索数据(二进制 blob)的主键名为 UUID,实际上是一个 uuid,但有时可能使用一两个其他键(例如用户的电子邮件)来检索数据。
自然的选择是选择 leveldb 后端,并有可能在这种情况下使用二级索引,但由于二级索引搜索不是很常见(大约 10% - 20% 的查找),我想知道它是否不会最好有一个单独的“索引”存储桶,这样映射的 email->uuid 将被存储在其中。
在这种情况下,使用“二级”索引查找时,我会先在“索引”存储桶中查找 uuid,然后使用主键正常读取数据。
知道 bitcask 在延迟方面更具可预测性并且可能更快,您会推荐这种设计,还是我应该坚持使用 leveldb 和二级索引?
【问题讨论】: