The rate at which we are seeing technological developments that were once thought of as fiction come to life is frightening as much as it is exciting. With the Metaverse to soon become a reality, we can expect the service we will discuss today (that’s named after a fictional fish) to be no less extraordinary. Figuratively speaking, the Babel Fish was invented by Douglas Adams in 1978 as part of his novel the Hitchhiker’s Guide to the Galaxy, only to be recreated in 2021 as a digital service. The author describes the fish as a small, odd creature that feeds on brainwave energy emitted from others around. If you were to put it into your ear all languages would become understandable to you.
So, in 2021 does this mean that Babelfish is a translation service? Its concept goes beyond spoken languages, and since we mentioned it is a digital service, we’ve given the most important clue. Babelfish, as AWS CEO Andy Jassy explained, “aims to reduce the need for purchasing expensive SQL server licenses.” How is the concept of translation involved in the process and what are the advantages and disadvantages of utilizing Babelfish in your infrastructure?
Process faster migrations with fewer hazards
It’s common for businesses to build applications based on Oracle or Microsoft SQL Servers as these have been the standards for most organizations. Settling into a new database requires an immense amount of work, which entails not only moving all the data into a new database but also rewriting SQL statements one by one.
The utmost benefit of using Babelfish remains the reduction of licensing fees. By using Babelfish you can migrate applications built for SQL server into PostgreSQL with ease. Only a few changes to the code are required, while database drivers can remain the same. This allows the migration process to happen seamlessly in less time.
This doesn’t eliminate the need for using other separate tools such as Amazon’s Database Migration Service. You have to use it to move your schema and all of your data, but it’s all done in less time because you are not required to rewrite the application code.
Build new functionalities with AWS Babelfish
Babelfish executes query translations in real-time to allow the use of applications built for Microsoft SQL Server to run through Amazon Aurora PostgreSQL. During the process, it also implements the requisite protocols that allow the use of SQL Server tools against PostgreSQL while migrating. Does this imply you must use only T-SQL queries forever?
After activation, Babelfish supports your old queries but at the same time, it allows you to build new functionality with native Postgres. While this removes the need for replacing database drivers and rewriting the application it’s a plain sailing transition to Postgres.
Providing ideal data and query correctness
Considering the unique ways in which both languages store data it leaves room for thinking that there could be mistakes during code translation. Matt Asay states an example of these possible scenarios. In his example, the difference between databases affects how the information is stored depending on the data type and this can be a source of great confusion.
We can illustrate this using the Money data type. In SQL Server, the Money data type takes four digits of the decimal, while in PostgreSQL, the same data type counts only two digits to the right of the decimal. Storing a number such as $12.2343 would give us two alarmingly different results ($12.23 in PostgreSQL and $12.2343 in SQL Server).
With the unveiling of AWS Babelfish, Andy Jassy addressed such data risks and assured that they are receiving maximum attention from engineers to assure data and query correctness across servers and code. Developers can also contribute to the Babelfish source code found on Github as well to further mitigate risks and identify solutions. Through these efforts, the goal is for applications not to simply execute queries correctly but also behave as if running in a SQL Server.
Why managing data matters
A fundamental element of working with data is its organization in a manageable and accurate way. This enables your teams to have access to in-depth insights from your business data so your organization can scale. Building these flexible data architectures is our specialty at Blue Orange Digital and we are proud to be certified AWS Partners. We work with businesses of different sizes to assist in transitioning towards advanced solutions using machine learning and data science.