The Distributed SQL Blog

Thoughts on distributed databases, open source and cloud native

Zero-Downtime Migrations from Oracle to a Cloud-Native PostgreSQL

Chief Technical Architect, Founder

Today, we are proud to announce that Blitzz and Yugabyte have partnered to accelerate database modernization. Both these companies were founded by engineering leaders with a proven track record in databases and share a common vision of enabling enterprises to replicate and migrate their existing databases to a cloud-native platform. With Yugabyte DB’s Postgres-compatible YSQL API, enterprises can benefit from cloud-native properties and simultaneously avail of the rich features in the Postgres ecosystem. This strategic partnership ensures that Yugabyte DB is supported as a certified integration in the Blitzz ecosystem. Using Blitzz today, enterprises can achieve a zero-downtime migration solution from a variety of databases like Oracle, SQL Server, MySQL, MongoDB, DynamoDB, Cassandra, Postgres to Yugabyte DB. Blitzz supports both the YSQL and YCQL APIs of Yugabyte DB.

What is Blitzz?

Blitzz is a cloud-native data replication platform that migrates databases to the cloud by autonomously migrating schemas and continuously replicating data across heterogeneous systems. Built from the ground up to handle high volume and high velocity data replication, Blitzz is enterprise-scale data replication solution that is autonomous, distributed and fault-tolerant.

Here are some key capabilities and features of Blitzz

  • Blitzz offers automatic migration of business logic (tables, indexes, views) from source database to destination database. No manual creation of schemas is required.
  • Blitzz’s patented high-volume and parallel database replication technology enables extremely fast migration of initial snapshot data and keeps both the source and destination in-sync as the migration happens. Blitzz achieves that using a technique called Change-Data-Capture (CDC) that continuously pulls a stream of changes from the source database and apply it into the destination database.
  • Blitzz offers bi-directional replication and is fault-tolerant with automatic recovery and checkpoint.
  • Blitzz guarantees exactly once transaction delivery across heterogeneous systems.
  • Blitzz ensures encrypted communication with source and destination databases thus offering a fully secure replication solution.

Blitzz is deployed in the cloud (or on premise) on a dedicated set of virtual machines. It connects to the source and destination databases using standard JDBC protocols (or other public APIs) and therefore, it is essential to have network connectivity from the Blitzz VMs to the source and destination databases. Blitzz does not require any agent software to be run in any of the database nodes and is a non-intrusive solution for data replication.

Zero Downtime Migration to Yugabyte DB

There are various ways to migrate database workloads from one platform to another. Traditionally, people have relied on a lift-and-shift strategy with a migration down-time and that approach worked very well when enterprises were not required to be available for business 24/7. In today’s digital world, critical business applications have to be always available and therefore such lift-and-shift strategy is not viable. A zero downtime migration strategy where both the old and new platforms are always in sync as the migration takes place, is the most preferred approach today adopted by enterprises for critical business applications.

Blitzz offers a secure and reliable way of performing zero downtime migration from a variety of source databases to Yugabyte DB. The migration follows a methodical step by step approach that simplifies migration of complex operational workloads.

Example: Migrating an Order Processing Workload from Oracle to Yugabyte DB

As an example, let’s look at migrating a retail order processing workload from Oracle to Yugabyte DB using the command line interface of Blitzz. This retail workload consists of a schema with 8 tables, some tables having a primary key-foreign key relationship. When Blitzz runs, it reads the table definitions in Oracle and creates equivalent tables in Yugabyte DB. Here is an example of how the schema translation works in practice for tables lineitem and part; please note that Blitzz migrated the primary key of part as well.

Once schema translation is done, Blitzz starts migrating the initial snapshot data from Oracle to Yugabye DB and all that work is done in parallel utilizing all available cores on the virtual machine. Blitzz displays statistics of the data movement on a per table basis and also progress of how much data transfer has finished; the progress percentage reaching 100% when all snapshot data has been written.

When all the initial migration is over, Blitzz maintains an internal checkpoint and starts continuously replicating transactions as they appear in Oracle to Yugabyte DB thus keeping both systems in sync. While both systems are in sync, SQL applications can be migrated in phases, and quality assurance tests can be run to determine when to cutover.

The entire demo of the above TPC-H workload live-migration from Oracle to Yugabyte DB is captured in this video.

What’s Next?

Related Posts

Chief Technical Architect, Founder