Именно поэтому долговечность - самое важное свойство базы данных.
Может случиться много неприятных вещей: отключение электричества, системные сбои или отказ оборудования.
❓Как базы данных гарантируют, что мы не потеряем наши данные?❓
Основная идея заключается в том, чтобы хранить данные в энергонезависимом хранилище, например на диске.
Всякий раз, когда пользователь выполняет транзакцию, база данных делает две вещи:
▪️записывает данные в отдельный журнал
▪️производит обновление.
Журнал позволяет обрабатывать транзакции во время перезагрузки.
Запись в журнал происходит быстро, потому что это двоичный файл только для добавления.
Что делать, если база данных распределена?
Этот случай более сложный, поскольку серверы базы данных должны координировать свои действия
Существует процесс, в котором один из серверов выступает в роли координатора:
▪️он передает сообщение о фиксации всем участникам
▪️ожидает всех подтверждений
▪️сообщает о фиксации или откате
@sqlhub
Post #842
4.62K
- 👍 13
- 🔥 5
- ❤ 2