Amazon wydał kod źródłowy Babelfish dla PostgreSQL

Ostatnio pojawiła się wiadomość, że Amazon zdecydował się udostępnić kod źródłowy "Babelfish for PostgreSQL", zaproponowanie rozszerzenia bazy danych PostgreSQL o implementację określonych możliwości bazy danych Microsoft SQL Server.

Głównym celem projektu jest zapewnienie możliwości uruchamiania aplikacji napisanych dla SQL Server na serwerach z systemem PostgreSQL. Kod projektu jest otwarty na licencjach Apache 2.0 i licencji PostgreSQL.

Dla tych, którzy nie znają Babelfish, powinniście wiedzieć, że to obsługuje protokół sieciowy używany do łączenia klientów z rozszerzeniami języka zapytań SQL Server, T-SQL i SQL Server, pozwalając na tłumaczenie uruchomionych aplikacji z Microsoft SQL Server na PostgreSQL bez modyfikowania kodu lub z minimalnymi zmianami i bez wymiany sterowników do DBMS. W przypadku aplikacji Babelfish wygląda jak normalny serwer SQL. Projekt jest już używany na Amazon Aurora.

Dzisiaj udostępniamy Babelfish dla Aurora PostgreSQL. Babelfish umożliwia Amazon Aurora PostgreSQL-Compatible Edition zrozumienie protokołu połączenia SQL Server. Umożliwia migrację aplikacji z SQL Server do PostgreSQL taniej, szybciej i przy mniejszym ryzyku związanym z taką zmianą.

Stwierdza się, że projekt Babelfish działa zgodnie z otwartym modelem rozwoju który umożliwia współtwórcom społeczności dokonywanie zmian i wpływanie na rozwój. Dla użytkowników zmiana na Babelfish pozwoli Ci uniknąć znacznych opłat licencyjnych za korzystanie z SQL Server, omijają ograniczenia licencyjne i nie zależą od zmian w polityce utrzymania zastrzeżonego produktu (anulowanie świadczeń, zakończenie wsparcia platformy, podwyżki cen).

Projekt zawiera zestaw rozszerzeń PostgreSQL, zestaw łatek do PostgreSQL oraz zestaw narzędzi do kompasu:

Rozszerzenia zapewniają obsługę PostgreSQL dla dodatkowej składni, typów danych i funkcji wymaganych do migracji z SQL Server. Proponuje się łącznie 4 rozszerzenia:

  • babelfishpg_tsql: który jest rozszerzeniem do realizacji implementacji języka T-SQL (Transact-SQL), który rozszerza SQL o programowanie proceduralne, obsługę zmiennych lokalnych oraz zaawansowane funkcje do obsługi ciągów znaków, dat i wyrażeń matematycznych. Zaimplementowano większość żądanych funkcji T-SQL, w tym punkty zapisu, procedury składowane i transakcje zagnieżdżone. Jednak znaczna część składni i funkcji pozostaje niezrealizowana (z reguły są to cechy rzadko używane w rzeczywistych aplikacjach, tabela kompatybilności). Na przykład konstrukcje "ADD SIGNATURE", "CREATE AGREGATE", "CREATE / ALTER / DROP APPLICATION ROLE | ASSEMBLY | ASYMETRIC KEY", "POCZĄTEK KONWERSACJI", "KONIEC/PRZENIEŚ KONWERSACJĘ" i tak dalej. nie są jeszcze dostępne.
  • babelfishpg_tds: rozszerzenie do implementacji protokołu TDS (Tabular Data Stream) używanego w SQL Server do połączenia sieciowego pomiędzy DBMS a klientem. Obsługiwany jest protokół TDS w wersji 7.1 i nowszych.
  • babelfishpg_common: rozszerzenie do implementacji typów danych specyficznych dla SQL Server.
    babelfishpg_money: to implementacja typu pieniężnego oparta na kodzie rozszerzenia FixedDecimal.

Łatki zawierają zmiany w silniku PostgreSQL niezbędne do zapewnienia dodatkowej funkcjonalności rozszerzeniom Babelfish. Obecnie wspólnie z programistami PostgreSQL trwają prace nad włączeniem przygotowanych łatek do głównej kompozycji PostgreSQL. Poprawki przygotowane dla PostgreSQL 13.

Narzędzie Kompas jest przeznaczone do analizowania skryptów T-SQL DDL i kodu SQL w celu zapewnienia zgodności z Babelfish. W wyniku generowany jest raport, która funkcjonalność wymagana do uruchomienia aplikacji nie jest jeszcze obsługiwana przez Babelfish.

Oficjalnie obsługiwane są następujące biblioteki klienckie do łączenia się z MS SQL Server:

  • Dostawca OLEDB / MSOLEDBSQL
  • Sterownik OLEDB / SQLOLEDB
  • Struktura encji Ado.NET
  • Natywny klient SQL Server 11.0
  • ODBC (otwarta łączność z bazą danych)
    JDBC (łączność z bazą danych Java)

W końcu jeśli chcesz dowiedzieć się więcej na ten temat, możesz sprawdzić szczegóły notatki W poniższym linku. Jeśli chodzi o osoby zainteresowane możliwością zobaczenia kodu źródłowego, mogą to zrobić z tego linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.