Skip to content

Babelfish for Aurora PostgreSQL

Amazon goes after Microsoft’s SQL Server with Babelfish for Aurora PostgreSQL.

What is interesting is that a direct port of SQL Server to PostgreSQL or Aurora PostgreSQL can be challenging due to incompatibilities in data types, and in functions.

What is promised in Babelfish is that it will create a layer between standard SQL Server TSQL and PostgreSQL to be that translation layer similar in concept to the fictional Babelfish translator from the Hitchhikers Guide to the Galaxy book.

Babelfish provides translations for the SQL language TSQL, but also SQL commands, cursors, catalog views, data types, triggers, stored procedures, and functions.

My primary concerns would be around compatibility and performance.

Compatibility: There is the discussion around this on the concept of correctness where they would behave the same on PostgreSQL as they would on SQL Server. But there are also statements that it is designed to fail if using something specific to SQL Server that is not compatible on PostgreSQL, with the point that it would fail to let the developer know it is not supported rather than defaulting to some possibly incorrect behavior.

Performance: Given that SQL Server has amazing performance, and many amazing performance features built in, and I am sure that PostgreSQL has good performance. How well will things perform when being processed on one platform and then being translated to another format for data delivery? Will we have access to execution plans that get translated from SQL Server TSQL to PostgreSQL? If so that would be really cool.

More on performance. Where to we start on performance tuning on PostgreSQL? That is not something I have done yet, I am sure there are tools to help, but are they as mature as the tools and 3rd party products on SQL Server to help with finding the performance issues.

Babelfish is said to be launching in 2021, which means we will soon have a chance to give it a try.

I am curious to find out what it would take to translate, for instance can you run CREATE TABLE statements with SQL data types and have them translate to PostgreSQL types. For instance a UNIQUEIDENTIFIER column on SQL need to map to a CHAR(16) on PostgreSQL. I am curious how that and other data types would work.

Will SQL Server management studio work when connecting to PostgreSQL using Babelfish?

I guess it would be interesting to give it a try with a small application or some part of a larger application and see how it behaves.

What are your thoughts on this?

 

More from Stedman Solutions:

SteveStedman5
Steve and the team at Stedman Solutions are here for all your SQL Server needs.
Contact us today for your free 30 minute consultation..
We are ready to help!

Leave a Reply

Your email address will not be published. Required fields are marked *