system-design-primer/resources/noat.cards/Database.md

1.2 KiB

+++ noatcards = True isdraft = False +++

Database


_Source: Scaling up to your first 10 million users _

Relational database management system (RDBMS)

A relational database like SQL is a collection of data items organized in tables.

ACID is a set of properties of relational database transactions .

  • Atomicity - Each transaction is all or nothing
  • Consistency - Any tranaction will bring the database from one valid state to another
  • Isolation - Excuting transactions concurrently has the same results as if the transactions were executed serially
  • Durability - Once a transaction has been committed, it will remain so

There are many techniques to scale a relational database: master-slave replication, master-master replication, federation, sharding, denormalization, and SQL tuning.