Всем привет. Есть вопрос по debezium. Возможно ли его использовать

через механизм подписки для получения данных из PostgreSQL вместо стандартного варианта через логическое декодирование всего объёма изменений и фильтрации нужных таблиц на стороне коннектора? У меня в OLTP базе очень много изменений (более 15k rps), а получать данные об изменениях нужно всего из одной таблицы, которая меняется очень редко (не более 100 rps).

8 ответов

6 просмотров

Да, там есть такая возможность.

Сергей-Голод Автор вопроса
Alex Konstantinov
Да, там есть такая возможность.

спасибо! Полез тогда изучать документацию

Насколько знаю, там только логическое декодирование. Напишите, если найдёте другие варианты

Сергей-Голод Автор вопроса
Alexander Iskuskov
Насколько знаю, там только логическое декодировани...

обязательно. Пока информация противоречивая), ^

Alexander Iskuskov
Насколько знаю, там только логическое декодировани...

Да, я тут соврал, там только через логическую репликацию, не сразу понял, что речь идёт и listen/notify.

Сергей-Голод Автор вопроса
Alex Konstantinov
Да, я тут соврал, там только через логическую репл...

логическая репликация есть и через create subscription. Там можно на стороне СУБД ограничить репликацию только определенными таблицами чтобы не гнать на коннектор терабайты изменений. Буду ещё изучать...

Сергей-Голод Автор вопроса
Alexander Iskuskov
Насколько знаю, там только логическое декодировани...

вроде вот это поможет. Протестирую и дам обратную связь) https://debezium.io/documentation/reference/connectors/postgresql.html#postgresql-property-publication-name

Сергей-Голод Автор вопроса
Alexander Iskuskov
Насколько знаю, там только логическое декодировани...

- нужно использовать тип плагина pgoutput - предварительно создать публикацию create publication dbz_publication for table your_single_table with (publish=....) - после этого коннектор корректно слушает заданные типы событий только по данной таблице - если стандартное имя публикации (dbz_publication) не подходит, то через переменную publication.name задать имя публикации, которая описана в СУБД (см. выше)

Похожие вопросы

Обсуждают сегодня

вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
25
Друзья, за кем?
Magic
12
Всем привет. Кто-то может подсказать, как можно перевести значения Selection поля, если список значений в нем формируется динамически? Я изначально их получаю из selection дру...
Наталья Селезнева
6
ого, спасибо Никит, ты как всегда кладезь нужной инфы! Сейчас пойду копаться, а мне релиз создать как и версию самого плагина? типа 1.0.8?
Alex Blaze
6
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
Чет мне ссыкотно опять Rainlab.User в проект ставить. Кто знает, опять наотъебись все сделали или после обнов пользоваться можно?
Black Cat
10
коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
это группа токсиков или тех кто помогает?
Ибрагим
9
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
Карта сайта