During the AWS re: Invent keynote, AWS previewed the new Babelfish database service for Aurora PostgreSQL. The service is a fully managed, PostgreSQL-compatible and ACID-compatible relational database engine that runs on the Amazon Cloud and is open source.
Babelfish for Aurora PostgreSQL is a SQL Server compatible endpoint for PostgreSQL, which makes the PostgreSQL service fluent in understanding the communication of SQL Server applications (i.e., understanding the T-SQL and TDS communication protocol).
Matt Asay wrote in an open source blog post from AWS about Babelfish:
With Babelfish, PostgreSQL can understand database requests – both command and protocol – from applications written for Microsoft SQL Server without changing libraries, database schemas, or SQL statements.
With Babelfish for Aurora PostgreSQL, the company offers its customers the ability to switch from SQL Server On-Premise to Aurora PostgreSQL without having to change database drivers or rewrite application queries.
According to Asay’s blog post, customers can easily load data into Babelfish with no conversions. The guiding principle for service is correctness. This means that applications designed to use SQL Server semantics behave the same way on PostgreSQL as they would on SQL Server. In addition, Asay explains in a hacker news thread:
At start-up, Babelfish will be able to handle the main semantics you want with 100% accuracy. However, there is a large surface area and “long tail” of features that require expertise from us and others to cover. To get this right, it takes a community.
Source: https://twitter.com/mattdevdba/status/1334212687056809988 (picture)
PostgreSQL is an option developers can use in their applications alongside MySQL, SQL Server, and Oracle. In addition, the option has grown in popularity over the past decade, as measured by stack overflow. It may then also be an option to switch to a managed service in the cloud, e.g. B. Babelfish. Shawn Bice, vice president, database at AWS, said in a press release on Amazon Aurora:
With today’s announcement of the next generation of Amazon Aurora Serverless and Babelfish, we’re making it even easier for customers to step beyond the limitations of old-guard databases, take advantage of the immense cost benefits of open source database engines, and get the right database for picking the right job.
A respondent on a Babelfish for PostgreSQL Reddit thread also stated:
With this new offering, you can move to a lower-cost, AWS-hosted PostgreSQL-compatible database without changing your application code. I’m not sure what the data migration process will be like (moving data from SQL Server to a comparable Redshift / PGSQL environment), but this is a big step in decoupling applications from their database platform.
Currently, customers interested in Babelfish for Aurora PostgreSQL can sign up for early access. In addition, the open source project Babelfish will start in 2021 and be available on GitHub under the Apache 2.0 license.