IvorySQL 5.0 buraxıldı, bu versiya Oracle verilənlər bazası ilə işləmək üçün nəzərdə tutulmuş tətbiqlərlə uyumlu PostgreSQL verilənlər bazası redaksiyasını inkişaf etdirir. IvorySQL, Oracle ilə uyğunluq rejimini əhatə edən "compatible_db" konfiqurasiyasının əlavə edilməsi ilə PostgreSQL-in son versiyasının şəffaf əvəzi kimi işləmə imkanını təqdim edir. Kod C dilində yazılıb və Apache 2.0 lisenziyası altında yayılır.
IvorySQL PL/iSQL prosedur dilini tətbiq edir, bu dil Oracle-dakı PL/SQL sintaksisini təkrarlayır, Oracle stilində paketlər dəstəkləyir və "CREATE PACKAGE" kimi paketlərlə əməliyyatları həyata keçirir. Oracle ilə uyğun funksiyalar və növ dəsti təqdim olunur, eləcə də Oracle-a xas əməliyyatlar, ifadələr və operatorların sintaksisi, məsələn, ALTER TABLE, DELETE, UPDATE, CONNECT BY (iyerarxik sorğular), GROUP BY, UNION və MINUS dəstəklənir.
Yeni versiyada:
- PostgreSQL 18 kod bazasına keçid həyata keçirildi.
- Oracle verilənlər bazası üçün uyğunluq artırıldı: nested subroutine, ROWID, NLS və OUT parametrləri, boş sətirləri NULL-a çevirmək, seanslara bağlı parser dəyişiklikləri, GB18030 kodlamaları, SYS_GUID, SYS_CONTEXT və USERENV funksiyaları dəstəkləndi.
- Oracle uyğun operatorları INSTR, FORCE VIEW və LIKE əlavə edildi.
- PL/iSQL-in imkanları genişləndirildi: CALL sintaksisi, %ROWTYPE və %TYPE dəstəkləndi.
- Docker Compose, Docker Swarm və Kubernetes ilə tam dəstək təmin edildi, Helm paket meneceri ilə birlikdə. IvorySQL Operator 5.0 və IvorySQL Cloud 5.0 versiyasında həyat dövrünü vizual idarə etmə vasitələri əlavə edildi.
- PostgreSQL üçün on uzantının dəstəyi təmin edildi: pg_cron, pgAudit, PostGIS, pgRouting, PGroonga, ddlx, pgsql-http, system_stats, plpgsql_check və pgvector.
- X86_64, ARM64, MIPS və LoongArch arxitekturaları üçün quraşdırma paketləri hazırlandı.
- İvorySQL ilə brauzerdən işləmək üçün onlayn mühit hazırlandı ki, bu da İvorySQL-in öz sisteminizdə quraşdırılmadan istifadə edilməsini mümkün edir.
Bundan əlavə, MySQL, MS SQLServer və Oracle kimi bir və ya bir neçə xarici verilənlər bazasından PostgreSQL-ə replikasiya üçün nəzərdə tutulmuş SynchDB 1.3 uzantısının buraxılışını qeyd etmək olar. Belə xarici verilənlər bazaları, verilənlərin sinxronizasiya prosesini təşkil etmək üçün əlavə qatlar olmadan bir PostgreSQL bazasına birbaşa köçürülməsi üçün məlumat mənbələri kimi çıxış edir (bütün sinxronizasiya əməliyyatları SynchDB uzantısı tərəfindən idarə olunur). Layihənin kodu C və Java dillərində yazılıb və Apache 2.0 lisenziyası altında yayılır.
Sistem komponentləri daxildir:
- Debezium Runner Engine — Java-da yazılmış mühərrik, müxtəlif verilənlər bazalarından verilənlərdə dəyişiklik axınlarını emal etmək üçün modullar təqdim edir (MySQL, MS SQLServer və Oracle) və əldə edilən məlumatları universal JSON formatına çevirir.
- SynchDB Worker — müəyyən verilənlər bazalarından məlumatların replikasiyası üçün Debezium Runner Engine-in nümunələrini işə salır, onlardan JSON formatında dəyişiklikləri qəbul edir və Format Converter moduluna ötürür.
- SynchDB Launcher — SynchDB emalçılarını yaradıb tamamlayır, arxa plan proseslərini başlatmaq üçün PostgreSQL API-sindən istifadə edir.
- Format Converter — JSON formatında dəyişiklik axınını analiz edir, xarici məlumat növlərini və DDL sorğularını PostgreSQL ilə uyğun olan növlərə və sorğulara çevirir.
- Replication Agent — Format Converter-dən HeapTupleData formatında çıxışı emal edir və PostgreSQL-də məlumatların yerləşdirilməsi üçün metodları işə salır.

SynchDB 1.3-də FDW (Foreign Data Wrapper) əsasında işləyən yeni snapshot yaratma mühərriki tətbiq olunub və OpenLog Replicator ilə işləməyi dəstəkləyir. Köhnə Debezium əsaslı mühərrik ilə müqayisədə yeni mühərrik, Oracle-dan böyük verilənlər bazalarından məlumatların replikasiyasında əhəmiyyətli dərəcədə performansı artırmağa və ləngimələri azaltmağa imkan verir. Bundan əlavə, yeni versiyada statistikalar üçün əlavə görünüşlər (synchdb_genstats, synchdb_snapstats və synchdb_cdcstat) təqdim edilmişdir, OpenLog Replicator-də MODIFY və DEFAULT ON NULL ifadələrinin dəstəyi əlavə edilmişdir, PostgreSQL 18 və IvorySQL 5 verilən bazaları dəstəklənmişdir.
Mənbə: opennet.ru
