Подготовка к интервью

Вопросы о транзакциях, ACID и согласованности данных

24 вопроса с ответами по теме «Транзакции и ACID в базах данных»

24 вопроса

Что проверяют на интервью

Как устроена подборка

Подборка о том, где начинаются и заканчиваются гарантии транзакции. Базовые свойства ACID и SQL-команды дополнены вопросами о внутреннем устройстве PostgreSQL, восстановлении после сбоев, конкурентных изменениях и взаимодействии БД с внешними системами.

Каталог

Вопросы по теме

Найдено: 24
Теория

Как СУБД обеспечивает изоляцию транзакций при параллельной работе?

управление конкурентным доступом (Concurrency Control) уровни изоляции (Read Uncommitted → Serializable) блокировки (Locking): shared и exclusive мультиверсионность (MVCC) — хранение версий данных для чтения…

Читать ответ
Теория

Как выполнить транзакцию с помощью SQL-запросов?

Транзакция представляет собой группу операций, выполняемых как единое целое. Основные команды транзакций: BEGIN TRANSACTION — запускает транзакцию. COMMIT — сохраняет внесённые изменения. ROLLBACK — отменяет изменения…

Читать ответ
System Design

Как защитить баланс от двойного списания при гонке транзакций?

Конкуренция транзакций, финансовые системы Организовать конкурентный контроль доступа к балансу Использовать атомарные операции либо транзакции с подходящим уровнем изоляции Доступны два подхода: оптимистичная…

Читать ответ
Теория

Какие принципы согласованности баз данных существуют помимо ACID, включая CAP и BASE?

Принципы согласованности БД помимо ACID: CAP и BASE ACID описывает классические гарантии транзакций: атомарность, согласованность, изоляцию и долговечность CAP (Brewer's theorem) рассматривает три свойства:…

Читать ответ
Теория

Чем отличается откат транзакций (ROLLBACK) в Postgres и MS SQL: версионность или физические операции?

Откат транзакций в Postgres и MS SQL: версионность или физические операции? В PostgreSQL ROLLBACK основан на механизме MVCC (многоверсионной конкуренции) MVCC сохраняет предыдущие версии строк, чтобы обеспечить чтение…

Читать ответ
Теория

Чем транзакция в Postgres отличается от batch-insert и что выбрать в разных задачах?

Транзакция представляет собой единый логический набор операций, гарантирующий атомарность и согласованность данных. Batch-insert выполняет массовую вставку записей с помощью одного SQL-запроса, повышая…

Читать ответ
Теория

Что произойдет, если завершить транзакцию без COMMIT?

Транзакция останется в состоянии ожидающих изменений (pending) Выполненные изменения будут храниться временно и не попадут в БД окончательно После закрытия сессии или выполнения ROLLBACK изменения будут отменены Если…

Читать ответ
Теория

Что происходит с блокировками, если транзакция не завершена?

Блокировки сохраняются до завершения транзакции Транзакция может находиться в состоянии pending или in progress Остальные транзакции ждут освобождения ресурсов При откате транзакции блокировки снимаются После коммита…

Читать ответ
Теория

Что такое Durability (D в ACID) и как обеспечивается её гарантия?

Durability (D в ACID): что это и как обеспечивается ACID — совокупность свойств, необходимых для надежного выполнения транзакций в БД Durability гарантирует сохранность изменений после подтверждения транзакции Даже…

Читать ответ
Теория

Что такое распределённая транзакция и какие основные сложности возникают при её реализации?

Что представляет собой распределённая транзакция и в чём её сложности? область: обеспечение согласованности данных в распределённых системах распределённая транзакция — это операция, выполняемая сразу с несколькими…

Читать ответ
Теория

Что такое транзакция в базе данных и какие свойства ACID нужно знать?

Что представляет собой транзакция в базе данных и что означает ACID транзакция — это логически неделимая единица операций с БД она либо завершается целиком, либо не выполняется вообще (атомарность) после завершения…

Читать ответ