Amazon lançou o código-fonte do Babelfish para PostgreSQL

Faz pouco foi divulgada a notícia de que a Amazon decidiu lançar o código-fonte de "Babelfish for PostgreSQL", propor uma extensão da base de dados PostgreSQL com a implementação de capacidades específicas da base de dados Microsoft SQL Server.

O principal objetivo do projeto é fornecer a capacidade de executar aplicativos escritos para SQL Server em servidores que executam PostgreSQL. O código do projeto está aberto sob licenças Apache 2.0 e Licença PostgreSQL.

Para aqueles que não estão familiarizados com Babelfish, você deve saber que este suporta o protocolo de rede usado para conectar clientes ao SQL Server, T-SQL e extensões de linguagem de consulta específicas do SQL Server, permitindo que você traduza aplicativos em execução do Microsoft SQL Server para PostgreSQL sem modificar seu código ou com mudanças mínimas e sem substituir os drivers para o DBMS. Para aplicativos, o Babelfish se parece com um servidor SQL normal. O projeto já está em uso no Amazon Aurora.

Hoje, disponibilizamos Babelfish para Aurora PostgreSQL. Babelfish permite que o Amazon Aurora PostgreSQL-Compatible Edition entenda o protocolo de conexão do SQL Server. Ele permite que você migre seus aplicativos do SQL Server para o PostgreSQL de forma mais barata, rápida e com menos risco associado a essa mudança.

Afirma-se que o projeto Babelfish segue um modelo de desenvolvimento aberto que permite que os colaboradores da comunidade façam mudanças e influenciem o desenvolvimento. Para os usuários, a mudança para O Babelfish permitirá que você evite royalties significativos pelo uso do SQL Server, contornar as restrições de licença e não depender de mudanças na política de manutenção de um produto proprietário (cancelamento de benefícios, encerramento do suporte à plataforma, aumento de preços).

O projeto inclui um conjunto de extensões PostgreSQL, um conjunto de patches PostgreSQL e um kit de ferramentas de bússola:

As extensões fornecem suporte PostgreSQL para sintaxe, tipos de dados e funções adicionais necessários para migrar do SQL Server. Um total de 4 extensões são propostas:

  • babelfishpg_tsql: que é uma extensão para realizar uma implementação da linguagem T-SQL (Transact-SQL) que aumenta o SQL com programação procedural, suporte para variáveis ​​locais e funções avançadas para lidar com strings, datas e expressões matemáticas. A maioria das funções T-SQL solicitadas foi implementada, incluindo pontos de salvamento, procedimentos armazenados e transações aninhadas. No entanto, uma parte significativa da sintaxe e das funções permanece não realizada (como regra, essas são características raramente usadas em aplicativos reais, uma tabela de compatibilidade). Por exemplo, as construções "ADICIONE ASSINATURA", "CRIAR AGREGADO", "CRIAR / ALTER / DROP APLICATIVO PAPEL | MONTAGEM | CHAVE ASSIMÉTRICA", "INICIAR TEMPO DE CONVERSAÇÃO", "FINALIZAR / MOVER CONVERSAÇÃO" e assim por diante. eles ainda não estão disponíveis.
  • babelfishpg_tds: uma extensão para a implementação do protocolo TDS (Tabular Data Stream) usado no SQL Server para a conexão de rede entre o DBMS e o cliente. O protocolo TDS versão 7.1 e superior é compatível.
  • babelfishpg_common: uma extensão para implementar tipos de dados específicos do SQL Server.
    babelfishpg_money: é uma implementação de tipo de dinheiro baseada no código de extensão FixedDecimal.

Os patches incluem mudanças no mecanismo PostgreSQL necessárias para fornecer funcionalidade adicional às extensões Babelfish. Atualmente, junto com os desenvolvedores do PostgreSQL, está trabalhando para incluir os patches preparados na composição principal do PostgreSQL. Patches preparados para PostgreSQL 13.

O utilitário compass é projetado para analisar scripts DDL T-SQL e código SQL para compatibilidade com Babelfish. Na saída, é gerado um relatório de qual funcionalidade necessária para iniciar o aplicativo ainda não é suportada pelo Babelfish.

As seguintes bibliotecas de cliente para conexão com o MS SQL Server são oficialmente compatíveis:

  • Provedor OLEDB / MSOLEDBSQL
  • Driver OLEDB / SQLOLEDB
  • Estrutura de entidade Ado.NET
  • Cliente nativo do SQL Server 11.0
  • ODBC (conectividade de banco de dados aberto)
    JDBC (conectividade de banco de dados Java)

Finalmente se você estiver interessado em saber mais sobre isso, você pode verificar os detalhes da nota no link a seguir. Já os interessados ​​em ver o código-fonte podem fazê-lo a partir deste link.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.