Ключевые возможности
- CDC (фиксация изменений данных) в реальном времени: Streamkap считывает изменения напрямую из журналов вашей базы данных, благодаря чему данные в ClickHouse остаются актуальной репликой источника. Упрощённая потоковая обработка: преобразовывайте, обогащайте, маршрутизируйте, форматируйте данные и создавайте эмбеддинги в реальном времени до их загрузки в ClickHouse. Работает на базе Flink, но без связанной с ним сложности
- Полностью управляемое и масштабируемое решение: Оно предоставляет готовый к промышленной эксплуатации и не требующий обслуживания конвейер, избавляя от необходимости управлять собственной инфраструктурой Kafka, Flink, Debezium или schema registry. Платформа рассчитана на высокую пропускную способность и может линейно масштабироваться для обработки миллиардов событий.
- Автоматическая эволюция схемы: Streamkap автоматически обнаруживает изменения схемы в исходной базе данных и переносит их в ClickHouse. Он может добавлять новые столбцы и изменять типы столбцов без ручного вмешательства.
- Оптимизировано для ClickHouse: Эта интеграция создана для эффективной работы с возможностями ClickHouse. По умолчанию она использует движок ReplacingMergeTree, чтобы без проблем обрабатывать обновления и удаления из исходной системы.
- Надёжная доставка: Платформа обеспечивает гарантию доставки как минимум один раз, сохраняя согласованность данных между источником и ClickHouse. Для операций upsert она выполняет дедупликацию на основе первичного ключа.
Начало работы
Предварительные требования
- Аккаунт Streamkap.
- Сведения о подключении к вашему кластеру ClickHouse: Hostname, Port, Username и Password.
- Исходная база данных (например, PostgreSQL, SQL Server), настроенная для поддержки CDC (фиксация изменений данных). Подробные руководства по настройке можно найти в документации Streamkap.
1
Настройте источник в Streamkap
- Войдите в свой аккаунт Streamkap.
- На боковой панели перейдите в раздел Connectors и выберите вкладку Sources.
- Нажмите + Add и выберите тип исходной базы данных (например, SQL Server RDS).
- Заполните сведения о подключении, включая конечную точку, порт, имя базы данных и учетные данные пользователя.
- Сохраните коннектор.
2
Настройте пункт назначения ClickHouse
- В разделе Connectors выберите вкладку Destinations.
- Нажмите + Add и выберите ClickHouse из списка.
- Введите сведения о подключении для вашего сервиса ClickHouse:
- Hostname: хост вашего экземпляра ClickHouse (например,
abc123.us-west-2.aws.clickhouse.cloud) - Port: защищённый порт HTTPS, обычно
8443 - Username and Password: учетные данные пользователя ClickHouse
- Database: имя целевой базы данных в ClickHouse
- Hostname: хост вашего экземпляра ClickHouse (например,
- Сохраните пункт назначения.
3
Создайте и запустите конвейер
- Перейдите в Pipelines на боковой панели и нажмите + Create.
- Выберите источник и пункт назначения, которые вы только что настроили.
- Выберите схемы и таблицы, которые хотите передавать.
- Задайте имя конвейеру и нажмите Save.
4
Проверьте данные в ClickHouse
Подключитесь к вашему кластеру ClickHouse и выполните запрос, чтобы увидеть данные, поступающие в целевую таблицу.
Как это работает с ClickHouse
Движок таблицы и обработка данных
- Первичный ключ исходной таблицы используется как ключ ORDER BY в определении таблицы ReplacingMergeTree.
- Обновления в источнике записываются в ClickHouse как новые строки. В ходе фонового процесса merge в ReplacingMergeTree эти строки схлопываются, и сохраняется только самая новая версия на основе ключа ORDER BY.
-
Удаления обрабатываются с помощью флага метаданных, который передаёт значение в параметр ReplacingMergeTree
is_deleted. Строки, удалённые в источнике, не удаляются сразу, а помечаются как удалённые.- При необходимости удалённые записи можно сохранять в ClickHouse для аналитики