1. Различия между традиционным AOF и AOF-RDB гибридным методом
AOF (Append-Only File) — это один из методов сохранения данных (постоянства) в Redis, который позволяет записывать изменения данных в файл для восстановления данных в случае сбоя.
👉 Если вам нужно более детальное объяснение концепции AOF, разумно сначала ознакомиться с предыдущим постом
Redis AOF Rewrite: Оптимизация производительности и сохранение данных .
В этой статье подробно анализируются различия между традиционным методом AOF и AOF-RDB гибридным методом, внедренным в Redis версии 7.0 и выше.
2. Redis 7.0 и выше: внедрение AOF-RDB гибридного метода
Для решения проблемы неэффективного использования диска и медленной скорости восстановления традиционного метода AOF, начиная с версии 7.0, в Redis применяется AOF-RDB гибридный метод.
Этот метод объединяет RDB снимки и AOF для более оптимизированного хранения данных.
✅ Принцип работы AOF-RDB гибридного метода
- Сохранение начального состояния → При сохранении AOF Redis сначала создает RDB снимок и сохраняет его в
appendonly.aof.X.base.rdb
. - Сохранение последующих изменений → Все последующие изменения записываются в файл
appendonly.aof.X.incr.aof
. - При восстановлении данных → Когда Redis перезапускается, сначала загружается RDB, а затем применяется AOF дельта для восстановления последнего состояния.
3. Структура файлов AOF-RDB гибридного метода
📌 В отличие от традиционного подхода с одним файлом appendonly.aof, в Redis 7.0 создаются следующие файлы.
sudo ls -l /var/lib/redis/appendonlydir
-rw-rw---- 1 redis redis 1146587 Feb 19 12:37 appendonly.aof.2.base.rdb # RDB снимок файла
-rw-r----- 1 redis redis 41279742 Feb 19 20:05 appendonly.aof.2.incr.aof # AOF дельта файл (для сохранения последующих изменений)
-rw-r----- 1 redis redis 88 Feb 19 12:37 appendonly.aof.manifest # Файл управления метаданными AOF
appendonly.aof.X.base.rdb
→ текущий файл RDB снимка памяти Redisappendonly.aof.X.incr.aof
→ после этого AOF файл для записи измененийappendonly.aof.manifest
→ файл метаданных для управления списком AOF файлов
🚀 Заключение: В версии Redis 7.0 и выше AOF-RDB гибридный метод является настройкой по умолчанию, поэтому отдельный файл appendonly.aof больше не создается.
4. Сравнение традиционного AOF и AOF-RDB гибридного метода
Пункт сравнения | Традиционный AOF (appendonly.aof) | AOF-RDB гибридный (appendonly.aof.X.base.rdb) |
---|---|---|
Структура файла | Один файл appendonly.aof | Гибридная структура RDB + AOF |
Способ записи | Последовательное сохранение всех команд | Сохранение RDB снимка + AOF дельты |
Производительность | С течением времени замедляется | Быстрее и оптимизировано |
Скорость восстановления при перезапуске Redis | Медленно (выполнение всех команд) | Быстро (первоначальная загрузка RDB затем применение AOF) |
Используемое пространство | Размер постоянно увеличивается | Оптимизировано на основе RDB |
Нагрузка на дисковый ввод-вывод | Нагрузка возрастает за счет хранения всех команд | Нагрузка снижается благодаря использованию RDB |
📌 Заключение:
- Традиционный метод AOF обладает высокой надежностью данных, но имеет проблемы с производительностью и использованием диска.
- AOF-RDB гибридный метод обладает быстрым восстановлением, эффективным использованием пространства для хранения и низкой нагрузкой на дисковый ввод-вывод.
- В большинстве эксплуатационных сред рекомендуется использовать AOF-RDB гибридный метод. 🚀
5. Нужен ли RDB при использовании AOF-RDB гибридного метода?
👉 Да, нужны настройки, связанные с RDB!
Поскольку AOF-RDB гибридный метод основан на RDB, redis.conf
должен иметь правильные настройки для RDB
✅ Настройки, которые нужно проверить при использовании AOF-RDB гибридного метода
appendonly yes # Включить AOF
aof-use-rdb-preamble yes # Использовать AOF-RDB гибридный метод (по умолчанию)
save 900 1 300 10 60 10000 # Период создания RDB снимков
🚨 Если нет настройки RDB, AOF-RDB гибридный метод может не работать правильно!
Если установка aof-use-rdb-preamble
установлена на no
, применяется традиционный aof
формат с одним файлом.
6. Заключение: Как выбрать метод AOF Redis в практике
- В Redis 7.0 и выше по умолчанию рекомендуется использование AOF-RDB гибридного метода
- Он имеет быструю скорость восстановления, меньшее использование пространства для хранения и низкую нагрузку на дисковый ввод-вывод по сравнению с традиционным AOF методом
- Если настройки RDB не применяются, гибридный метод может не работать должным образом
- В случаях, когда требуется высокая надежность данных, таких как финансовые или транзакционные системы, традиционный AOF метод может быть более выгодным
🚀 В большинстве эксплуатационных сред AOF-RDB гибридный метод значительно эффективнее традиционного AOF метода, и его желательно использовать.
댓글이 없습니다.