Что такое ACID

«Что такое ACID» — вопрос из категории Базы данных, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

ACID — это набор свойств транзакций в базах данных:

  • Атомарность (Atomicity) — транзакция выполняется полностью или не выполняется вовсе.
  • Согласованность (Consistency) — транзакция переводит БД из одного валидного состояния в другое.
  • Изолированность (Isolation) — параллельные транзакции не влияют друг на друга.
  • Долговечность (Durability) — после фиксации изменения сохраняются даже при сбое.

Пример в SQLite (Android):

db.transaction {
    try {
        // Операции внутри транзакции
        db.insert("Users", null, userValues)  
        db.update("Orders", orderValues, "id=1", null)  
        // При успехе автоматически commit()
    } catch (e: Exception) {
        // При ошибке автоматически rollback()
    }
}

В Room аналогично: аннотация @Transaction над методом DAO.

Видео-ответы