IvorySQL 4.0 und SynchDB 1.0 sind verfügbar, Erweiterungen für PostgreSQL, um mit anderen Datenbanksystemen zu interagieren.

Die Veröffentlichung von IvorySQL 4.0 wurde bekannt gegeben, einer Entwicklung der PostgreSQL-Datenbank, die die Kompatibilität mit Anwendungen gewährleistet, die für den Einsatz mit Oracle-Datenbanken ausgelegt sind. In IvorySQL wird die Möglichkeit angekündigt, als transparente Alternative zur neuesten Version von PostgreSQL zu agieren, deren Hauptunterscheidungsmerkmal die Einstellung „compatible_db“ darstellt, die den Kompatibilitätsmodus mit Oracle umfasst. Der Code ist in C geschrieben und wird unter der Apache 2.0-Lizenz vertrieben.

IvorySQL implementiert die prozedurale Sprache PL/iSQL, die die PL/SQL-Syntax in Oracle nachahmt, unterstützt Oracle-Stil Pakete und Paketoperationen wie „CREATE PACKAGE“. Ein mit Oracle kompatibles Funktions- und Typset wird bereitgestellt, und die spezifische Oracle-Syntax für Operationen, Ausdrücke und Operatoren wie ALTER TABLE, DELETE, UPDATE, CONNECT BY (hierarchische Abfragen), GROUP BY, UNION und MINUS wird ebenfalls unterstützt.

In der neuen Version:

  • Der Umstieg auf die Codebasis von PostgreSQL 17 wurde vollzogen.
  • Die Unterstützung für unsichtbare Spalten wurde hinzugefügt, die es ermöglichen, bestimmte Spalten auszublenden, um die Migration auf neue Anwendungen zu vereinfachen (unsichtbare Spalten werden nur angezeigt, wenn ihr Name ausdrücklich angegeben wird und erscheinen nicht in allgemeinen Abfragen wie „SELECT * FROM“).
  • Funktionen zum Management von PL/SQL-Paketen wurden hinzugefügt, die es ermöglichen, Pakete zu erstellen, deren Parameter zu ändern und Beschreibungen anzuhängen. In psql wurde ein neuer Befehl „\dk“ für Operationen mit Paketen hinzugefügt.
  • Die Leistung bei der Arbeit mit PL/SQL-Paketen wurde verbessert und die Unterstützung für das Caching von Paketen hinzugefügt.
  • Neue ACL-Funktionen zur Verwaltung von Berechtigungen in Bezug auf PL/SQL-Pakete wurden angeboten.
  • Die Unterstützung der Erweiterung pg_get_functiondef wurde hinzugefügt, mit der die Funktionen pg_get_functiondef(), pg_get_functiondef(OID, VARIADIC OID[]) und pg_get_functiondef(VARIADIC TEXT[]) realisiert werden, die es ermöglichen, die Definitionen von Funktionen anhand einer angegebenen Liste von Funktionsnamen abzurufen.
  • Installationspakete für Ubuntu wurden hinzugefügt.

Zusätzlich kann die Veröffentlichung der Erweiterung SynchDB 1.0 erwähnt werden, die für die Replikation von Daten aus einer oder mehreren externen Datenbanken wie MySQL, MS SQLServer und Oracle nach PostgreSQL vorgesehen ist. Solche externen Datenbanken fungieren als Datenquellen, die direkt in eine Ziel-Datenbank auf PostgreSQL-Basis übertragen werden, ohne zusätzliche Schichten zur Orchestrierung des Synchronisationsprozesses zu verwenden (alle Synchronisationsoperationen werden von der Erweiterung SynchDB verarbeitet). Der Code des Projekts ist in C und Java geschrieben und wird unter der Apache 2.0-Lizenz vertrieben. SynchDB 1.0 gilt als die erste stabile Version des Projekts.

Das System umfasst sechs Komponenten:

  • Debezium Runner Engine – eine Java-Engine, die Module zur Verarbeitung von Änderungsdatenströmen aus verschiedenen DBMS (MySQL, MS SQLServer und Oracle) bereitstellt und die erhaltenen Daten im universellen JSON-Format überträgt.
  • SynchDB Worker – startet Instanzen der Debezium Runner Engine zur Replikation von Daten aus bestimmten DBMS, empfängt von ihnen Änderungen im JSON-Format und übergibt sie an das Modul Format Converter.
  • SynchDB Launcher – erstellt und beendet die SynchDB-Handler, wobei die PostgreSQL-API zum Starten von Hintergrundprozessen verwendet wird.
  • Format Converter – analysiert den Änderungsstrom im JSON-Format, wandelt externe Datentypen und DDL-Anfragen in PostgreSQL-kompatible Typen und Anfragen um.
  • Replication Agent – verarbeitet die Ausgabe im Format HeapTupleData aus dem Format Converter und ruft Methoden zum Einfügen von Daten in PostgreSQL auf.
  • Table Synch Agent (in Entwicklung) – bietet eine effiziente Methode zur initialen Synchronisation von Tabellen.

IvorySQL 4.0 und SynchDB 1.0 sind verfügbar, Erweiterungen für PostgreSQL, um mit anderen Datenbanksystemen zu interagieren.


Quelle: opennet.ru
60GB SSD 8Gb DDR4