Re:UUIDs are popular, but bad for performance (2019)
by bhawks on Saturday January 08, 2022 @12:06PM
(#29853601)
Indeed, traditional rdbms are generally optimized for patterns with high locality. High locality patterns with NoSQL and NewSQL style dbs often end up causing one node in the system to receive disproportionately high load that defeats attempts to spread operations across the cluster.
Re:UUIDs are popular, but bad for performance (2019)
by luhn on Saturday January 08, 2022 @01:58PM
(#29854898)
DynamoDB runs the partition key through a hash function, so sequential values end up being evenly distributed across partitions.
Re:UUIDs are popular, but bad for performance (2019)
by stickfigure on Saturday January 08, 2022 @04:10PM
(#29856318)
If so, how does it iterate in key order?
I should clarify - the problem with Firestore is the index tablets. The indexes inherently need to be inorder or you can't perform ordered queries.
Re:UUIDs are popular, but bad for performance (2019)
by luhn on Monday January 10, 2022 @01:30PM
(#29879225)
It can't. You can only perform range queries and the like on "sort keys." All sort keys are on the same partition, so has limits on storage size and throughput.
Partitioning is very explicit in DynamoDB, for better or for worse. Harder to shoot yourself in the foot, but also limits what you can do.
I don't know for certain, but I suspect DynamoDB and most other databases that can trace their origins to the bigtable whitepaper have similar behavior.