Эта страница переведена машинным переводом. Читайте английский оригинал. English

IBSurgeon объявляет о выпуске версии 1.6.2 технологии streaming в HQbird

Версия на португальском языке ниже.

Streaming (также известный как change data capture) - это способ захвата изменений в базе данных без SELECT-запросов и отправки данных во внешние системы. HQbird включает готовые плагины для отправки изменений в Kafka, RabbitMQ, MongoDB или простые JSON-файлы. Система плагинов расширяема - вы можете разрабатывать собственные плагины для других систем.

Как это работает?

HQbird Streaming читает журнал репликации Firebird для захвата изменений в базе данных. Система обрабатывает зафиксированные транзакции и преобразует каждое изменение записи в отдельное сообщение. После настройки плагина streaming он захватывает:

  • INSERT - все значения столбцов из новой записи
  • UPDATE - первичный ключ, все столбцы из старой и новой версий записи (включая BLOB-ы до 10 МБ)
  • DELETE - первичный ключ и все старые значения столбцов (включая BLOB-ы до 10 МБ - настраивается)

Вы можете настроить streaming для захвата изменений из выбранных таблиц или всех таблиц в базе данных.

Система упаковывает каждое изменение в нужный формат (сообщение Kafka, сообщение RabbitMQ, документ MongoDB или JSON-файл) и доставляет его.

Технические характеристики:

  • Задержка: обычно 30 секунд (настраивается от 5 до 60 секунд)
  • Пропускная способность: протестировано до 10 000 изменений записей в секунду
  • Буфер: на основе диска, переживает перезапуски HQbird
  • Не требует модификации базы данных (работает с существующими базами Firebird 4.0+)

Почему это полезно?

Streaming предоставляет эффективный способ захвата изменений. Есть два основных случая использования: событийные уведомления и репликация данных во внешние системы.

Получение уведомлений

Пример: Система записи на приём в медицинском учреждении

Когда система создаёт или изменяет запись пациента на приём, ей необходимо отправить врачу push-уведомление, отправить SMS пациенту и обновить Google Calendar.

Традиционный подход требует периодических SELECT-запросов от каждого сервиса - отправителя SMS, интеграции с Google и приложения. Это создаёт несколько проблем:

  • Всем сервисам нужны SQL-подключения к базе данных
  • Частые запросы создают излишнюю нагрузку на базу данных (известный анти-паттерн Firebird)
  • Дополнительные усилия на разработку и поддержку SQL-запросов
  • Сильная связанность между сервисами и базой данных

С помощью streaming каждое изменение в таблице APPOINTMENTS генерирует сообщение, отправляемое в Kafka. Все микросервисы подписываются на эти сообщения и получают уведомления автоматически. Этот подход:

  • Требует только одно подключение к базе данных
  • Устраняет опросные запросы
  • Снижает нагрузку на базу данных
  • Развязывает сервисы и базу данных
  • Доставляет уведомления менее чем за минуту

Репликация изменений во внешние системы

Пример: Облачные системы бизнес-аналитики

Если вы используете облачные BI-системы, такие как Snowflake или BigQuery, регулярные полные экспорты данных создают финансовую нагрузку. Выполнение SQL-запросов для экспорта больших объёмов данных и последующая их обработка через ETL-конвейеры требуют высокой пропускной способности и вычислительных мощностей. Этот подход также оставляет ваши аналитические данные устаревшими на часы или дни.

С помощью streaming вы отправляете только фактические изменения во внешнюю систему. Вместо экспорта миллионов записей ежедневно вы передаёте только тысячи записей, которые действительно изменились. Этот подход:

  • Сокращает передачу данных на 99% и более
  • Обновляет внешние системы с минимальной задержкой (обычно менее одной минуты)
  • Значительно снижает затраты на облачные вычисления
  • Минимизирует требования к пропускной способности
  • Устраняет влияние на производительность базы данных

Лицензирование

Streaming включён в лицензии HQbird (per-server, безлимитная подписка и корпоративная поддержка). Функция предоставляется по запросу лицензированным клиентам.

Поддержка внедрения

IBSurgeon предлагает бесплатную поддержку внедрения streaming-решений для владельцев лицензий HQbird и клиентов технической поддержки до 31 декабря 2025 года. Это включает:

  • Анализ архитектуры для вашего сценария использования
  • Помощь в настройке плагинов
  • Рекомендации по настройке производительности для streaming
  • Поддержку при устранении неполадок

Свяжитесь с нами

Свяжитесь с IBSurgeon, чтобы включить streaming в вашей установке HQbird

IBSurgeon anuncia o lançamento 1.6.2 da tecnologia de streaming no HQbird

Streaming (também conhecido como captura de dados de mudança ou CDC) é uma forma de capturar alterações no banco de dados sem consultas SELECT e enviar dados para destinos externos.

HQbird inclui plugins prontos para uso para enviar alterações para Kafka, RabbitMQ, MongoDB ou arquivos JSON simples. O sistema de plugins é extensível - você pode desenvolver plugins personalizados para outros destinos.

Como funciona?

O HQbird Streaming lê o log de transações do Firebird para capturar alterações no banco de dados. O sistema processa transações confirmadas e converte cada alteração de registro em uma mensagem separada.

Após configurar o plugin de streaming, ele captura:

  • INSERT - todos os valores de colunas do novo registro
  • UPDATE - chave primária, todas as colunas das versões antiga e nova do registro (incluindo BLOBs de até 10MB - configuravel)
  • DELETE - chave primária e todos os valores antigos das colunas (incluindo BLOBs de até 10MB)

Você pode configurar o streaming para capturar alterações de tabelas selecionadas ou de todas as tabelas no banco de dados.

O sistema empacota cada alteração no formato desejado (mensagem Kafka, mensagem RabbitMQ, documento MongoDB ou arquivo JSON).

Características técnicas:

  • Latência: tipicamente 30 segundos (configurável de 5 a 60 segundos)
  • Taxa de transferência: testado até 10.000 alterações de registros por segundo
  • Buffer: baseado em disco, sobrevive a reinicializações do HQbird
  • Nenhuma modificação no banco de dados necessária (funciona com bancos de dados Firebird 4.0+ existentes)

Por que é útil?

O streaming fornece uma maneira eficiente de capturar alterações. Existem dois casos de uso principais: notificações orientadas a eventos e replicação de dados para sistemas externos.

Obtendo Notificações

Exemplo: Sistema de agendamento médico

Quando o sistema cria ou altera um agendamento de paciente, ele precisa notificar o médico com uma notificação push, enviar SMS para o paciente e atualizar o Google Calendar.

A abordagem tradicional requer consultas SELECT periódicas de cada serviço - remetente de SMS, integração com Google e aplicativo. Isso cria vários problemas:

  • Todos os serviços precisam de conexões SQL com o banco de dados
  • Consultas frequentes criam carga desnecessária no banco de dados (um antipadrão conhecido do Firebird)
  • Esforço extra de desenvolvimento para criar e manter consultas SQL
  • Acoplamento forte entre serviços e banco de dados

Com streaming, cada alteração na tabela APPOINTMENTS gera uma mensagem enviada para o Kafka. Todos os microsserviços se inscrevem nessas mensagens e recebem notificações automaticamente. Esta abordagem:

  • Requer apenas uma conexão com o banco de dados
  • Elimina consultas de polling
  • Reduz a carga do banco de dados
  • Desacopla os serviços do banco de dados
  • Entrega notificações em menos de um minuto

Replicação de Alterações para Sistemas Externos

Exemplo: Sistemas de business intelligence na nuvem

Se você usa sistemas de BI na nuvem como Snowflake ou BigQuery, exportações completas de dados regulares criam um ônus financeiro. Executar consultas SQL para exportar grandes quantidades de dados e depois processá-los através de pipelines ETL requer alta largura de banda e poder de processamento. Essa abordagem também deixa seus dados analíticos desatualizados por horas ou dias.

Com streaming, você envia apenas as alterações reais para o sistema externo. Em vez de exportar milhões de registros diariamente, você transmite apenas os milhares de registros que realmente mudaram. Esta abordagem:

  • Reduz a transferência de dados em 99% ou mais

  • Обновляет внешние системы с минимальной задержкой (обычно менее одной минуты)

  • Значительно снижает затраты на облачную обработку

  • Минимизирует требования к пропускной способности

  • Устраняет влияние на производительность базы данных

Лицензирование

Стриминг включен в лицензии HQbird (на сервер, безлимитная подписка и корпоративная поддержка). Функция предоставляется по запросу лицензированным клиентам.

Поддержка внедрения

IBSurgeon предоставляет бесплатную поддержку внедрения решений для стриминга владельцам лицензий HQbird и клиентам с корпоративной поддержкой до 31 декабря 2025 года.

Это включает:

  • Проверку архитектуры для вашего сценария использования
  • Помощь в настройке плагинов
  • Рекомендации по оптимизации производительности стриминга
  • Поддержку в устранении неполадок

Свяжитесь с нами

Свяжитесь с IBSurgeon, чтобы включить стриминг в вашей установке HQbird.