Should Riak have used dedicated nodes for secondary indices?
runar.jordahl at gmail.com
Wed Jan 25 08:15:49 EST 2012
Siddharth Anand, says that secondary indices (for a key-value store)
best is placed on a separate node, avoiding the need to look up 1 / N
nodes during a query:
"Systems that shard data based on a primary key will do well when
routed by that key. When routed by a secondary key, the system will
need to “spray” a query across all shards. If one of the shards is
experiencing high latency, the system will return either no results or
incomplete (i.e. inconsistent) results. For this reason, it would make
sense to store the secondary index on an unsharded (but replicated)
If I understand Riak correctly, it takes the opposite approach,
storing secondary indices together with the data.
To me at appears like Riak’s approach gives a more uniform system,
with all nodes having the same responsibilities. Does anyone else have
any thoughts on this?
More information about the riak-users