Exploring the Possibilities of Babelfish for Aurora PostgreSQL
Author: Shailesh Rangani | | August 18, 2021
You want to use the powerful AWS platform, but your organization is too invested in Microsoft SQL Server applications or lacks the resources to migrate legacy databases. The good news is that you don’t need to choose between the two technologies or go through a painful re-architecting process if you use Babelfish for Aurora PostgreSQL.
Imagine if you can have PostgreSQL Aurora as your database backend but:
- You can continue to use your legacy application code written for the SQL Server
- Your client driver continues to be related to the SQL Server
- All your new developments can be written directly to the PostgreSQL Aurora
What is Babelfish for Aurora PostgreSQL?
AWS services like the schema conversion tool (SCT) and the database migration services (DMS) can be used for migrating existing SQL Server schema and data to Aurora PostgreSQL but it is often more effort and time-consuming tasks for migrating application code to be compatible with Aurora PostgreSQL.
Amazon recently released a new AWS service called Babelfish that acts as a translation layer. When you use it alongside an Amazon Aurora PostgreSQL instance, you can have the database understand the Microsoft SQL Server application commands. This translation layer places a significant emphasis on correctness and data fidelity, so your applications work the same as they would in their original environment. Babelfish is also available as an open-source tool with an Apache 2.0 license.
Babelfish works by translating T-SQL, the specific SQL dialect that Microsoft SQL Server uses, and it supports that technology’s communications protocol. It also includes stored procedures, data types, cursors, functions, triggers, and catalog views used by SQL Server. Babelfish supports applications that are based on SQL Server 2014 and up.
You only have to make a few code changes to your SQL Server applications with this layer in place. This functionality is exceptionally helpful when you have legacy applications you’d like to migrate to the cloud because of the time and effort involved in rewriting application code.
Babelfish is included in your Amazon Aurora subscription, so you pay nothing for this service. Setting it up is a simple process and takes place within the Amazon RDS management console. You still need to take your SQL Server data through a migration process, but you can use AWS Database Migration Service (DMS) to quickly move your data and schema to the new instances.
The Benefits of Babelfish for Aurora PostgreSQL
Using Babelfish for Aurora PostgreSQL transforms your legacy SQL Server database and application migrations in many ways:
- Speeds up migrations: You eliminate an especially time-consuming database migration step when all of your applications need only minor changes to use Aurora. You can get up and running on the new platform at a much faster pace thanks to the reduced complexity of this process, alongside helpful automated tools such as DMS to streamline the rest.
- Reduces the risk of migrations: The fewer changes you need to make to your SQL Server applications, the less likely it is that errors occur. A less complex migration process also controls risk since you have fewer moving parts that could cause a problem.
- Lets you use your current tools: You don’t have to switch many of the tools you currently use with SQL Server. Babelfish uses PostgreSQL’s APIs, so you can continue to use your tools post-migration.
- Decreases your development team’s workload: Your development team can focus on creating new applications for the cloud rather than spending their valuable time rewriting legacy software.
- Reduces migration costs: The full cost of your SQL Server to Aurora PostgreSQL migration is kept under control when you no longer need to rewrite existing code bases. You also get to move away from SQL license fees with this AWS service, which can be a significant expense.
- Freedom to migrate and innovate: Once you migrate to Babelfish for PostgreSQL Aurora, you can continue converting SQL Server modules/codes to PostgreSQL compatible at your own pace. In parallel all your new functionalities and developments can be on PostgreSQL code side-by-side with your current T-SQL code.
Getting the Most Out of Your SQL Server to Aurora PostgreSQL Migration
Moving from on-premises SQL Server databases to a cloud-based Aurora PostgreSQL instance is a big change. To ensure that you’re maximizing the value of your cloud investment, work with an experienced AWS specialist like Datavail. We have over 1,000 DBAs and data experts ready to help you along your cloud journey. Contact us to learn more.
Read This Next
As the complexity of modern database deployments increases more enterprises are deploying MySQL and PostgreSQL within Database as a Service (DBaaS) environments such as Amazon Aurora.
The “ORA-12154: TNS:could not resolve the connect identifier specified” Oracle error is a commonly seen message for database administrators.
Our database experts explain how to recover and restore a table from an Oracle 12c RMAN Backup with this step-by-step blog. Read more.