Megjelent az IvorySQL 5.0 kiadása, amely a PostgreSQL DBMS kiadását fejleszti, biztosítva a kompatibilitást az Oracle DBMS-hez tervezett alkalmazásokkal. Az IvorySQL lehetőséget kínál arra, hogy átlátható helyettesítése legyen a legújabb PostgreSQL verziónak, amely a "compatible_db" beállítást tartalmazza, ami az Oracle kompatibilitási módját jelenti. A kód C nyelven készült, és Apache 2.0 licenc alatt terjesztik.
Az IvorySQL megvalósítja a PL/iSQL eljárásnyelvet, amely követi az Oracle PL/SQL szintaxisát, támogatja az Oracle stílusú csomagokat és azokkal végzett műveleteket, mint például a „CREATE PACKAGE”. Kompatibilis Oracle függvények és típusok állnak rendelkezésre, valamint támogatja az Oracle-specifikus műveletek, kifejezések és operátorok szintaxisát, például ALTER TABLE, DELETE, UPDATE, CONNECT BY (hierarchikus lekérdezések), GROUP BY, UNION és MINUS.
Az új verzióban:
- Áttértünk a PostgreSQL 18 kódalapra.
- Javult az Oracle DBMS-sel való kompatibilitás: megvalósították a beágyazott alprogramok, ROWID, NLS és OUT paraméterek, üres sorok NULL-ra való átkonvertálása, a parser váltása session-höz kötötten, GB18030 kódolás, SYS_GUID, SYS_CONTEXT és USERENV funkciók támogatását.
- Oracle kompatibilis INSTR, FORCE VIEW és LIKE operátorok kerültek hozzáadásra.
- Bővített PL/iSQL lehetőségek: megvalósították a CALL szintaxis, %ROWTYPE és %TYPE támogatását.
- Teljes körű támogatás valósult meg a Docker Compose, Docker Swarm és Kubernetes számára a Helm csomagkezelővel. Az IvorySQL Operator 5.0 és az IvorySQL Cloud 5.0 vizuális életciklus-kezelési eszközöket tartalmaz.
- Tíz PostgreSQL kiterjesztés támogatása valósult meg: pg_cron, pgAudit, PostGIS, pgRouting, PGroonga, ddlx, pgsql-http, system_stats, plpgsql_check és pgvector.
- Telepítőcsomagok készültek X86_64, ARM64, MIPS és LoongArch architektúrákhoz.
- Online környezet készült, amely lehetővé teszi az IvorySQL böngészőből való használatát, mellőzve az IvorySQL telepítését a saját rendszeren.
Továbbá megemelhető a SynchDB 1.3 kiterjesztés kiadása, amely az PostgreSQL-ben az adatokat replikálja egy vagy több harmadik féltől származó DBMS-ből, mint például a MySQL, MS SQLServer és Oracle. Ezek a külső DBMS-ek adatforrásként szolgálnak, amelyek közvetlenül egy céldatabase-be kerülnek PostgreSQL alapú, további rétegek használata nélkül az adatok szinkronizálásának folyamatához (minden szinkronizálási műveletet a SynchDB kiterjesztés kezel). A projekt kódja C és Java nyelveken készült, és Apache 2.0 licenc alatt terjesztik.
A rendszer a következő komponenseket tartalmaz:
- Debezium Runner Engine — Java alapú motor, amely modulokat biztosít a különböző DBMS-ekből (MySQL, MS SQLServer és Oracle) érkező adatok változásainak feldolgozásához és a kapott adatok JSON formátumban történő átkonvertálásához.
- SynchDB Worker — elindítja a Debezium Runner Engine példányait, hogy adatokat replikáljon konkrét DBMS-ekből, JSON formátumban kapja meg a változásokat, és továbbítja őket a Formátum Átalakító modulnak.
- SynchDB Launcher — létrehozza és lezárja a SynchDB kezelőit, PostgreSQL API-t használva háttérfolyamatok indításához.
- Formátum Átalakító — elemzi a JSON formátumú változások folyását, átalakítja a külső adattípusokat és DDL-kéréseket PostgreSQL-el kompatibilis típusokká és kérésekké.
- Replikációs Ügynök — feldolgozza a Format Converter-ből származó HeapTupleData formátumú kimenetet, és indítja az adatbeillesztési módszereket PostgreSQL adatbázisba.

A SynchDB 1.3 új snapshot-generáló motorját, amely FDW (Foreign Data Wrapper) alapú, az OpenLog Replicátorral való együttműködés érdekében alakították ki. A Debezium alapú régi motorhoz képest az új motor jelentősen megnöveli a teljesítményt és csökkenti az adatreplicálás késleltetését nagy Oracle adatbázisokból. Ezenkívül az új verzióban további statisztikai nézetek érhetők el (synchdb_genstats, synchdb_snapstats és synchdb_cdcstat), az OpenLog Replicátorban megjelent a MODIFY és DEFAULT ON NULL kifejezések támogatása, valamint hozzáadódott a PostgreSQL 18 és az IvorySQL 5 adatbázis-kezelők támogatása.
Forrás: opennet.ru
