新闻 | Babelfish使PostgreSQL直接兼容SQL Server应用程序



Babelfish for PostgreSQL是一个Apache-2.0开源项目,该项目向PostgreSQL添加了与Microsoft SQL Server兼容的端点,以使PostgreSQL数据库能够理解SQL Server wire protocol和常用的SQL Server命令。使用Babelfish,最初为SQL Server构建的应用程序可以直接与PostgreSQL一起使用,几乎不需要更改代码,也无需更改数据库驱动程序。

PostgreSQL的Babelfish将于2021年在Github上可用。


基本原理

1610949620476481.png

Babelfish for PostgreSQL向PostgreSQL添加了一个端点,它可以理解SQL Server连接协议表格数据流(TDS)和SQL Server常用的T-SQL编程语言构造。对T-SQL的支持包括SQL方言、游标、目录视图、数据类型、触发器、存储过程和函数等元素。


主要优势

更快的迁移:从SQL Server到PostgreSQL的完整迁移速度更快,在更改应用程序代码方面节省了数月甚至数年的工作;

自由创新:通过与现有T-SQL代码并排运行PostgreSQL代码来构建新功能;

100%开源:使用许可的Apache 2.0许可证。协助并指导Babelfish的发展方向,以满足您的应用需求。


Q&A

1.谁为PostgreSQL开发了Babelfish?

PostgreSQL的Babelfish项目由Amazon Web Services创建,后者构建了 Amazon Aurora 和 Amazon RDS之类的服务


2.您为什么为PostgreSQL开发Babelfish?

我们为PostgreSQL构建了Babelfish,以便更轻松地将应用程序从SQL Server迁移到PostgreSQL。今天,有很多方法可以将数据和数据库架构从SQL Server迁移到PostgreSQL。但是,一旦完成了初始数据库迁移,就需要手动重新编写应用程序代码,关闭数据库驱动程序并验证应用程序行为有没有改变。结果,由于束缚开发人员的机会成本以及在对应用程序代码进行大量更改时存在引入错误的风险,组织难以启动这类迁移项目。


3.PostgreSQL的Babelfish何时可在GitHub上使用?

PostgreSQL的Babelfish将于2021年在Github上可用。


4.谁可以为Babelfish for PostgreSQL做出贡献?

任何人!我们将使所有组织的开发人员,SQL Server专家和PostgreSQL专家都能轻松地帮助指导Babelfish for PostgreSQL的发展方向。我们计划提供示例和培训,以帮助那些对开源项目不熟悉的人快速入门。


5.Babelfish for PostgreSQL如何获得许可?

我们将根据许可的Apache-2.0许可证发布PostgreSQL的Babelfish,使您可以根据自己选择的条款自由使用,复制和分发更改。


6.Babelfish for PostgreSQL用什么编程语言编写?

Babelfish用C编写,这与用于开发PostgreSQL的编程语言相同。Babelfish的某些部分是使用PL / pgSQL中的过程语言开发的。许多测试用例是用PL / pgSQL和T-SQL编写的。


7.我该如何贡献?

您可以通过添加或扩展Babelfish功能,提交功能请求,处理文档以及贡献测试用例来做出贡献。


学到更多

开源博客宣布Babelfish for PostgreSQL开源项目,可以阅读更多有关PostgreSQL的Babelfish的信息,了解项目的目标以及如何加入,贡献和协作。


在这里阅读

https://aws.amazon.com/cn/blogs/opensource/want-more-postgresql-you-just-might-like-babelfish/

社区公众号二维码
相关内容