S'ha publicat el llançament del projecte IvorySQL 5.0, desenvolupant una edició del SGBD PostgreSQL que proporciona compatibilitat amb aplicacions dissenyades per treballar amb el SGBD Oracle. IvorySQL afirma que pot funcionar com a substitut transparent de l'última versió de PostgreSQL, la diferència de la qual es redueix a l'aparició de la configuració "compatible_db", que inclou el mode de compatibilitat amb Oracle. El codi està escrit en C i distribuït sota la llicència Apache 2.0.
IvorySQL implementa el llenguatge de procediment PL/iSQL, que replica la sintaxi PL/SQL d'Oracle i admet paquets d'estil Oracle i operacions de paquets com ara "CREATE PACKAGE". Proporciona un conjunt de funcions i tipus compatibles amb Oracle i admet la sintaxi específica d'Oracle per a operacions, expressions i sentències com ALTER TABLE, DELETE, UPDATE, CONNECT BY (consultes jeràrquiques), GROUP BY, UNION i MINUS.
En la nova versió:
- La transició a la base de codi PostgreSQL 18 s'ha completat.
- Compatibilitat millorada amb Oracle DBMS: suport per a rutines imbricades, paràmetres ROWID, NLS i OUT, traducció de cadenes buides a NULL, canvi d'analitzadors en l'enllaç de sessió, codificació GB18030, funcions SYS_GUID, SYS_CONTEXT i USERENV.
- S'han afegit els operadors INSTR, FORCE VIEW i LIKE compatibles amb Oracle.
- S'han ampliat les capacitats de PL/iSQL: s'ha afegit compatibilitat amb la sintaxi CALL, %ROWTYPE i %TYPE.
- S'ha implementat compatibilitat completa amb Docker Compose, Docker Swarm i Kubernetes amb el gestor de paquets Helm. S'han afegit eines visuals de gestió del cicle de vida a IvorySQL Operator 5.0 i IvorySQL Cloud 5.0.
- Es proporciona suport per a deu extensions de PostgreSQL: pg_cron, pgAudit, PostGIS, pgRouting, PGroonga, ddlx, pgsql-http, system_stats, plpgsql_check i pgvector.
- S'han creat paquets d'instal·lació per a les arquitectures X86_64, ARM64, MIPS i LoongArch.
- S'ha preparat un entorn en línia per treballar amb IvorySQL des d'un navegador, que us permet prescindir d'instal·lar IvorySQL al vostre sistema.
També cal destacar el llançament de SynchDB 1.3, un complement dissenyat per replicar dades d'un o més SGBD de tercers, com ara MySQL, MS SQL Server i Oracle, a PostgreSQL. Aquests SGBD externs actuen com a fonts de dades, que es transfereixen directament a una única base de dades PostgreSQL de destinació, sense necessitat de capes addicionals per orquestrar el procés de sincronització de dades (totes les operacions de sincronització les gestiona el complement SynchDB). El codi del projecte està escrit en C i Java i es distribueix sota la llicència Apache 2.0.
El sistema inclou els components següents:
- Debezium Runner Engine és un motor Java que proporciona mòduls per processar fluxos de canvis de dades de diversos DBMS (MySQL, MS SQLServer i Oracle) i traduir les dades rebudes al format JSON universal.
- SynchDB Worker: llança instàncies de Debezium Runner Engine per replicar dades de DBMS específics, rep els canvis d'ells en format JSON i els transfereix al mòdul Convertidor de formats.
- Llançador de SynchDB: crea i finalitza els controladors de SynchDB mitjançant l'API PostgreSQL per llançar processos en segon pla.
- Convertidor de formats: analitza el flux de canvis en format JSON, converteix tipus de dades de tercers i consultes DDL en tipus i consultes compatibles amb PostgreSQL.
- Agent de replicació: processa la sortida HeapTupleData del Convertidor de formats i executa mètodes per substituir les dades a PostgreSQL.

SynchDB 1.3 introdueix un nou motor de snapshots basat en FDW (Foreign Data Wrapper) i és compatible amb OpenLog Replicator. En comparació amb el motor anterior basat en Debezium, el nou motor millora significativament el rendiment i redueix la latència en replicar dades de grans bases de dades Oracle. A més, la nova versió ofereix vistes d'estadístiques addicionals (synchdb_genstats, synchdb_snapstats i synchdb_cdcstat), OpenLog Replicator ara admet les instruccions MODIFY i DEFAULT ON NULL i és compatible amb PostgreSQL 18 i IvorySQL 5.
Font: opennet.ru
