Amazon ha rilasciato il codice sorgente Babelfish per PostgreSQL

recentemente è stata diffusa la notizia che Amazon ha deciso di rilasciare il codice sorgente di "Babelfish for PostgreSQL", proponendo un'estensione al database PostgreSQL con l'implementazione di funzionalità specifiche del database Microsoft SQL Server.

L'obiettivo principale del progetto è fornire la possibilità di eseguire applicazioni scritte per SQL Server su server che eseguono PostgreSQL. Il codice del progetto è aperto con licenze Apache 2.0 e licenza PostgreSQL.

Per chi non ha familiarità con Babelfish, dovresti sapere che questo supporta il protocollo di rete utilizzato per connettere i client a SQL Server, T-SQL e estensioni del linguaggio di query specifiche di SQL Server, permettendoti di tradurre applicazioni in esecuzione da Microsoft SQL Server a PostgreSQL senza modificare il tuo codice o con modifiche minime e senza sostituire i driver al DBMS. Per le applicazioni, Babelfish si presenta come un normale server SQL. Il progetto è già in uso su Amazon Aurora.

Oggi rendiamo disponibile Babelfish per Aurora PostgreSQL. Babelfish consente ad Amazon Aurora PostgreSQL-Compatible Edition di comprendere il protocollo di connessione di SQL Server. Ti consente di migrare le tue applicazioni da SQL Server a PostgreSQL in modo più economico, veloce e con meno rischi associati a tale cambiamento.

Si afferma che il progetto Babelfish segue un modello di sviluppo aperto che consente ai contributori della comunità di apportare cambiamenti e influenzare lo sviluppo. Per gli utenti, la modifica in Babelfish ti consentirà di evitare royalty significative per l'utilizzo di SQL Server, aggirare le restrizioni della licenza e non dipendere da cambiamenti nella politica di manutenzione di un prodotto proprietario (cancellazione dei vantaggi, cessazione del supporto della piattaforma, aumenti di prezzo).

Il progetto include una serie di estensioni PostgreSQL, un set di patch PostgreSQL e un toolkit bussola:

Le estensioni forniscono supporto PostgreSQL per ulteriori sintassi, tipi di dati e funzioni necessarie per migrare da SQL Server. Sono proposte in totale 4 estensioni:

  • babelfishpg_tsql: che è un'estensione per realizzare un'implementazione del linguaggio T-SQL (Transact-SQL) che integra SQL con programmazione procedurale, supporto per variabili locali e funzioni avanzate per gestire stringhe, date ed espressioni matematiche. La maggior parte delle funzioni T-SQL richieste sono state implementate, inclusi punti di salvataggio, stored procedure e transazioni nidificate. Tuttavia, una parte significativa della sintassi e delle funzioni rimane non realizzata (di norma, queste sono caratteristiche che vengono utilizzate raramente nelle applicazioni reali, una tabella di compatibilità). Ad esempio, i costrutti "ADD SIGNATURE", "CREATE AGGREGATE", "CREATE / ALTER / DROP APPLICATION ROLE | ASSEMBLY | ASYMMETRIC KEY", "BEGIN CONVERSATION TIME", "END/MOVE CONVERSATION" e così via. non sono ancora disponibili.
  • babelfishpg_tds: un'estensione per l'implementazione del protocollo TDS (Tabular Data Stream) utilizzato in SQL Server per la connessione di rete tra il DBMS e il client. È supportato il protocollo TDS versione 7.1 e successive.
  • babelfishpg_common: un'estensione per l'implementazione di tipi di dati specifici di SQL Server.
    babelfishpg_money: è un'implementazione di tipo monetario basata sul codice di estensione FixedDecimal.

Le patch includono modifiche al motore PostgreSQL necessarie per fornire funzionalità aggiuntive alle estensioni Babelfish. Attualmente, insieme agli sviluppatori di PostgreSQL, si sta lavorando per includere le patch preparate nella composizione principale di PostgreSQL. Patch preparate per PostgreSQL 13.

L'utilità bussola è progettata per analizzare gli script DDL T-SQL e il codice SQL per la compatibilità con Babelfish. Nell'output viene generato un rapporto sulla funzionalità richiesta per avviare l'applicazione non ancora supportata da Babelfish.

Le seguenti librerie client per la connessione a MS SQL Server sono ufficialmente supportate:

  • Provider OLEDB / MSOLEDBSQL
  • Driver OLEDB / SQLOLEDB
  • Framework di entità Ado.NET
  • Client nativo SQL Server 11.0
  • ODBC (connettività database aperta)
    JDBC (connettività del database Java)

Infine se sei interessato a saperne di più, puoi controllare i dettagli della nota nel seguente link Per quanto riguarda coloro che sono interessati a poter vedere il codice sorgente, possono farlo da questo link.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.