notes

Table of Content

ACID

  1. Atomicity - all parts of a transaction succeed or fail together
  2. Consistency - the database will always be consistent
  3. Isolation (locking) - transacton can’t affect on other transacton
  4. Durability - once the transaction is committed, it won’t be lost

Sessions

  1. С точки зрения приложения подключение это объект, позволяющий выполнять запросы к БД.
  2. С точки зрения БД сессия - это некоторый набор ресурсов, который выделяется сервером при открытии сессии.
    • postgres для каждого подключения создаёт отдельный процесс и для каждой сессии выделяет участок памяти (примерно 4kb)
    • по умолчанию максимальное количество сессий для postgres - 100.
  3. Бывает подключение == сессия, бывает много сессий на одно подключение.
  4. Рекомендуется все закрывать подключения, а лучше использовать connection pool.

Scaling Database

Replication

Sharding