digital-garden/dev/system-design/Redis Database Backup.md
Struchkov Mark 5c31e845f5
All checks were successful
continuous-integration/drone/push Build is passing
Обновление
2024-11-03 22:27:39 +03:00

37 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
aliases:
- RDB
tags:
- maturity/🌱
date: 2024-10-07
---
Механизм RDB (Redis Database Backup) — это способ создания **снапшотов** состояния базы данных Redis и их сохранения на диск. В отличие от [[Append-Only File|AOF]], который записывает каждую операцию в реальном времени, RDB создаёт полные резервные копии состояния базы на определенные промежутки времени. Вот как это работает и основные моменты, которые стоит учитывать:
![[../../meta/files/images/Pasted image 20241103222301.png]]
**Как работает RDB:**
- **Снапшоты базы данных**: Redis периодически сохраняет полную копию всех данных в файл на диске. Это называется “снапшот”. RDB-файл содержит сжатую и двоичную версию всех ключей и их значений на момент создания.
- **Файл дампа**: По умолчанию, RDB-файл называется `dump.rdb` и сохраняется на диск. Этот файл можно использовать для восстановления данных при перезапуске Redis.
**Преимущества RDB:**
- **Производительность**: В отличие от AOF, механизм RDB не влияет на производительность во время нормальной работы Redis. Он не записывает каждую операцию на диск, а вместо этого периодически делает полные снимки базы данных.
- **Меньший объем данных**: Файл RDB, как правило, компактный и занимает меньше места, чем файл AOF, так как он представляет собой сжатую копию текущего состояния базы, а не лог изменений.
- **Быстрое восстановление**: При перезапуске Redis восстановление данных из RDB быстрее, чем воспроизведение всех операций из AOF, так как это просто загрузка состояния базы на момент последнего снапшота.
**Недостатки RDB:**
- **Потенциальная потеря данных**: Поскольку RDB создаёт снимки только через определённые промежутки времени, можно потерять все изменения, которые произошли с момента последнего снапшота, в случае сбоя Redis. Если снапшот создавался 15 минут назад, то при сбое вы потеряете все изменения, сделанные за эти 15 минут.
- **Тяжелые операции на большом объеме данных**: Процесс создания снапшота может потреблять значительные ресурсы, особенно в крупных базах данных, что может влиять на производительность Redis на время создания снимка.
***
## Мета информация
**Область**:: [[../../meta/zero/00 Redis|00 Redis]]
**Родитель**::
**Источник**::
**Создана**:: [[2024-10-07]]
**Автор**::
### Дополнительные материалы
- [[Append-Only File]]
### Дочерние заметки
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->