NoSQL Databases
Key terms across the four NoSQL data models: document, key-value, wide-column and graph. Covers partitioning and sharding, consistency models, CAP and PACELC, denormalisation, single-table design, and the managed AWS services for each model.
Choosing a NoSQL database is not one decision, it is two: which data model, then which consistency behaviour. Getting the first wrong is expensive because in most of these stores the access pattern is baked into the key design, and changing it means a migration rather than an index.
Worth saying plainly before the terms: a single PostgreSQL instance handles far more than most applications will ever need, and gives you joins, constraints and real transactions for nothing. “NoSQL scales” is not a reason on its own. The good reasons are a specific access pattern that a relational model serves badly, or a write volume no single primary can absorb.
Two terms below are worth reading first because everything else leans on them. Partition key is the most consequential design decision in a key-value or wide-column store, since it decides both where data lives and which queries are possible. And hot partition is what happens when you get it wrong, which is a failure that no amount of provisioned capacity fixes.
No terms found
Try adjusting your search query
Conflict handling
3
Last-writer-wins
A conflict resolution rule where the write with the latest timestamp overwrites the other. Simple, and it silently discards one of the two updates.
Example
Vector clock
Per-node counters attached to a value so that concurrent updates can be detected rather than silently ordered by timestamp. The database surfaces siblings and the application decides.
Example
CRDT
A conflict-free replicated data type, structured so that concurrent operations commute and therefore converge without coordination or conflict resolution.
Example
Consistency
7
Eventual consistency
A read may return a stale value, but in the absence of new writes all replicas converge. The staleness window is usually milliseconds and is not bounded by any guarantee.
Example
Strong consistency
A read always reflects the most recent committed write. In a distributed store this requires coordination, which costs latency and reduces availability during a partition.
Example
Read-your-own-writes
A guarantee that a client which just wrote a value will see it on a subsequent read, even if other clients might not yet. Weaker than strong consistency and often exactly what a user interface needs.
Example
CAP theorem
During a network partition a distributed store can preserve consistency or availability, not both. The common framing as "pick two of three" is misleading. Partition tolerance is not optional in a distributed system, so the real choice is what to do when one occurs.
Example
PACELC
An extension of CAP that covers the normal case. If there is a Partition, choose Availability or Consistency; Else, in healthy operation, choose Latency or Consistency. This describes the trade you feel daily, which CAP does not.
Example
Quorum
Requiring acknowledgement from a majority of replicas. With replication factor N, writes to W and reads from R replicas give strong consistency whenever R + W > N.
Example
Tunable consistency
Choosing the consistency level per operation rather than per database, so a critical read can be strict while a cheap one is not.
Example
Foundations
2
NoSQL
A family of databases that do not use the relational model as their primary structure. The name is misleading in two ways: several of them speak a SQL-like query language, and the meaningful difference is not the query syntax but that they trade joins, ad-hoc querying and multi-row transactions for horizontal scale and flexible shape.
Example
Schema-on-read
The database accepts documents without validating a shape, so structure is interpreted when the data is read. This does not remove the schema, it moves it into your application code where nothing enforces it.
Example
phone is sometimes a string, sometimes an object, and sometimes absent. The database was fine with all three.Modelling
6
Denormalisation
Deliberately duplicating data so a read needs one request instead of several. In NoSQL this is the default design approach rather than an optimisation, because there is no join to fall back on.
Example
Single-table design
A DynamoDB pattern that stores several entity types in one table, using generic key names and prefixed values so that related items share a partition and can be fetched together in one query.
Example
USER#7 partition holding the profile item plus that user's order items, so one query returns everything needed for a page.Code Snippet
pk sk type dataUSER#7 PROFILE user {"name":"Ada"}USER#7 ORDER#2026-03-01 order {"total":44.48}USER#7 ORDER#2026-04-11 order {"total":12.00}# one query on pk=USER#7 returns the profile AND the ordersAdjacency list pattern
Modelling many-to-many relationships in a key-value store by writing an item per relationship in both directions, so either side can be queried efficiently.
Example
COURSE#1 / STUDENT#7 and STUDENT#7 / COURSE#1.Secondary index (GSI and LSI)
An alternative key structure enabling queries the primary key cannot serve. A local secondary index shares the partition key and adds a different sort key; a global secondary index uses an entirely different partition key and is maintained asynchronously.
Example
Write amplification
One logical write causing several physical writes, because of secondary indexes, replication, denormalised copies, or log-structured storage compaction.
Example
Item collection
All items sharing a partition key. Because they live on the same partition, they can be read in one query, which is the mechanism single-table design relies on.
Example
Models
4
Key-value store
The simplest model. A key maps to an opaque value, and the only efficient operation is lookup by that key. Extremely fast and predictable, with no way to query the value's contents.
Example
Document store
Stores self-describing documents, usually JSON or BSON, and can index and query fields inside them including nested ones. Documents in a collection need not share a shape.
Example
Code Snippet
// one document holds what would be three relational tables{ "_id": "order-1001", "customer": {"id": "c-7", "name": "Ada"}, "items": [ {"sku": "A1", "qty": 2, "price": 9.99}, {"sku": "B4", "qty": 1, "price": 24.50} ], "total": 44.48}Wide-column store
Rows live in partitions, and within a partition rows are ordered by clustering columns. Each row can hold a different set of columns. Optimised for writing a lot and reading ranges within one partition.
Example
Graph database
Stores nodes and edges as first-class things, so traversing a relationship is a pointer hop rather than a join. Query cost scales with the neighbourhood you walk rather than the size of the dataset.
Example
Operations
4
Scan vs query
A query uses the key structure to read only matching items. A scan reads every item in the table and filters afterwards, so it costs capacity proportional to table size regardless of how few items match.
Example
Conditional write
A write applied only if a condition on the current item holds, evaluated atomically by the database. The basis for optimistic locking and idempotency in a store with no transactions.
Example
attribute_not_exists(pk) makes an insert idempotent. The second attempt fails instead of overwriting.Code Snippet
table.put_item( Item={"pk": key, "state": "processing"}, ConditionExpression="attribute_not_exists(pk)",)# ConditionalCheckFailedException means someone else got there firstChange stream
An ordered log of modifications to a table, consumable by other systems. Turns a database into an event source without dual writes.
Example
TTL (time to live)
A per-item expiry attribute the database uses to delete data automatically in the background, at no request cost.
Example
Partitioning
5
Partition key
The attribute whose hash decides which physical partition a row lives on. It determines both where data is stored and which queries can be served efficiently, which makes it the most consequential design decision in a key-value or wide-column store.
Example
status as a partition key gives you about five possible values and therefore about five hot partitions.Sort key (clustering key)
A second key component that orders items within a partition, enabling range queries and prefix matches inside that partition.
Example
userId, sort key createdAt lets you fetch one user's most recent orders in a single query without scanning.Code Snippet
# all orders for a user in a date range: one query, no scantable.query( KeyConditionExpression=Key("pk").eq("USER#7") & Key("sk").between("ORDER#2026-01", "ORDER#2026-06"))Hot partition
A partition receiving a disproportionate share of traffic because the partition key has low cardinality or skewed access. One node saturates while the rest of the cluster idles, so total provisioned capacity is irrelevant.
Example
Sharding vs replication
Sharding splits different data across nodes, so it adds capacity. Replication copies the same data to several nodes, so it adds availability and read throughput. They solve different problems and most systems use both.
Example
Consistent hashing
A hashing scheme that maps keys onto a ring of nodes so that adding or removing a node only moves the keys adjacent to it, rather than remapping everything.
Example
hash(key) % nodeCount remaps almost every key when the node count changes.Storage internals
4
Compaction
The background process in a log-structured store that merges files and discards superseded or deleted records. Reclaims space and keeps read amplification down, at the cost of periodic I/O.
Example
LSM tree
A log-structured merge tree. Writes go to an in-memory table and a sequential log, then flush to sorted files that later merge. Makes writes fast and sequential, at the cost of a read possibly checking several files.
Example
Tombstone
A marker recording that a row was deleted, needed because the data may still exist in older files on other replicas. Deletes therefore add data before they remove it.
Example
Bloom filter
A compact probabilistic structure answering "is this key definitely absent, or possibly present". Lets a read skip files that cannot contain the key.
Example
Comments
Was this useful?
Continue on this topic
The same subject, covered a different way from the glossary above.
QuizMongoDB: NoSQL Database Fundamentals
Master NoSQL fundamentals, BSON document structure, and the MongoDB aggregation pipeline.
RoadmapBackend Developer Beginner to Expert
A roadmap for learning backend development, from a programming language and APIs to databases, caching, message queues, security, and scalable architectures.
Case studyA Service Mesh Rollout That Was Worth It
Istio across 34 services on EKS: what mTLS, traffic shifting and free golden signals actually bought us, what the sidecars cost in memory and upgrade pain, and the two answers that would have made the whole thing a mistake.
- Cheatsheet
OpenSSL
A practical OpenSSL reference for TLS and certificate work. Generating keys and CSRs, self-signed certs, inspecting certificates, verifying chains, testing live handshakes with s_client, converting between PEM, DER, PKCS#12 and JKS, and checking that a key matches its certificate.
You might also enjoy
More posts on similar topics

Databases & SQL
Most confusion about SQL is vocabulary rather than syntax. People know how to write a join and still get caught by a LEFT JOIN that quietly behaves like an INNER JOIN, because nobody explained that a

Observability & Monitoring
A quick-reference glossary for making sense of system health: the three pillars (metrics, logs, traces), the reliability vocabulary (SLI, SLO, error budget, burn rate), how good alerting works, and th

CI/CD & Automation
A quick-reference glossary of the terms you meet when automating builds, tests, and deployments: pipeline anatomy, test gates, and release strategies like canary and blue-green.

Kubernetes Advanced
This glossary covers the advanced Kubernetes terminology platform engineers rely on: scheduling, networking, storage, security, extensibility, and the workload controllers that keep applications runni

Cloud Computing on AWS
This glossary covers the essential Amazon Web Services terms every cloud engineer and architect should know: compute, storage, networking, databases, and the identity controls that keep it all secure.
5 related posts