During the AWS re:Invent keynote, AWS announced the new database service Babelfish for Aurora PostgreSQL in Preview. The service is a fully-managed, PostgreSQL-compatible and ACID-compliant relational database engine that runs in the Amazon cloud and is open-source.
Babelfish for Aurora PostgreSQL is an SQL Server-compatible end-point for PostgreSQL, making the service PostgreSQL fluent in understanding communication from SQL Server applications (i.e., including understanding T-SQL and TDS communication protocol).
Matt Asay wrote in an AWS open-source blog post about Babelfish:
Babelfish enables PostgreSQL to understand database requests—both the command and the protocol—from applications written for Microsoft SQL Server without changing libraries, database schema, or SQL statements.
Thus with Babelfish for Aurora PostgreSQL, the company provides customers with an option to shift from SQL Server on-premise to Aurora PostgreSQL without switching database drivers or re-write application queries.
Source: https://aws.amazon.com/rds/aurora/babelfish/
According to the blog post of Asay, customers can easily load data into Babelfish without conversions. The guiding principle for the service is correctness, meaning applications designed to use SQL Server semantics will behave the same on PostgreSQL as they would on SQL Server. Furthermore, in a Hacker News thread, Asay states:
At launch, Babelfish will be able to handle - with 100% correctness - the main semantics you'd want. HOWEVER, there's a large surface area and a "long tail" of functionality that needs expertise from us and others to cover. So to do this right, it needs a community.
Source: https://twitter.com/mattdevdba/status/1334212687056809988 (image)
PostgreSQL is an option for developers to use in their applications next to MySQL, SQL Server, and Oracle. Moreover, the option has increased in popularity over the last decade as measured by Stack Overflow. It can then also be an option to move to a managed service in the cloud, such as 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 are making it even easier for customers to leave the constraints of old-guard databases behind, enjoy the immense cost advantages of open source database engines, and choose the right database for the right job.
Also, a respondent on a Babelfish for PostgreSQL Reddit thread stated:
This new offering will let you move to a lower-cost, AWS-hosted PostgreSQL-compatible database without changing your application code. I'm not sure what the migration process for the data will be (getting your data out of SQL Server and into a comparable Redshift/PGSQL environment), but this is a big step towards decoupling applications from their database platform.
Currently, customers interested in Babelfish for Aurora PostgreSQL can sign up for early access. Furthermore, the open-source Babelfish project will launch in 2021 and be available on GitHub under the Apache 2.0 license.