SystemCity
WorkspaceProblemsCanvasPricing
Sign in
S

SystemCity

AI-powered system design tutor. Learn architecture, ace interviews, build real systems.

Learn

  • Learn System Design
  • Interview Prep Guide
  • All Problems
  • Glossary
  • Compare
  • Design Canvas

Product

  • Pricing
  • Portfolio
  • Support

Legal

  • Terms
  • Privacy
  • Refunds

© 2026 SystemCity. All rights reserved.

Master system design · interview prep · 120+ problems

Back to glossary

Data & Storage

ACID

Atomicity, Consistency, Isolation, Durability — the four properties that traditional database transactions guarantee.

In depth

ACID is the contract that traditional relational databases offer for transactions. Atomicity means a transaction either fully succeeds or has no effect — no partial updates. Consistency means every transaction takes the database from one valid state to another, respecting all constraints. Isolation means concurrent transactions appear to execute one at a time, hiding intermediate state from each other. Durability means once a transaction commits, its changes survive crashes and power loss.

Isolation has multiple levels — read uncommitted, read committed, repeatable read, snapshot isolation, serializable — each weaker level allowing more concurrency at the cost of more anomalies. The default in most databases is read committed or snapshot, which is good enough for most workloads but allows specific anomalies a careful designer must understand.

ACID makes application code dramatically simpler: business logic can assume the database is a strong, sequential thing. Without ACID, even simple operations like "transfer $100 from A to B" require careful coordination to avoid races and partial failures.

When to use

Use ACID transactions whenever multiple writes must succeed or fail together — payments, inventory updates, account creation, anything financial or invariant-bearing.

Tradeoffs

ACID is hard to scale across multiple nodes. Distributed ACID transactions (two-phase commit, Spanner-style) add latency and complexity. Many systems trade ACID for BASE to scale horizontally.

Related terms

SQL vs NoSQL

A choice between relational databases with strict schemas and ACID guarantees and non-relational databases optimized for scale, flexibility, or specialized workloads.

Idempotency

A property of operations such that performing them multiple times has the same effect as performing them once — essential for safe retries.

Database Indexing

A data structure (typically a B-tree or hash table) that lets a database find rows matching a query without scanning the entire table.

Denormalization

Intentionally duplicating data across tables to avoid expensive joins and improve read performance, at the cost of write complexity.

Object Storage

A storage architecture that manages data as objects (file + metadata + ID) in a flat namespace, optimized for huge amounts of unstructured data.

Time-Series Database

A database optimized for storing and querying timestamped data points — ideal for metrics, sensor data, financial ticks, and events.

Practice this concept

AdvancedInfrastructure

Design a Distributed OLTP Database