A general-purpose transactional database built around tables, SQL, constraints, indexes, MVCC, and WAL.
Systems Toolbox
The basic mental models behind databases, caches, queues, logs, search engines, coordination stores, and workflow systems.
Map Tools to Jobs
Explore a Payment System
One system does not need every tool. This design uses each component for a specific job. Select a component to inspect its role and connections.
Tip: click blank diagram space or press Escape to clear the selection.
Choose by Workload
Select the primary job. The result is a starting point, not an architecture generator.
Choose a workload
The recommendation will explain the useful starting tool and the main caveat.
Databases and Data Stores
A low-latency server exposing strings, hashes, sets, sorted sets, streams, counters, and expiration.
A partition-first database for high write volume, large data sets, multi-node availability, and predictable access patterns.
Stores JSON-like documents and favors embedding related data that is commonly read together.
An AWS-managed, partitioned database designed around predictable key-based access at large scale.
Distributed search engines built on inverted indexes, optimized for relevance, filtering, and aggregations.
Messaging: Queue or Log?
Queue: work is claimed
A queue distributes tasks. A message is acknowledged or deleted after processing. Retries return failed work for another attempt.
Log: history is retained
A log retains ordered events. Consumers track offsets and may replay history independently.
A replayable, partitioned log for durable event streams and independent consumer groups.
A fully managed AWS queue for decoupling producers from background workers.
A broker with flexible routing between publishers, exchanges, bindings, queues, and consumers.
Platform Building Blocks
Stores byte objects addressed by bucket and key, separate from a filesystem or relational schema.
A small, strongly consistent store for configuration, service discovery, leader election, and cluster metadata.
Runs long-lived business workflows that resume after worker crashes, process restarts, and infrastructure failures.
A pull-based monitoring system and time-series database for numeric measurements with labels.
Quick Comparison
| Tool | Primary model | Ordering / consistency | Scaling unit | Best remembered as |
|---|---|---|---|---|
| PostgreSQL | Relational rows | ACID transactions; configurable isolation | Database, table, replica | Transactional source of truth |
| Redis | In-memory structures | Atomic command execution; replication caveats | Key / hash slot | Fast shared derived state |
| Kafka | Partitioned append log | Total order per partition | Partition | Replayable event history |
| SQS | Managed queue | At-least-once; FIFO within message group when selected | Queue / message group | Simple managed background work |
| RabbitMQ | Brokered queues | Acks, confirms, queue-specific ordering | Queue | Flexible routing and work delivery |
| Cassandra | Wide-column partitions | Tunable consistency | Partition / token range | Always-on, write-heavy distributed data |
| MongoDB | Documents | Read and write concerns; transactions available | Collection / shard key | Aggregate-shaped flexible records |
| DynamoDB | Key-value and documents | Eventually consistent by default; strong table reads optional | Partition key | Managed access-pattern-first database |
| Elasticsearch | Inverted search index | Near-real-time search | Shard | Searchable projection of source data |
| S3 | Objects by key | Strong read-after-write for object operations | Object / prefix | Durable blob storage |
| etcd | Versioned key-value | Linearizable writes through Raft | Raft cluster | Small critical coordination state |
| Temporal | Workflow event history | Durable deterministic replay | Workflow execution | Reliable long-running control flow |
| Prometheus | Labeled time series | Periodic samples | Series / scrape target | Metrics and alerting |
Decision Rules
Official Sources
- PostgreSQL documentation
- Redis data types
- Redis persistence
- Apache Kafka documentation
- Amazon SQS queue types
- RabbitMQ exchanges
- RabbitMQ quorum queues
- Apache Cassandra architecture
- MongoDB replication
- MongoDB sharding
- DynamoDB consistency
- Elasticsearch nodes and shards
- Amazon S3 concepts
- etcd learning guide
- Temporal documentation
- Prometheus overview