Amazon выпустила исходный код Babelfish для PostgreSQL

Недавно появилась новость о том, что Amazon решила выпустить исходный код "Babelfish for PostgreSQL", предлагая расширение базы данных PostgreSQL с реализацией определенных возможностей базы данных Microsoft SQL Server.

Ключевая цель проекта - предоставить возможность запускать приложения, написанные для SQL Server, на серверах, на которых работает PostgreSQL. Код проекта открыт под лицензиями Apache 2.0 и PostgreSQL.

Тем, кто не знаком с Babelfish, следует знать, что это поддерживает сетевой протокол, используемый для подключения клиентов к расширениям языка запросов SQL Server, T-SQL и SQL Server, позволяя вам переводить запущенные приложения с Microsoft SQL Server на PostgreSQL без модификации вашего кода или с минимальными изменениями и без замены драйверов для СУБД. Для приложений Babelfish выглядит как обычный SQL-сервер. Проект уже используется на Amazon Aurora.

Сегодня мы делаем Babelfish доступным для Aurora PostgreSQL. Babelfish позволяет Amazon Aurora PostgreSQL-Compatible Edition понимать протокол подключения к SQL Server. Это позволяет вам переносить ваши приложения с SQL Server на PostgreSQL дешевле, быстрее и с меньшим риском, связанным с таким изменением.

Утверждается, что проект Babelfish следует открытой модели разработки что позволяет участникам сообщества вносить изменения и влиять на развитие. Для пользователей изменение на Babelfish позволит вам избежать значительных гонораров за использование SQL Server., обходить лицензионные ограничения и не зависеть от изменений в политике обслуживания проприетарного продукта (отмена льгот, прекращение поддержки платформы, рост цен).

В проект входит набор расширений PostgreSQL., набор патчей PostgreSQL и набор инструментов компаса:

Расширения обеспечивают поддержку PostgreSQL для дополнительного синтаксиса, типов данных и функций, необходимых для миграции с SQL Server. Всего предлагается 4 расширения:

  • Babelfishpg_tsql: который является расширением для реализации языка T-SQL (Transact-SQL), который дополняет SQL процедурным программированием, поддержкой локальных переменных и расширенных функций для обработки строк, дат и математических выражений. Реализовано большинство запрошенных функций T-SQL, включая точки сохранения, хранимые процедуры и вложенные транзакции. Однако значительная часть синтаксиса и функций остается нереализованной (как правило, это характеристики, которые редко используются в реальных приложениях, таблица совместимости). Например, конструкции «ДОБАВИТЬ ПОДПИСЬ», «СОЗДАТЬ АГРЕГАТ», «СОЗДАТЬ / ИЗМЕНИТЬ / УДАЛИТЬ РОЛЬ ПРИЛОЖЕНИЯ | СБОРКА | АСИММЕТРИЧЕСКИЙ КЛЮЧ», «НАЧАТЬ ВРЕМЯ РАЗГОВОРА», «КОНЕЦ / ПЕРЕМЕСТИТЬ РАЗГОВОР» и т. Д. они еще не доступны.
  • Babelfishpg_tds: расширение для реализации протокола TDS (Tabular Data Stream), используемого в SQL Server для сетевого соединения между СУБД и клиентом. Поддерживается протокол TDS версии 7.1 и выше.
  • Babelfishpg_common: расширение для реализации конкретных типов данных SQL Server.
    Babelfishpg_money: представляет собой реализацию типа денег, основанную на коде расширения FixedDecimal.

Патчи включают изменения в движке PostgreSQL, необходимые для обеспечения дополнительных функций расширений Babelfish. В настоящее время совместно с разработчиками PostgreSQL ведется работа по включению подготовленных патчей в основной состав PostgreSQL. Патчи подготовлены для PostgreSQL 13.

Утилита compass предназначена для синтаксического анализа сценариев T-SQL DDL и кода SQL на совместимость с Babelfish. В результате создается отчет о том, какие функции, необходимые для запуска приложения, еще не поддерживаются Babelfish.

Официально поддерживаются следующие клиентские библиотеки для подключения к MS SQL Server:

  • Поставщик OLEDB / MSOLEDBSQL
  • Драйвер OLEDB / SQLOLEDB
  • Структура сущностей Ado.NET
  • Собственный клиент SQL Server 11.0
  • ODBC (открытое подключение к базе данных)
    JDBC (подключение к базе данных Java)

В конце концов если вам интересно узнать об этом больше, вы можете проверить детали заметки По следующей ссылке. Что касается тех, кто заинтересован в возможности увидеть исходный код, они могут это сделать. по этой ссылке.


Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.