Amazon, PostgreSQL için Babelfish kaynak kodunu yayınladı

geçenlerde Amazon'un "Babelfish for PostgreSQL" kaynak kodunu yayınlamaya karar verdiği haberi yayınlandı, Microsoft SQL Server veritabanının belirli yeteneklerinin uygulanmasıyla PostgreSQL veritabanına bir uzantı önermek.

Projenin temel amacı, SQL Server için yazılmış uygulamaların PostgreSQL çalıştıran sunucularda çalıştırılabilmesini sağlamaktır. Proje kodu, Apache 2.0 lisansları ve PostgreSQL Lisansı altında açıktır.

Babelfish'e aşina olmayanlar için şunu bilmelisiniz: istemcileri SQL Server, T-SQL ve SQL Server'a özgü sorgu dili uzantılarına bağlamak için kullanılan ağ protokolünü destekler, çalışan uygulamaları kodunuzu değiştirmeden veya minimum değişiklikle ve DBMS'deki sürücüleri değiştirmeden Microsoft SQL Server'dan PostgreSQL'e çevirmenize olanak tanır. Uygulamalar için Babelfish normal bir SQL sunucusuna benziyor. Proje zaten Amazon Aurora'da kullanılıyor.

Bugün Babelfish'i Aurora PostgreSQL için kullanıma sunuyoruz. Babelfish, Amazon Aurora PostgreSQL-Compatible Edition'ın SQL Server bağlantı protokolünü anlamasını sağlar. Uygulamalarınızı SQL Server'dan PostgreSQL'e daha ucuz, daha hızlı ve bu tür bir değişiklikle ilişkili daha az riskle taşımanıza olanak tanır.

Projenin olduğu belirtildi Babelfish açık bir geliştirme modelini takip ediyor Bu, topluluk katkıda bulunanların değişiklik yapmalarını ve gelişmeyi etkilemelerini sağlar. Kullanıcılar için, değişiklik Babelfish, SQL Server'ı kullanmak için önemli telif ücretlerinden kaçınmanıza izin verecek, lisans kısıtlamalarını atlayın ve tescilli bir ürünün bakım politikasındaki değişikliklere bağlı değil (faydaların iptali, platform desteğinin sona ermesi, fiyat artışları).

Proje bir dizi PostgreSQL uzantısı içeriyor, bir dizi PostgreSQL yaması ve bir pusula araç takımı:

Uzantılar, SQL Server'dan geçiş yapmak için gereken ek sözdizimi, veri türleri ve işlevler için PostgreSQL desteği sağlar. Toplam 4 uzantı önerilmiştir:

  • babelfishpg_tsql: Bu, SQL'i prosedürel programlama, yerel değişkenler için destek ve dizeleri, tarihleri ​​ve matematiksel ifadeleri işlemek için gelişmiş işlevlerle zenginleştiren T-SQL (Transact-SQL) dilinin bir uygulamasını gerçekleştirmek için bir uzantıdır. Kaydetme noktaları, saklı yordamlar ve iç içe işlemler de dahil olmak üzere, istenen T-SQL işlevlerinin çoğu uygulandı. Bununla birlikte, sözdiziminin ve işlevlerin önemli bir kısmı gerçekleştirilmeden kalır (kural olarak, bunlar gerçek uygulamalarda nadiren kullanılan özelliklerdir, bir uyumluluk tablosu). Örneğin, "İMZA EKLE", "TOPLAŞTIRMA OLUŞTUR", "UYGULAMA ROLÜ OLUŞTUR / DEĞİŞTİR / BIRAK | ASİMETRİK ANAHTAR", "KONSEYİ BAŞLAT", "KONSEYİ BİTİR / TAŞI" vb. yapılar. henüz mevcut değiller.
  • babelfishpg_tds: DBMS ve istemci arasındaki ağ bağlantısı için SQL Server'da kullanılan TDS (Tabular Data Stream) protokolünün uygulanması için bir uzantı. TDS protokolü sürüm 7.1 ve üstü desteklenir.
  • babelfishpg_common: SQL Server'a özgü veri türlerini uygulamak için bir uzantı.
    babelfishpg_money: SabitDecimal uzantı kodunu temel alan bir para türü uygulamasıdır.

Yamalar, Babelfish uzantılarına ek işlevsellik sağlamak için gerekli olan PostgreSQL motorunda yapılan değişiklikleri içerir. Halihazırda PostgreSQL geliştiricileri ile birlikte hazırlanan yamaların ana PostgreSQL kompozisyonuna dahil edilmesi için çalışmalar yapılmaktadır. PostgreSQL 13 için hazırlanan yamalar.

Pusula yardımcı programı, Babelfish ile uyumluluk için T-SQL DDL komut dosyalarını ve SQL kodunu ayrıştırmak üzere tasarlanmıştır. Çıktıda, uygulamayı başlatmak için gereken işlevselliğin Babelfish tarafından henüz desteklenmediği bir rapor oluşturulur.

MS SQL Server'a bağlanmak için aşağıdaki istemci kitaplıkları resmi olarak desteklenmektedir:

  • OLEDB / MSOLEDBSQL sağlayıcısı
  • OLEDB / SQLOLEDB sürücüsü
  • Ado.NET varlık çerçevesi
  • SQL Server 11.0 Yerel İstemci
  • ODBC (açık veritabanı bağlantısı)
    JDBC (Java Veritabanı Bağlantısı)

Nihayet onun hakkında daha fazla bilgi edinmekle ilgileniyorsan, notun ayrıntılarını kontrol edebilirsiniz Aşağıdaki bağlantıda. Kaynak kodunu görebilmekle ilgilenenlere gelince, bunu yapabilirler. bu bağlantıdan.


Google'da tercih edilen kaynak olarak ekleyin.