Amazon udgav Babelfish-kildekoden til PostgreSQL

nylig nyheden blev frigivet, at Amazon besluttede at frigive kildekoden til "Babelfish for PostgreSQL", foreslå en udvidelse til PostgreSQL-databasen med implementering af specifikke funktioner i Microsoft SQL Server-databasen.

Hovedmålet med projektet er at give mulighed for at køre applikationer skrevet til SQL Server på servere, der kører PostgreSQL. Projektkoden er åben under Apache 2.0-licenser og PostgreSQL-licens.

For dem, der ikke er bekendt med Babelfish, bør du vide, at dette understøtter netværksprotokol, der bruges til at forbinde klienter til SQL Server, T-SQL og SQL Server-specifikke forespørgselssprogudvidelser, giver dig mulighed for at oversætte kørende applikationer fra Microsoft SQL Server til PostgreSQL uden at ændre din kode eller med minimale ændringer og uden at erstatte drivere til DBMS. For applikationer ligner Babelfish en normal SQL-server. Projektet er allerede i brug på Amazon Aurora.

I dag gør vi Babelfish tilgængelig for Aurora PostgreSQL. Babelfish gør det muligt for Amazon Aurora PostgreSQL-kompatibel udgave at forstå SQL Server-forbindelsesprotokollen. Det giver dig mulighed for at migrere dine applikationer fra SQL Server til PostgreSQL billigere, hurtigere og med mindre risiko forbundet med en sådan ændring.

Det er oplyst, at projektet Babelfish følger en åben udviklingsmodel der gør det muligt for samfundsbidragydere at foretage forandringer og påvirke udviklingen. For brugere er ændringen til Babelfish vil give dig mulighed for at undgå betydelige royalties for at bruge SQL Server, omgå licensbegrænsninger og ikke afhænge af ændringer i vedligeholdelsespolitikken for et proprietært produkt (annullering af fordele, opsigelse af platformsupport, prisstigninger).

Projektet inkluderer et sæt PostgreSQL-udvidelser, et sæt PostgreSQL-patches og et kompasværktøj:

Udvidelserne giver PostgreSQL-understøttelse til yderligere syntaks, datatyper og funktioner, der kræves for at migrere fra SQL Server. Der foreslås i alt 4 udvidelser:

  • babelfishpg_tsql: som er en udvidelse til at udføre en implementering af T-SQL (Transact-SQL) sproget, der udvider SQL med proceduremæssig programmering, understøttelse af lokale variabler og avancerede funktioner til at håndtere strenge, datoer og matematiske udtryk. De fleste af de efterspurgte T-SQL-funktioner er blevet implementeret, herunder gemte punkter, lagrede procedurer og indlejrede transaktioner. En betydelig del af syntaksen og funktionerne forbliver dog urealiseret (som regel er disse karakteristika, der sjældent bruges i rigtige applikationer, en kompatibilitetstabel). For eksempel konstruktionerne "ADD SIGNATURE", "CREATE AGGREGATE", "CREATE / ALTER / DROP APPLICATION ROLLE | ASSEMBLE | ASYMMETRIC KEY", "BEGIN CONVERSATION TIME", "END/MOVE CONVERSATION" og så videre. de er endnu ikke tilgængelige.
  • babelfishpg_tds: en udvidelse til implementering af TDS (Tabular Data Stream) protokollen, der bruges i SQL Server til netværksforbindelsen mellem DBMS og klienten. TDS-protokol version 7.1 og nyere er understøttet.
  • babelfishpg_common: en udvidelse til implementering af SQL Server-specifikke datatyper.
    babelfishpg_money: er en pengetypeimplementering baseret på FixedDecimal-udvidelseskoden.

Patches inkluderer ændringer til PostgreSQL-motoren, der er nødvendige for at give yderligere funktionalitet til Babelfish-udvidelserne. I øjeblikket arbejdes der sammen med PostgreSQL-udviklerne på at inkludere de forberedte patches i PostgreSQL-hovedsammensætningen. Patches forberedt til PostgreSQL 13.

Compass-værktøjet er designet til at parse T-SQL DDL-scripts og SQL-kode for kompatibilitet med Babelfish. I outputtet genereres en rapport, hvilken funktionalitet der kræves for at starte applikationen endnu ikke understøttes af Babelfish.

Følgende klientbiblioteker til at oprette forbindelse til MS SQL Server er officielt understøttet:

  • OLEDB / MSOLEDBSQL udbyder
  • OLEDB / SQLOLEDB driver
  • Ado.NET entity framework
  • SQL Server 11.0 Native Client
  • ODBC (Open Database Connectivity)
    JDBC (Java Database Connectivity)

Endelig hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne i noten I det følgende link. Hvad angår dem, der er interesseret i at kunne se kildekoden, kan de gøre det fra dette link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.