31 lines
1.9 KiB
Markdown
31 lines
1.9 KiB
Markdown
|
---
|
|||
|
aliases:
|
|||
|
tags:
|
|||
|
- зрелость/🌱
|
|||
|
date:
|
|||
|
- - 2024-05-26
|
|||
|
zero-link:
|
|||
|
- "[[00 Базы Данных]]"
|
|||
|
parents:
|
|||
|
linked:
|
|||
|
---
|
|||
|
- В [PostgreSQL](00%20PostgreSQL.md) журнал называется [WAL](Write-Ahead%20Log.md)
|
|||
|
- [Журналы в MySQL](Журналы%20в%20MySQL.md)
|
|||
|
|
|||
|
Основное преимущество БД - это [транзакции](Транзакция%20БД.md), то есть изменения происходят либо целиком, либо не происходят, вообще. Журнал выполняет важную функцию в этом процессе.
|
|||
|
|
|||
|
![](Pasted%20image%2020240528081137.png)
|
|||
|
|
|||
|
Мы пишем в отдельное место – в журнал – то, что мы хотим сделать. Мы сначала пишем все данные в журнал, а после того, как журнал зафиксирован на диске, мы изменяем сами данные в памяти. Потом, возможно, сильно позже, эти данные окажутся на диске. Этот алгоритм называется [PITR](Point%20In%20Time%20Recovery%20(PITR).md)
|
|||
|
|
|||
|
Как правило журналы имеют циклическую структуру. Например, у нас есть 10 журналов, когда заполняется последний новые данные начинают писаться поверх первого.
|
|||
|
|
|||
|
Какие проблемы решает журнал:
|
|||
|
- Консистентность данных
|
|||
|
|
|||
|
Главные вопросы, которые встают перед разработчиком любой БД:
|
|||
|
- Как организовать журнал?
|
|||
|
- Как его писать?
|
|||
|
- Как писать его меньше?
|
|||
|
- Как сделать так, чтобы это работало быстрее?
|
|||
|
- При чем тут репликация?
|