Skip to content

Data store types and concepts in AWS

Before choosing a database it helps to be clear about how long the data is meant to survive, which performance dimension actually matters, and which consistency model the store offers. These three ideas explain most of the differences between AWS data services.

Data is durable and survives reboots and power cycles. Examples: Amazon S3 Glacier storage classes, Amazon RDS.

Data is stored temporarily on its way to another process. Examples: Amazon SQS, Amazon SNS, Amazon EventBridge (event routing and a serverless event bus).

Data does not survive the instance being stopped or the service being rebooted. Examples: EC2 instance store, Memcached under ElastiCache.

How fast the device can complete individual read and write operations. High IOPS suits many small operations — the sports-car end of the scale: fast, small payload per trip.

How much data can be moved per unit of time. High throughput suits bulk movement — the dump-truck end: slower per operation, far more data per trip.

A workload is usually limited by one or the other, not both, and the two are tuned separately. Provisioned IOPS storage and throughput-optimised storage are different products for that reason.

Used primarily by relational databases, implemented with mechanisms such as row locking and rollback.

  • Atomic — a transaction either completes entirely or not at all.
  • Consistent — a transaction moves the database from one valid state to another.
  • Isolated — concurrent transactions do not interfere with each other.
  • Durable — once committed, a transaction survives failure.

ACID gives strict correctness guarantees but the coordination it requires becomes the bottleneck as a system is scaled horizontally.

An alternative set of guarantees chosen when scale matters more than immediate correctness across replicas.

  • Basically available — the system answers, even if the answer is slightly stale.
  • Soft state — replicas may disagree for a period.
  • Eventually consistent — replicas converge given time and no further writes.

BASE is not the absence of consistency; it is a different consistency, traded for availability and parallelism. Amazon S3 and Amazon DynamoDB both sit at this end of the spectrum, though DynamoDB will also serve strongly consistent reads and ACID transactions on request.