Back
Database Management

Reliable database management for modern, high-performance systems.

Back
Data Modernisation

Reliable database management for modern, high-performance systems.

Back
Data Engineering

Reliable database management for modern, high-performance systems.

Back
Analytics & Intelligence

Reliable database management for modern, high-performance systems.

Back
Data Strategy Consulting

Reliable database management for modern, high-performance systems.

Data Migration & CDC from MySQL to VeloDB vs ClickHouse: Data Migration & CDC Compared

Paramesh M
Published on
October 16, 2026

1. Executive Summary

This reportdocuments a hands-ontechnical evaluation of two capabilities that are core to any MySQL-to-OLAP adoption: (a) one-time data migration, and (b) continuous live datastreaming (Change Data Capture / CDC). Both capabilities were evaluated againstthe same MySQL source database on VeloDB Cloud and on a self-managed ClickHousedeployment.

Across both areas, VeloDB Cloud consistently required less configuration, fewer moving parts, and produceda working result faster and more reliably than the equivalent ClickHousesetup.

  • Migration: VeloDB'sCatalog feature connected to MySQL and loaded data through a single guidedworkflow, with no server-side configuration changes required.ClickHouse required manual network/config-file edits, and one edit briefly took the ClickHouse service downentirely.
  • Live Streaming (CDC): VeloDB's managedCDC pipeline capturedMySQL inserts, updates,and deletes in real time outof the box. ClickHouse's native CDC engine (MaterializedMySQL) has been removedin current versions; replicating the same capability required standing up anexternal Kafka + Debezium stack, which failed on the available compute due tomemory constraints.

2. Architecture

Architecture Diagram

3. Objective

  • Evaluate the real-world steps, tooling, and infrastructure requiredto (a) migrate an existingMySQL dataset and (b)stream ongoing MySQL changes in real time, into VeloDB Cloud and intoClickHouse
  • Identify frictionpoints, configuration overhead, and reliability issuesencountered on each platform.
  • Provide a factual basis for selectinga MySQL-to-OLAP migrationand streaming target for future client projects.

4. Test Environment

Item VeloDB Cloud ClickHouse
Source database MySQL 8.4 on Ubuntu (AWS EC2, ap-south-1) Same MySQL source, shared by both targets
Dataset MySQL 'world' sample DB - city (4,080 rows), country (239 rows), countrylanguage (984 rows) Identical dataset used for both targets
Target platform VeloDB Cloud (managed SaaS, AWS us-west-1) ClickHouse Server, self-installed on AWS EC2 (ap-south-1)
Access method VeloDB Cloud web console - Catalogs / Import Data / SQL Editor SSH + clickhouse-client on EC2 instance, plus Docker for CDC tooling

PART A - One-TimeData Migration

A.1  Migration Path: VeloDB Cloud

  • Opened the VeloDB Cloud console and navigated to Catalogs.
  • Created a new MySQLCatalog by enteringHost, Port, Username, Password, and targetdatabase - no config files,no server restarts.
  • Clicked ‘Test Connection’ - connected successfully on the first valid credential attempt.
  • Ran a single CREATETABLE … AS SELECT statement per table in the built-inSQL Editor to physically copy datafrom the MySQL catalog into VeloDB's native storage.
  • Verified row counts matchedthe source (city:4,080; country: 239; countrylanguage: 984) on the first attempt
Run Query

Verification query results in VeloDB Cloud's SQL Editor confirming successful row counts and the newly created countrylanguage table under the geopits database.

A.2 Migration Path: ClickHouse

  • Provisioned a dedicated EC2 instance and installed ClickHouse Server via apt.
  • Initial attemptto connect to the sourceMySQL instance failed- MySQL was not yet configured for external access.
  • Edited MySQL'sserver configuration (bind-address) and restarted the MySQL serviceto permit remoteconnections.
  • Created a CREATETABLE … ENGINE = MySQL(…) pass-through table, then a second CREATE TABLE …ENGINE = MergeTree() AS SELECTstatement to physically copy the data - a two-step processrather than VeloDB's single guided workflow.
  • Verified row counts matchedthe source after the second(physical copy) step.

A.3 Migration - Side-by-Side Comparison

Step VeloDB Cloud ClickHouse (self-managed)
Setup method Fully UI-guided (Catalog wizard) Command-line + manual config file edits
Server config changes required (target side) None Network/listener configuration edit + service restart
Steps to load physical data 1 (CREATE TABLE AS SELECT) 2 (pass-through table, then MergeTree copy)
Errors encountered during setup None Invalid XML edit briefly took the ClickHouse service down; a dynamic EC2 IP address broke an existing connection string mid-task
Suitability for non-DBA / junior engineers High - no infrastructure knowledge required Moderate - requires Linux/server administration familiarity

PART B - Live Data Streaming (Change Data Capture)

Beyond a one-time migration, both platforms were evaluated for their abilityto continuously reflectongoing changes (inserts, updates, deletes) made to thesource MySQL database in near real time.

B.1  Live Streaming Path: VeloDB Cloud

  • Enabled MySQLbinlog (row-based format)and granted replication privileges to the connecting user - a one-timesource-side prerequisite common to any CDC approach.
  • Configured VeloDB'slive-streaming ingestion againstthe same MySQL source used for the Catalog connection.
  • Validated the pipeline by performing INSERT,UPDATE, and DELETE operations directlyon the MySQL source and confirming each change appeared inVeloDB automatically, without any manual re-sync.
Import Data

VeloDB Cloud's Import Data interface, offering native connectors for MySQL/PostgreSQL databases, S3 object storage, and event streams (Kafka, Confluent, MSK) to support continuous data ingestion.

Source Data Connection for Import Job

VeloDB's "Add Import Job – MySQL" wizardcapturing the sourceMySQL connection details,including host, port, JDBC URL, and credentials.

Configure Tables to Import Job

Table configuration step, targeting a new Geopits database with "Initial Load + Incremental Sync" selected and the city, country, and countrylanguage tables chosen for migration.

Settings for Import Job

Sync settings step, configuring a 60-second sync interval with Strict Mode enabled and a 0% max filter ratio.

Verify & Confirm to Import Data

Verify and Confirm step,showing all pre-flight checks - MySQLconnectivity, source configuration, target connectivity, and target permissions - succeeded beforestarting the job.

Data Imported

Import Data dashboard confirming the  mysql_world_cdc job is actively running, streaming from the world MySQL source into the Geopits destination database.

B.1  Live Streaming Path: ClickHouse

  • ClickHouse's previousnative CDC mechanism, the MaterializedMySQL databaseengine, returned an ‘Unknowndatabase engine’ error - this engine has been officially removed from currentClickHouse releases.
  • The currentrecommended path for MySQL CDC into ClickHouse is an externalDebezium + Kafkapipeline (MySQL binlog →Debezium → Kafka → ClickHouse Kafka table engine).
  • Kafka and Kafka Connect (Debezium) containers were deployed via Docker. Kafka repeatedly crashed with an out-of-memory error, as the available compute instance did not have sufficient RAM to run ClickHouse and a full Kafka/Debezium stack simultaneously.
  • A workingDebezium → Kafka capture of MySQL binlog events was independently validated(change events were confirmed flowing into a Kafkatopic), demonstrating the approach is technically sound- but completing the pipeline into ClickHouse requiresmaterially more infrastructure than a single small instance provides.

B.2  Live Streaming - Side-by-Side Comparison

Item VeloDB Cloud ClickHouse
Native CDC support Yes - fully managed, built into the platform No - previous native engine (MaterializedMySQL) removed from current versions
Additional infrastructure required None Kafka + Kafka Connect + Debezium connector (separately provisioned and sized)
Setup complexity Enable binlog on source → configure streaming in VeloDB console Enable binlog on source → deploy Kafka → deploy Debezium Connect → register connector → build Kafka-engine table → build materialized view into MergeTree
Operational ownership Fully managed by VeloDB Cloud Customer owns and must size/monitor the Kafka + Debezium layer
Result in this evaluation Working end-to-end (INSERT / UPDATE / DELETE verified live) Capture layer (MySQL → Kafka) verified; full pipeline into ClickHouse blocked by compute constraints on the test instance

5. Conclusion & Recommendation

Across both one-time migration and live streaming, VeloDB Cloud delivered a materially simpler,faster, and more reliablepath from MySQL to an analytical (OLAP) platform, with no additionalinfrastructure to design, provision, or operate.

  • Migration into VeloDB required zero server-side configuration and completed without error; migration into ClickHouse required multiple manual configuration edits, one of which caused a service outage.
  • Live streaming into VeloDB worked immediately using a built-in, managed capability; the equivalent ClickHouse capability has been discontinued in current releases and its replacement (Debezium + Kafka)requires standing up and operating a separate distributed system, which could not be completed on the available test compute.

Recommendation: For MySQL-to-OLAP projects that require both a straight forward initial migration and ongoing real-time synchronisation, VeloDB Cloud is the recommended platform based on this evaluation - it materially reduces engineering time, infrastructure ownership, and operational risk compared to a self-managed ClickHouse + Kafka + Debezium stack.

Paramesh M

Paramesh M specializes in data engineering, with a focus on building data pipelines and developing scalable data solutions. His technical expertise includes Databricks, data engineering workflows, and Apache Superset, supported by certifications in Databricks Data Engineering and Apache Superset.

Our Latest Blogs

From monitoring to modernization, GeoPITS provides expert database management services that enhance performance, strengthen security, and reduce operational costs.

Ready to Transform Your Data?

Geopits works alongside your team as a strategic partner, starting with stabilizing your current databases, then modernizing your data infrastructure, and ultimately helping you unlock the full potential of AI.

170

Happy Clients so far

2100+

Databases Managed

142+

Successful Migrations

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.