Monday, September 15, 2008

Bringing Open Source Replication to the Oracle World

Replication is one of the most useful but also also one of the most arcane database technologies. Every real database has it in some form. Despite ubiquity, replication is complex to use and in the case of commercial databases quite expensive to boot.

We aim to change that. On Tuesday we will be announcing replication support for Oracle. Oracle replication will be based on our open source Tungsten Replicator, which is currently available in an alpha version for MySQL. Our goal is to provide replication that is accessible and usable by a wide range of users, especially those running lower-cost Oracle editions.

It's not a coincidence that we chose to implement MySQL and Oracle replication at the same time. MySQL has revolutionized the simplicity and accessibility of databases in general and replication in particular. For example, MySQL users have created cost-effective read scaling solutions using master/slave replication for years. MySQL replication is not free of problems, but there is no question MySQL AB helped by the community got a lot of the basics really right.

On the other hand, Oracle replication products offer state-of-the-art solutions for availability, heterogeneous replication, application upgrade, and other problems, albeit for high-end users. For example, Oracle Streams and Golden Gate TDM offer very advanced solutions to the problem of data migration with minimal downtime. The big problem with these solutions is not capabilities but administrative complexity and cost.

Our initial cut at merging the two worlds is focused on creating a simple and usable database replication product that handles the following use cases for small to medium Oracle installations:
  • Basic data availability using extra copies of databases locally and off-site
  • Scaling reads using the MySQL read-scaling model
  • Performing zero-downtime upgrades and migrations using database replicas
  • Heterogeneous data migration between Oracle and MySQL as well as PostgreSQL (initially one-way only).
The big technical feature is that replication will work on all editions of Oracle, not just Enterprise Edition. We expect to help Oracle users build economical new systems on the scale-out model as well as off-load existing Oracle servers to avoid having to upgrade to more expensive licensing.

An early adopter version will be available toward the end of the month. The Oracle redo log extractor is commercial but all other capabilities are open source, so you can replicate from MySQL up to Oracle freely. We are now looking for some select users who can really help propel the software forward. If you would like to try out Oracle replication, contact me at Continuent.

4 comments:

Peter Tong said...

that is interesting.
I have two question:
1) why you will not open source your oracle redo log extractor?
2) I understand the product is still in alpha/beta/ whatever and there will be a long way before it could be used in production. But how it will be different from establishing players such as datamirror replicator (now IBM www.datamirror.com), goldengate tdm (www.goldengate.com/technology/tdm.html) or wisdomforce database sync (www.wisdomforce.com/products-DatabaseSync.html) ? What would be your value proposition?

Robert Hodges said...

1.) We are thinking about how much to publish in open source and for now it is better for the business to offer redo log extraction commercially. To be frank we need extensions that can fund the rest of development. Replication from MySQL to Oracle is fully open source. We will revisit this question over time.

2.) Differences from other players--support for open source databases at a cost of ownership that make sense for those users and a considerable discount for commercial users; ability to embed easily; low-to-the ground management that fits well in cloud and OEM environments, support for all versions of Oracle, to name a few differences.

Erika Webb said...

There are hardly any existing commercial products that replicate from MySQL 5.1 to Oracle. I think the Tungsten Replicator would really would fill in a long-felt need.

Robert Hodges said...

Actually replication *to* Oracle is open source. I'm posting a beta-2 build tonight that offers a first look at replicating statements into Oracle. We'll be able to handle replicating rows shortly. Check out http://www.continuent.com/community/tungsten-replicator for more information.

Scaling Databases Using Commodity Hardware and Shared-Nothing Design