Walminer: новый виток развития
1. Введение в walminer 4.0
Walminer — это инструмент для анализа WAL-журналов PostgreSQL. В версии 4.0 он перешёл от модели плагинов к бинарному режиму, что позволило избавиться от необходимости компиляции и установки в зависимости от целевой базы данных. Walminer теперь может анализировать WAL-журналы версий PG10–PG16.
В настоящее время реализованы следующие функции:
-
wal2sql: базовая функция walminer, которая позволяет преобразовывать WAL-журнал в SQL-запросы, включая обратные запросы, а также частично DDL-запросы.
-
fosync: функция, основанная на wal2sql, которая обеспечивает задержку синхронизации данных при сбое PostgreSQL.
-
pgto: инструмент CDC (Change Data Capture) для баз данных PostgreSQL, который выполняет анализ вне библиотеки; легко развёртывается и работает с низкими уровнями WAL.
1.1. Обзор функций walminer
— wal2sql является основной функцией walminer и позволяет анализировать WAL-журнал и преобразовывать его в SQL-запросы и обратные запросы. Также частично поддерживает анализ DDL-запросов.
— Функция fosync основана на wal2sql и обеспечивает задержку в синхронизации данных при сбоях PostgreSQL.
— Инструмент pgto представляет собой CDC-решение для PostgreSQL и обладает следующими особенностями:
* анализ выполняется вне библиотеки;
* простое развёртывание;
* работает с низкими уровнями WAL.
1.2. Навигация по walminer 4.0
Для получения дополнительной информации о walminer 4.0 рекомендуется обратиться к следующим ресурсам:
2. Получение walminer 4.0
Автор долгое время поддерживал предыдущие версии walminer. Создание открытого исходного кода — непростая задача, поэтому walminer 4.0 пока не является открытым исходным кодом. Пользователи, которым требуется этот инструмент, могут загрузить пробную версию с https://gitee.com/movead/XLogMiner/releases. Если вам нужна версия walminer 3.0, вы можете переключиться на ветку master.
Чтобы получить walminer 4.0, можно сделать следующее:
- Пожертвовать 199 юаней и связаться с автором для получения индивидуальной лицензии на использование walminer 4.0.
- Для корпоративных пользователей доступна лицензия, которую можно приобрести после пожертвования. Она предоставляет регистрацию предприятия, консультации по вопросам и приоритетное исправление ошибок.
- Можно приобрести права на код walminer 4.0 и вносить любые изменения, но нельзя публиковать изменённый код walminer 4.0 публично.
- Автор готов настроить функции walminer в соответствии с вашими требованиями.
Связаться со мной можно по адресу lchch1990@sina.cn.
Информация о лицензии
Существует три типа лицензий:
-
Тестовая лицензия: имеет ограничение по времени использования, ограниченную скорость разбора и предназначена только для личного обучения.
-
Индивидуальная лицензия: предоставляет постоянное использование, ограниченную скорость разбора и подходит только для личного изучения.
-
Корпоративная лицензия: позволяет использовать программу постоянно, предоставляет консультации по вопросам, приоритетное исправление ошибок и подходит для зарегистрированных предприятий.
Права на код позволяют получать доступ к исходному коду walminer 4.0 и изменять его по своему усмотрению, но запрещено публиковать изменённые версии walminer 4.0 в открытом доступе.
3. Обновления walminer 4.0
2024-10-01:
- Поддержка анализа данных типов, используемых в плагинах.
- Исправление проблемы, когда программа завершала работу при обнаружении неподдерживаемых типов данных.
- Добавление функции поиска walminer.
- Поддержка секционированных таблиц при анализе одной таблицы.
- Исправление ошибки, из-за которой возникали проблемы с созданием словаря данных при наличии специальных символов в имени базы данных.
- Решение проблемы, связанной с невозможностью создания словаря данных для PG16.
- Устранение проблемы, при которой файл лицензии становился нечитаемым после добавления новой строки.
- Возможность генерации словаря данных из резервной копии.
2024-07-07:
- Поддержка произвольного размера страниц WAL.
- Поддержка произвольного размера данных страниц.
- Поддержка алгоритмов сжатия LZ4 и zstd для WAL.
2024-03-06:
- Поддержка глобального анализа кластерного уровня.
- Изменение синтаксиса аватара и анализа одной таблицы для соответствия глобальному словарю данных.
- fosync теперь не поддерживает прямое применение к целевой базе данных в режиме глобального анализа (TODO).
2023-12-24:
- Совместимость с PG16.
- Добавлены пять пунктов без маскирования.
- Предпочтение каталога $HOME/.walminer для запуска walminer.
2023-9-24:
- Добавлен режим без лицензии для анализа.
- Введены функции ввода пароля для корпоративных и VIP-лицензий.
2023-06-04:
- Исправлена ошибка с лицензией.
- Решена проблема, когда первый анализируемый стол не давал результатов.
- Расширена поддержка других версий PostgreSQL для сжатия WAL.
- Добавлена функция waldump.
2022-12-10:
- Добавлена поддержка анализа DDL.
- Внедрён модуль синхронизации словаря данных.
- Команда wal2sql получила параметры -C для вывода результатов анализа DDL и -a для вывода информации об изменениях в системных таблицах.
- Словарь данных обогащён дополнительными метаданными и информацией о видимости.
- Снижена скорость анализа для бесплатных лицензий.
- Изменена справка по командам.
2022-11-20:
2022-11-13:
- Решено проблему, когда при анализе транзакций ID также анализировались данные других транзакций.
- Исправлен анализ LSN, чтобы избежать анализа данных ниже входного LSN.
- При точном анализе используется ближайший checkpoint, что уменьшает ненужные поиски.
- Улучшен анализ WAL для точного анализа в среде, отличной от PG15.
- Частично решена проблема, когда дочерние транзакции могли пропускать анализ данных.
- Реализована функция fosync.
Комментарии ( 0 )