Key range, hash, and composite partitioning approaches
Global vs local secondary indexes in distributed systems