Top.Mail.Ru

Вопросы и ответы по решению “Датафлот Репликация”, часть 1

Данные вопросы были озвучены участниками вебинара “Импортозамещение и репликация: эффективные альтернативы для российского рынка”. Запись вебинара можно получить здесь (бесплатно).

  1. Какие СУБД поддерживаются в качестве источников?

Реляционные источники и приемники решения Датафлот Репликация (на ноябрь 2023):

  • DB2
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • Sybase ASE

Не реляционные приемники:

  • Arenadata DB
  • Arenadata Hadoop
  • Cloudera
  • Hortonworks
  • Greenplum
  • Kafka
  • Netezza
  • Teradata
  • Vertica
  • Файловая система (плоские файлы)

2. Используются ли при работе архивные логи БД или применяется какое-то другое решение?

Да, решение Датафлот Репликация использует архивные и онлайн логи БД для захвата данных об изменениях.

3. Как лицензируется решение?

Датафлот Репликация это коммерческое (не open source решение). Лицензирование решения осуществляется:

  • По количеству ядер CPU на реляционных источниках и приемниках данных, с которыми работает решение (см. перечень ниже);
  • По количеству инстансов (кластеров) не реляционных приемников (MPP, колоночные СУБД, кластеры Hadoop и т.п., см. перечень ниже)
  • Какие минимальные гранты для пользователя, под которым работает репликация, нужны для PosgtreSQL? (Debezium работает на уровне superuser).

При работе решения Датафлот Репликация с источником Postgres может использоваться работа через API Postgres (такой подход использует также open source решение Debezium), а также работа с использованием парсера журналов Датафлот собственной разработки. Работа с использованием собственного парсера значительно быстрее работы через API Postgres (в 7-11 раз по результатам тестов), и значительно меньше (в 8–10  по результатам тестов) нагружает сервер источник. Работа через парсер Датафлот не требует прав суперюзера. Необходимо обеспечение доступа к месту хранения архивных журналов Postgres. Набор прав на источнике Postgres (пример):

create user dfr_user with encrypted password ‘dfr_user’;

grant select ON all tables in schema <schema_name> to dfr_user;

alter user dfr_user with replication;

grant create on database <database> to dfr_user;

GRANT EXECUTE ON FUNCTION pg_switch_wal() TO dfr_user;

4. За счет чего обеспечивается отказоустойчивость/гарантированная доставка?

Отказоустойчивость и восстановление при сбоях обеспечивается с использованием собственного механизма контрольных точек (checkpoints), которые фиксируют, какую информацию обработал Парсер журналов БД и успешно передал в буфер, а также какую информацию Загрузчик передал в приемник и получил подтверждение о коммите. Кроме того, в БД на сервере-приемнике создается дополнительная таблица для хранения контрольной информации для восстановления.

5. Как реализован забор данных от Oracle-кластера, где есть master/slave/standby узлы?

При работе с кластером Oracle решение Датафлот Репликация может взаимодействовать с любым активным узлом. При работе со standby поддерживается работа с физическим standby (read-only) и логическим standby.

6. Можно ли настроить в системе информирование об ошибках при репликации?

Да, есть механизм уведомлений. Можно настроить его для рассылки уведомлений об ошибках с приложением соответствующих журналов.

7. Вы в своем роде единственный игрок или есть альтернативы? если есть альтернативы, то, чем вы отличается от других? какие ваши особенности?

На рынке представлены как коммерческие, так и open source решения для репликации данных, использующие в основе технологии CDC. Одним из наиболее популярных на рынке коммерческих решений CDC долгое время являлось решение Oracle GoldenGate. Среди open source проектов известен проект Debezium.  Однако, в настоящее время необходимость решения задач импортозамещения выводит на первый план российские разработки.

8. Основные отличия Датафлот Репликации:

  1. Российская разработка, реестровая запись No 18777 от 22.08.2023 
  2. Техническая поддержка 24×7 на русском языке
  3. Пользовательский̆ интерфейс на русском языке для полной̆ настройки процесса от захвата изменений до доставки в приемники и ведения мониторинга
  4. Не требует развертывания, сопровождения и мониторинга дополнительных внешних компонент
  5. Простота и легкость настройки
  6. Доставка данных в приемник настраивается через визуальный интерфейс, не требует программирования и/или настройки дополнительных внешних коннекторов
  7. Оптимальные способы работы с журналами БД: специализированные парсеры журналов, обеспечивающие высокую скорость обработки и минимальную нагрузку на источник. Например, в сравнении с Debezium при работе с Postgres обеспечивается  выигрыш по скорости парсинга в 7-11 раз и при этом нагрузка на источнике ниже в 8-10 раз.
  8. Встроенные возможности первичной̆ синхронизации данных в т.ч. для больших и очень больших объемов данных с обеспечением многопоточности.
  9. Возможность использования опции Датафлот Экспресс для еще более высокоскоростной̆ первичной̆ выгрузки (миграции) данных из Oracle (до 20 раз быстрее native инструментов)
  10. Целостность и отсутствие потерь данных обеспечивается в рамках решения
  11. Стабильная работа даже в условиях больших DML операций (десятки миллионов строк и выше в одной транзакции)
  12. Возможность работы с источниками Oracle Standby (уже поддерживается) и Postgres (roadmap).
  13. Не допускается появление дублей̆ в приемнике при восстановлении при сбоях
  14. Быстрое обучение команды администрирования и сопровождения.

9. В чем конкурентное отличие парсера Датафлот от OpenSource Debezium?

Работа с использованием собственного парсера Датафлот значительно быстрее работы через API Postgres которое использует Debezium (парсер Датафлот быстрее в 7–11  раз по результатам тестов). Кроме того, парсер Датафлот значительно меньше (в 8–10 раз по результатам тестов) нагружает сервер источник Postgres. Работа через парсер Датафлот не требует прав суперюзера.

10. Датафлот Репликация – аналог какой зарубежной системы?

Схожим по функционалу и архитектурным принципам является решение Oracle GoldenGate.

11. Через какой клиент (пользовательский интерфейс) осуществляется настройка?   

В данный момент панель управления решения — это “толстый” клиент разработанный на JAVA. Интерфейс на русском языке. В первом квартале 2024 года планируется разработка “тонкого” веб-клиента.

12. Входит ли система в список ФСТЭК?

Датафлот Репликация входит в реестр российского ПО, реестровая запись No 18777 от 22.08.2023.  Компания DIS Group (распространяет в т.ч. решения Датафлот) имеет опыт получения лицензий ФСТЭК СЗКИ и сертификации ряда продуктов. Для решения Датафлот Репликация необходимость такой сертификации на данный момент изучается. Пожалуйста, свяжитесь с представителями DIS Group, если вы заинтересованы в использовании решения Датафлот Репликация и, при этом,  особенности деятельности вашей организации требуют обязательной сертификации ФСТЭК.

13. Как обеспечивается скорость при репликации очень больших объемов данных? Используется ли для репликации JDBC?

Решение Датафлот Репликация предоставляет высокоскоростные парсеры собственной разработки для парсинга журналов БД, а также поддерживает возможности многопоточной загрузки в системы приемники. Драйверы JDBC используется для работы панели управления. Непосредственно для репликации используются парсеры журналов, драйверы ODBC и нативные клиенты БД. Каждый приемник имеет свои особенности. Например, для приемника Greenplum:

  • Для создания проекта через панель управления используется JDBC;
  • При репликации используется режим Хранилище, при работе которого применяются: libpq для заливки в таблицу аудита и ODBC для выполнения мержа по таблицам аудита;
  • При начальной синхронизации используется libpq

14. Требуется ли при работе парсера Датафлот установка дополнительных компонент на сам сервер, где расположена СУБД-источник? Если нет, то чем именно ваш парсер отличается от вызова методов СУБД-источника?

Компоненты парсера Датафлот могут быть установлены как непосредственно на сервер-источник, так и на выделенный сервер или даже на сервер-приемник. Необходимым условием при установке не на сервер-источник является обеспечение на сервере парсера доступа к журналам БД источника.

Использование парсера Датафлот имеет значительные преимущества по сравнению с работой с захватом изменений через API БД. Так, например, работа с использованием собственного парсера Датафлот при работе с источником Postgres значительно быстрее работы через API Postgres которое использует Debezium (парсер Датафлот быстрее в 7–11  раз по результатам тестов). Кроме того, парсер Датафлот значительно меньше (в 8–10 раз по результатам тестов) нагружает сервер источник Postgres. Работа через парсер Датафлот не требует прав суперюзера.

15. Каким образом обеспечивается отсутствие дублей при репликации?

Отсутствие дублей в случае незапланированных отказов и последующего восстановления обеспечивается с использованием механизма контрольных точек (checkpoints), которые фиксируют, какую информацию обработал Парсер журналов БД и успешно передал в буфер, а также какую информацию Загрузчик передал в приемник и получил подтверждение о коммите. Кроме того, в БД на сервере-приемнике создается дополнительная таблица для хранения контрольной информации для восстановления.

16. Есть ли какие-то планы по работе с облаками?

Для развертывания решения в облаке на виртуальном сервере и использования его точно также как on-premise решения на данный момент препятствий нет. Относительно необходимости разработки дополнительного специализированного функционала для работы в облаке вопрос изучается. Пожалуйста, свяжитесь с представителями DIS Group, если вы заинтересованы в использовании решения Датафлот Репликация и, при этом,  особенности деятельности вашей организации требуют специализированного функционала для работы в облаке.

17. Каков механизм обеспечения целостности данных? Есть ли оценка влияния сложности этого механизма на скорость репликации?

Решение передает в приемник только закоммиченные транзакции. Целостность данных при незапланированных отказов и последующем восстановления обеспечивается с использованием механизма контрольных точек (checkpoints), которые фиксируют, какую информацию обработал Парсер журналов БД и успешно передал в буфер, а также какую информацию Загрузчик передал в приемник и получил подтверждение о коммите. Кроме того, в БД на сервере-приемнике создается дополнительная таблица для хранения контрольной информации для восстановления.

18. Что означает Q4.2023 Q2.2024 в roadmap решения — это дата?

Да, так был обозначен номер квартала (Q4.2023 – четвертый квартал 2023 года). Расстановка приоритетов в roadmap может быть предметом обсуждения. Пожалуйста, свяжитесь с представителями DIS Group, если вы заинтересованы в использовании решения Датафлот Репликация и, при этом,  особенности деятельности вашей организации требуют повышение приоритета для какой-то позиции из roadmap или вы заинтересованы в добавлении новых возможностей не указанных в roadmap.

19. Есть ли возможность получать события было-стало?

Да возможность получения данных “до” и “после” изменения, возможность использования этой информации в трансформациях при обработке данных, а также ведение соответствующих таблиц аудита поддерживается.

20. Тонкий/толстый клиент отличия и возможности?

“Толстый” клиент реализован на Java. “Тонкий” клиент находится в стадии реализации, будет представлять собой web-приложение и использовать REST API службы управления Датафлот. Планируется постепенный перевод основных функций “толстого” клиента в новый “тонкий”.

21. Есть ли возможность захвата на standby базах?  Есть ли возможность переключения  репликации с мастера на standby в случае failover?

Да, есть возможность работы с Oracle standby (read only или логическим). Планируется реализация работы со standby Postgres. Возможность переключения с мастера на standby в случае failover есть, соответствующие настройки приводятся в документации.

22. Применение изменений идет в один поток или параллельно?

Поддерживается многопоточная загрузка изменений в приемник, соответствующие настройки выполняются в панели управления решения.

23. Есть ли возможность захвата с read only standbay.

Да, есть возможность работы с Oracle standby (read only или логическим). Планируется реализация работы со standby Postgres. При работе c read-only standby необходимые добавления в supplemental log производиться на primary.

24. Есть ли тесты производительности по сравнению с Oracle GG?

Тесты в процессе, ожидаем первых результатов в ближайшее время.

25. Кем был разработан интерфейс?

Интерфейс разработан разработчиками компании Датафлот.

26. Есть ли возможность реплицировать одни и те же данные в разные приемники?

Да, такая возможность есть. В данный момент внутри одного проекта в разные приемники одного типа (если нужно в приемники разных типов, то нужно будет создать несколько проектов). В roadmap уже запланированы доработки по использованию в одном проекте приемников разных типов.

27. Возможна ли фильтрация/обогащение данных как в Oracle GG?

Да, фильтрация и возможности трансформаций поддерживаются.


Поделиться
{{ responsive_img( url='/../../static/upload/news/detail-image.jpg',lazy=true, img_attrs={ class: "img-fluid lazy" }, formats=['webp'] ) }}

Рассылка новостей

    Продолжая пользоваться сайтом, вы даёте Согласие на автоматический сбор и анализ ваших данных, необходимых для работы сайта и его улучшения, использование файлов cookie.