A fost lansată versiunea 5.0 a proiectului IvorySQL, care dezvoltă o ediție a SGBD-ului PostgreSQL, asigurând compatibilitate cu aplicațiile concepute pentru lucrul cu SGBD-ul Oracle. În IvorySQL este anunțată posibilitatea de a funcționa ca o înlocuire transparentă pentru cea mai recentă versiune PostgreSQL, diferența constând în apariția setării „compatible_db”, care include modul de compatibilitate cu Oracle. Codul este scris în limbajul C și este distribuit sub licența Apache 2.0.
IvorySQL implementează limbajul procedural PL/iSQL, care imită sintaxa PL/SQL din Oracle, suportă pachete în stil Oracle și operațiuni cu pachete, cum ar fi „CREATE PACKAGE”. Se oferă un set de funcții și tipuri compatibile cu Oracle, iar sintaxa specifică Oracle pentru operațiuni, expresii și operatori, cum ar fi ALTER TABLE, DELETE, UPDATE, CONNECT BY (interogări ierarhice), GROUP BY, UNION și MINUS, este, de asemenea, suportată.
În noua versiune:
- A fost realizat trecerea la baza de cod PostgreSQL 18.
- A fost îmbunătățită compatibilitatea cu SGBD-ul Oracle: a fost implementat suport pentru subprograme încorporate, ROWID, parametrii NLS și OUT, conversia stringurilor goale în NULL, schimbarea parserelor legate de sesiuni, codificările GB18030, funcțiile SYS_GUID, SYS_CONTEXT și USERENV.
- Au fost adăugate operatori compatibili cu Oracle precum INSTR, FORCE VIEW și LIKE.
- Au fost extinse funcționalitățile PL/iSQL: a fost adăugat suport pentru sintaxa CALL, %ROWTYPE și %TYPE.
- A fost implementat suport complet pentru Docker Compose, Docker Swarm și Kubernetes cu managerul de pachete Helm. În IvorySQL Operator 5.0 și IvorySQL Cloud 5.0 au fost adăugate instrumente pentru gestionarea vizuală a ciclului de viață.
- A fost asigurat suport pentru zece extensii pentru PostgreSQL: pg_cron, pgAudit, PostGIS, pgRouting, PGroonga, ddlx, pgsql-http, system_stats, plpgsql_check și pgvector.
- Au fost formate pachete de instalare pentru arhitecturile X86_64, ARM64, MIPS și LoongArch.
- A fost pregătit un mediu online pentru a lucra cu IvorySQL din browser, permițând evitarea instalării IvorySQL pe sistemul propriu.
Se poate menționa, de asemenea, lansarea extensiei SynchDB 1.3, destinată replicării în PostgreSQL a datelor din una sau mai multe baze de date externe, cum ar fi MySQL, MS SQLServer și Oracle. Aceste SGBD externe acționează ca surse de date care sunt transferate direct într-o bază de date țintă bazată pe PostgreSQL, fără a utiliza straturi suplimentare pentru orchestrarea procesului de sincronizare a datelor (toate operațiunile de sincronizare sunt procesate de extensia SynchDB). Codul proiectului este scris în limbajele C și Java și este distribuit sub licența Apache 2.0.
Sistemul include componentele:
- Debezium Runner Engine — un motor Java care oferă module pentru procesarea fluxurilor de modificări ale datelor din diverse SGBD-uri (MySQL, MS SQLServer și Oracle) și transpunerea datelor obținute într-un format universal JSON.
- SynchDB Worker — pornește instanțe Debezium Runner Engine pentru replicarea datelor din SGBD-uri specifice, primește modificările în format JSON și le transmite modulului Format Converter.
- SynchDB Launcher — creează și finalizează lucrătorii SynchDB, folosind API-ul PostgreSQL pentru a iniția procesele de fundal.
- Format Converter — analizează fluxul de modificări în format JSON, transformând tipurile de date externe și cererile DDL în tipuri și cereri compatibile cu PostgreSQL.
- Replication Agent — procesează ieșirea în format HeapTupleData din Format Converter și lansează metode pentru inserarea datelor în PostgreSQL.

În SynchDB 1.3 a fost implementat un nou motor de generare a instantaneelor, bazat pe FDW (Foreign Data Wrapper) și care suportă colaborarea cu OpenLog Replicator. Comparativ cu vechiul motor bazat pe Debezium, noul motor permite o creștere semnificativă a performanței și reducerea întârzierilor în replicarea datelor din mari baze de date Oracle. În plus, noua versiune oferă vizualizări suplimentare cu statistici (synchdb_genstats, synchdb_snapstats și synchdb_cdcstat), suportul pentru expresiile MODIFY și DEFAULT ON NULL a fost adăugat în OpenLog Replicator, împreună cu suportul pentru SGBD PostgreSQL 18 și IvorySQL 5.
Sursa: opennet.ro
