For as long as databases have existed, people have been trying to migrate to something new but the reality of migrating databases is hard. On Dec. 1 AWS announced something very different: it is open sourcing Babelfish that acts as a new translation layer for PostgreSQL! “Babelfish enables a company to move to PostgreSQL and run that database…anywhere. On-premises? Yep. On AWS? Of course. On Azure/GCP/Alibaba/cloud-of-your-choice? Absolutely. In this way, Babelfish could actually be the heart of a multicloud strategy, at least for database workloads. Build on PostgreSQL and run those workloads anywhere you want. Yes, AWS would prefer that enterprises will use Babelfish to run more PostgreSQL applications on AWS, but because it’s open source, the user decides where they want to run their PostgreSQL workloads.” Link
“What does that mean? It means that PostgreSQL can now understand commands from applications written for Microsoft SQL Server without the developer having to change database schema, libraries, or SQL statements. For all intents and purposes, the application thinks it’s talking to SQL Server, but it’s now talking to PostgreSQL.
This is different from traditional DB migration services, which involve converting the database schema from one database to another, then taking data from the first database and loading it into the target database, with any necessary ETL (extract, transform, and load) steps thrown in to complete the process. While a DMS is a very useful thing, they tend to be error prone and still require quite a bit of work even after the migration (e.g., a developer still needs to change the application to use the target database’s drivers, and often they’ll need to rewrite internal application code to make it all work).
In contrast, Babelfish does none of that. Babelfish lets you load your data into PostgreSQL with no conversion and lets your application think it’s still talking to SQL Server.
So that’s cool, but what I like best is that it’s open source. This is important for two reasons.
First, developers love to run PostgreSQL however and whenever they can. PostgreSQL has always been a popular choice with developers, but that popularity has exploded over the last 10 years. Every year for the past several years developers have crowned it the relational database they most love. SQL Server is a great database but, given the chance to run more PostgreSQL…? I’m betting developers will be jump at that chance.
The second reason Babelfish’s open source approach is important is that it enables a community to steer the project. A host of individuals and companies have spent decades trying to help companies migrate from SQL Server to PostgreSQL. PostgreSQL community member Ian Harding, for example, started working on this roughly 20 years ago. In this process, they have learned a great deal about SQL Server and PostgreSQL, and the nuances of their differing semantics. AWS says that at launch, Babelfish will cover the majority of common application scenarios. But given the size of the SQL Server surface area, Babelfish needs the expertise of an open source community to cover the long tail of SQL Server functionality.”