O'Reilly logo
  • Svend Vanderveken thinks this is interesting:

we can construct a global index that covers data in all partitions. However, we can’t just store that index on one node, since it would likely become a bottleneck and defeat the purpose of partitioning. A global index must also be partitioned, but it can be partitioned differently from the primary key index


Cover of Designing Data-Intensive Applications, 1st Edition


Oh right, with LSM-tree, we are able to store the index of the primary key on one single node, but that is because we assume the keys are sorted (at least within each segment), so the index can be sparse and contain just a sub-set of the values.

For a secondary index, we cannot assume the values are sorted, so we cannot use the same trick.