Unobvious things you need to know about key-value stores
This title could be clearer and more informative.Try out Clickbait Shieldfor free (5 uses left this month).
Key-value stores are deceptively simple but have non-obvious design implications. Key design is critical: UUIDs index poorly due to randomness, while sequential UUIDs or structured hierarchical keys (e.g., 'CustomerId-ProjectNumber-TaskNumber') enable efficient tree traversal, filtering, and partitioning in distributed systems. Document databases are key-value stores with structured values (MongoDB, RavenDB), wide-column databases (DynamoDB, Cassandra, CosmosDB) add variable column sets per row, and event stores treat values as sequences of events. Redis, Elasticsearch, and even Kafka are fundamentally key-value stores. The post argues that most real-world data is document-like rather than relational, and that relational databases became dominant largely due to storage cost constraints in the 1980s — a constraint that no longer applies.