NoSQL & Choosing a Store
Four shapes
Key-value. A map-shaped interface: get(key), put(key, value). The key gives a natural partitioning input and keeps the primary access path simple. Products may add secondary indexes or richer structures, but the model is strongest when requests begin with a known identifier. Redis, DynamoDB, and Memcached all expose parts of this shape.
Document. Key-value where the store understands the value's structure, so it can index and query inside it. Schema-flexible, which is genuinely useful when records differ from each other — a product catalogue where every category has different attributes. MongoDB, DynamoDB, Couchbase.
Wide column. Rows keyed by a partition key, each holding a sparse, arbitrary set of columns grouped into families. Built for enormous write volume and for range scans within a partition. Cassandra, HBase, Bigtable. This is the shape behind time-series and event storage at scale.
Graph. Nodes and edges as first-class things, so traversal is the primitive operation. "Friends of friends who like X" is a walk instead of a stack of self-joins that gets exponentially worse with depth. Neo4j. Reach for it when relationships are the data.
KEY-VALUE get(k) → v sessions, caches DOCUMENT query inside v catalogues, profiles WIDE COLUMN (partition, cols) time series, events GRAPH nodes + edges social, recommendations
3 components2 connections0:00
Recording…