MariaDB adalah sistem manajemen basis data relasional (RDBMS) yang bersifat open-source, multi-threaded, dan bersifat relasional. Dimulai dengan versi 10.3, MariaDB telah memperkenalkan fitur Kompatibilitas Oracle di MariaDB, yang dapat dimanfaatkan dengan mengkonfigurasi SET SQL_MODE = ‘Oracle’. Hal ini memungkinkan MariaDB untuk memahami sebagian besar sintaks Oracle PL/SQL, Stored Procedures, Triggers, Functions, dan paket-paket gaya Oracle. Menurut postingan MariaDB, dengan SQL_MODE = ORACLE, MariaDB sekarang dapat mengurai, tergantung pada kasusnya, sekitar 80 persen dari Oracle PL/SQL lama tanpa menulis ulang kodenya. Dengan menggunakan kompatibilitas Oracle PL/SQL inti di MariaDB TX 3.0, Development Bank of Singapore (DBS) telah mampu memigrasikan lebih dari separuh aplikasi bisnis penting mereka hanya dalam waktu 12 bulan dari Oracle Database ke MariaDB. Bahkan, sebagian besar kode Oracle PL/SQL Anda dapat dimigrasi dengan mulus, termasuk:
- Parameter Prosedur Tersimpan
- Konstruk Prosedur Tersimpan Non-ANSI
- Sintaks Kursor
- Sintaks Perulangan
- Deklarasi Variabel
- Pewarisan Tipe Data (%TYPE, %ROWTYPE)
- Pengecualian gaya PL/SQL
- Sinonim untuk Jenis SQL Dasar (VARCHAR2, NUMBER, …)
Tim kami baru-baru ini menyelesaikan proof-of-concept (PoC) yang sukses untuk sebuah bank, untuk memigrasikan Oracle RAC yang digunakan oleh aplikasi internet banking mereka, ke MariaDB. Ini merupakan pengalaman belajar yang luar biasa dengan hasil yang memuaskan dan sukses, di mana MariaDB mampu memenuhi kebutuhan fungsional dan teknis bank. Migrasi dari Oracle RAC ke MariaDB akan menghasilkan penghematan biaya yang sangat besar bagi bank dan juga akan membuka jalan untuk memigrasikan aplikasi lain dari Oracle ke MariaDB. Pembelajaran kami dapat dirangkum sebagai berikut:
- Penilaian adalah kunci keberhasilan – Tidak ada metode pencadangan dan pemulihan yang mudah untuk bermigrasi dari Oracle ke MariaDB, penilaian terhadap database yang ada sangatlah penting.
- Perencanaan – Merinci aktivitas migrasi Anda dalam beberapa paket, misalnya, membuat pemetaan tipe data dan memigrasi struktur tabel terlebih dahulu, sebelum melanjutkan ke kode, PL/SQL, prosedur tersimpan, dan paket, dan lain-lain.
- Perubahan aplikasi mungkin diperlukan – Tergantung pada kompleksitas database dan aplikasi Anda, beberapa perubahan aplikasi mungkin diperlukan, karena MariaDB hanya mendukung hingga 80% sintaks PL/SQL, tidak semuanya.
- Diperlukan beberapa kali iterasi – Berdasarkan pengalaman kami, 4-6 kali iterasi migrasi data dan struktur mungkin diperlukan, sebelum tim aplikasi yakin akan kompatibilitas MariaDB dan bersedia beralih dari Oracle.
- Beberapa fungsionalitas mungkin memerlukan solusi – Meskipun memungkinkan untuk mengganti Oracle ke MariaDB, beberapa persyaratan pelanggan atau aplikasi mungkin memerlukan beberapa solusi, oleh karena itu ekspektasi pemangku kepentingan harus diatur dengan tepat.