+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

Amazon відкрила вихідні тексти проекту Babelfish for PostgreSQL

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 Server. Проект вже використовується в Amazon Aurora.

Зазначається, що проєкт 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.
  • Утиліта компас призначена для аналізу скриптів T-SQL DDL і SQL-коду на сумісність з Babelfish. На виході формується звіт, який функціонал, необхідний для запуску програми, в Babelfish ще не підтримується.

Офіційно підтримуються такі клієнтські бібліотеки для підключення до MS SQL Server:

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

Інші новини

Найкраща ціна