digital-garden/_inbox/Журнал БД.md

2.2 KiB
Raw Blame History

aliases tags date zero-link parents linked
зрелость/🌱
2024-05-26
00 Базы Данных

Основное преимущество БД - это транзакции, то есть изменения происходят либо целиком, либо не происходят, вообще. Журнал выполняет важную функцию в этом процессе.

Мы пишем в отдельное место в журнал то, что мы хотим сделать. Мы сначала пишем все данные в журнал, а после того, как журнал зафиксирован на диске, мы изменяем сами данные в памяти. Потом, возможно, сильно позже, эти данные окажутся на диске. Этот алгоритм называется PITR

Как правило журналы имеют циклическую структуру. Например, у нас есть 10 журналов, когда заполняется последний новые данные начинают писаться поверх первого.

Какие проблемы решает журнал:

  • Консистентность данных

Главные вопросы, которые встают перед разработчиком любой БД:

  • Как организовать журнал?
  • Как его писать?
  • Как писать его меньше?
  • Как сделать так, чтобы это работало быстрее?
  • При чем тут репликация?

Для улучшения производительности желательно под журналы выделять отдельные жесткие диски. Чтобы у журнала был эксклюзивный доступ к ресурсам диска. Менее актуально для SSD.