Ilmus välja projekt IvorySQL 5.0, mis arendab PostgreSQL andmebaasi redaktsiooni, tagades ühilduvuse rakendustega, mis on loodud Oracle andmebaasi kasutamiseks. IvorySQL-i puhul on välja kuulutatud võimalus toimida viimase PostgreSQL versiooni läbipaistva asendusena, mille eripära on seade „compatible_db”, mis sisaldab Oracle’i ühilduvuse režiimi. Kood on kirjutatud C keeles ja on litsentseeritud Apache 2.0 alusel.
IvorySQL rakendab PL/iSQL protseduurikeelt, mis kordab Oracle'i PL/SQL süntaksit, toetab Oracle'i stiilis pakette ja pakettide toiminguid, nagu „CREATE PACKAGE”. Pakutakse Oracle'iga ühilduvat funktsioonide ja tüüpide komplekti ning toetatakse Oracle'ile spetsiifilisi toimingute, väljendite ja operaatorite süntaksit, nagu ALTER TABLE, DELETE, UPDATE, CONNECT BY (hierarhilised päringud), GROUP BY, UNION ja MINUS.
Uues versioonis:
- Tehtud üleminek PostgreSQL 18 koodibaasile.
- Parandatud ühilduvus Oracle andmebaasiga: rakendatud toetus pesastatud alamskeemidele, ROWID, NLS ja OUT parameetritele, tühi string NULL-iks tõlgendamine, parserite vahetus seansside seotuses, GB18030 kodeeringud, SYS_GUID, SYS_CONTEXT ja USERENV funktsioonid.
- Lisatud Oracle'iga ühilduvad operaatorid INSTR, FORCE VIEW ja LIKE.
- PL/iSQL funktsioone on laiendatud: lisatud toetus CALL-süntaksile, %ROWTYPE ja %TYPE.
- Täielik tugi Docker Compose’i, Docker Swarmi ja Kubernetes’e jaoks on rakendatud koos paketihalduriga Helm. IvorySQL Operator 5.0 ja IvorySQL Cloud 5.0 toovad endaga kaasa visuaalsed tööriistad elutsükli haldamiseks.
- Toetatakse kümmet laienemist PostgreSQL-ile: pg_cron, pgAudit, PostGIS, pgRouting, PGroonga, ddlx, pgsql-http, system_stats, plpgsql_check ja pgvector.
- Paigalduspaketid on loodud arhitektuuridele X86_64, ARM64, MIPS ja LoongArch.
- Valmistatud on online-keskkond IvorySQL kasutamiseks brauseridest, mis võimaldab selle installimist vältida.
Lisaks toome esile SynchDB 1.3 laienduse, mis on mõeldud PostgreSQL-i andmete replikatsiooniks ühelt või mitmelt kolmandalt andmebaasist, nagu MySQL, MS SQLServer ja Oracle. Need välisted andmebaasid toimivad andmeallikatena, mille andmed kantakse otse ühe PostgreSQL-i sihtandmebaasi, ohne täiendavaid kihte andmete sünkroniseerimise protsessi korraldamiseks (kõik sünkroniseerimise toimingud töötleb SynchDB laiendus). Projekti kood on kirjutatud C ja Java keeltes ning levitatakse Apache 2.0 litsentsi all.
Süsteem sisaldab komponente:
- Debezium Runner Engine — Java-põhine mootor, mis pakub mooduleid andmevoogude muudatuste töötlemiseks erinevatest andmebaasihaldussüsteemidest (MySQL, MS SQLServer ja Oracle) ning edastab saadud andmed universaalses JSON-formaadis.
- SynchDB Worker — käivitab Debezium Runner Engine eksemplare andmete replikatsiooniks konkreetsest andmebaasihaldussüsteemist, võtab nende juures vastu muudatusi JSON-formaadis ja edastab need Format Converter moodulile.
- SynchDB Launcher — loob ja lõpetab SynchDB töötlejad, kasutades PostgreSQL API-d taustprotsesside käivitamiseks.
- Format Converter — analüüsib muudatusvoogu JSON-formaadis, konverteerib kolmandate osapoolte andmetüüpe ja DDL-päringud PostgreSQL-iga ühilduvateks tüüpideks ja päringuteks.
- Replication Agent — töötleb Format Converter-ilt saadud HeapTupleData formaadis väljundit ja käivitab meetodeid andmete sisestamiseks PostgreSQL.

SynchDB 1.3 tutvustab uut snapshotite genereerimise mootorit, mis põhineb FDW (Foreign Data Wrapper) tehnoloogial ja toetab OpenLog Replicator'i. Uus mootor suurendab oluliselt jõudlust ning vähendab viivitusi andmete replikatsioonis suurtest Oracle andmebaasidest, võrreldes vana Debezium'i põhise mootoriga. Lisaks sisaldab uus versioon täiendavaid statistika vaateid (synchdb_genstats, synchdb_snapstats ja synchdb_cdcstat), OpenLog Replicator toetab nüüd MODIFY ja DEFAULT ON NULL väljendeid, ning lisatud on tugi PostgreSQL 18 ja IvorySQL 5 andmebaasidele.
Allikas: opennet.ru
