Instans analitik ApsaraDB RDS untuk MySQL berbasis DuckDB menggunakan penyimpanan kolom (columnar storage) dan vektorisasi sebagai teknologi intinya untuk meningkatkan kinerja kueri analitik kompleks hingga ratusan kali lipat. Teknologi kompresi penyimpanan kolom secara signifikan mengurangi biaya penyimpanan. Instans ini menyediakan kemampuan analitik real-time yang hemat biaya bagi bisnis dalam skenario data berskala besar guna mendukung pengambilan keputusan berbasis data.
Fitur
Instans analitik berbasis DuckDB mencakup tipe-tipe berikut:
-
Instans utama analitik berbasis DuckDB
-
Definisi: Instans database standalone yang mirip dengan instans utama RDS for MySQL biasa. Tipe ini tersedia untuk Edisi Kluster RDS dan diterapkan dengan beberapa node standby yang dapat menangani permintaan baca.
-
Fitur inti:
-
Mempertahankan semua fitur dasar instans RDS for MySQL biasa dan kompatibel dengan alat serta ekosistem terkait. Untuk informasi lebih lanjut, lihat Ikhtisar instans utama analitik berbasis DuckDB.
-
Mengintegrasikan mesin analitik DuckDB secara mendalam ke dalam kernel MySQL. Menggunakan penyimpanan kolom dan vektorisasi sebagai teknologi inti untuk menyediakan dukungan kuat untuk transaksi sekaligus kemampuan pemrosesan analitik kompleks berkinerja tinggi.
-
-
-
Instans hanya baca analitik berbasis DuckDB
-
Definisi: Jenis instans read-only yang disambungkan ke instans RDS for MySQL biasa yang menjalankan Edisi Ketersediaan Tinggi.
-
Fitur inti:
-
Alur data mulus: Menggunakan replikasi native berbasis binary logging (binlog) untuk menyinkronkan data secara otomatis dan mentransformasikan skema tabel. Hal ini menghilangkan kebutuhan memelihara tautan sinkronisasi data terpisah.
-
HTAP terintegrasi: Mendukung permintaan analitik melalui koneksi langsung ke instans hanya baca analitik berbasis DuckDB atau dengan mengarahkan permintaan secara otomatis ke instans tersebut melalui database proxy. Arsitektur ini menyediakan kemampuan pemrosesan transaksional dan analitik hibrida (HTAP) terintegrasi. Hal ini menjamin kinerja pemrosesan transaksional (TP) instans utama dan meningkatkan efisiensi analitik data.
-
-
|
Item perbandingan |
Instans utama analitik berbasis DuckDB |
Instans hanya baca analitik berbasis DuckDB |
RDS for MySQL read-only instance |
Database OLAP |
|
|
Skenario |
Kueri analitik kompleks |
Kueri analitik kompleks |
Pemrosesan transaksi |
Kueri analitik kompleks |
|
|
Kinerja kueri analitik |
Kuat |
Kuat |
Lemah |
Kuat |
|
|
Metode sinkronisasi data |
Tautan sinkronisasi data DTS |
Replikasi native berbasis binary logging |
Replikasi native berbasis binary logging |
Tautan sinkronisasi data DTS |
|
|
Kompatibilitas MySQL |
Tipe data |
Sepenuhnya kompatibel |
Sepenuhnya kompatibel |
Sepenuhnya kompatibel |
Tidak kompatibel (memerlukan pemetaan field) |
|
Sintaksis SQL |
Sangat kompatibel (> 99,9%) |
Sangat kompatibel (>99,9%) |
Sepenuhnya kompatibel |
Tidak kompatibel (memerlukan penulisan ulang SQL) |
|
|
DDL |
Sangat kompatibel |
Sangat kompatibel (mendukung pembangunan ulang otomatis) |
Sepenuhnya kompatibel |
Sebagian kompatibel |
|
|
Biaya O&M |
Rendah |
Rendah |
Rendah |
Tinggi |
|
|
Model penerapan |
Penerapan standalone |
Disambungkan ke instans RDS for MySQL biasa |
Disambungkan ke instans RDS for MySQL biasa |
Penerapan standalone |
|
|
Edisi yang didukung |
Edisi Kluster |
Edisi Ketersediaan Tinggi |
Edisi Dasar, Edisi Ketersediaan Tinggi |
- |
|
Skenario
-
Analis agregat: Instans analitik berbasis DuckDB menyediakan kueri agregat efisien untuk analisis agregat real-time, seperti menganalisis data log.
-
Kueri penggabungan multi-tabel: Untuk layanan kueri yang melibatkan operasi
JOINmulti-tabel, instans ini dapat secara signifikan meningkatkan kinerja analitik MySQL.
Prinsip teknis
Apa itu DuckDB?
DuckDB adalah database online analytical processing (OLAP) standalone yang dirancang untuk skenario embedded. Arsitektur intinya menyeimbangkan analitik berkinerja tinggi dengan pemrosesan transaksi:
-
Analistik berkinerja tinggi: Penyimpanan kolom secara signifikan mempercepat kueri analisis agregat, dan mesin eksekusi vektorisasi memproses data secara efisien dalam batch.
-
Dukungan transaksi kuat: Menyediakan kemampuan transaksi atomicity, consistency, isolation, dan durability (ACID) lengkap. Menggunakan mekanisme Multi-Version Concurrency Control (MVCC) untuk mengaktifkan operasi baca dan tulis konkuren yang efisien dalam lingkungan standalone.
Optimasi teknis
ApsaraDB RDS mengintegrasikan mesin DuckDB secara mendalam untuk menggabungkan analitik berkinerja tinggi DuckDB dengan ekosistem MySQL. Pendekatan ini menyeimbangkan analitik berkinerja tinggi dengan pemrosesan transaksi. Hal ini memenuhi kebutuhan analitik efisien perusahaan untuk data berskala besar sekaligus menjamin keandalan dan konsistensi data tingkat enterprise.
Optimasi teknis umum (untuk instans analitik utama dan hanya baca)
-
Optimasi mesin penyimpanan
-
Mengenkapsulasi penyimpanan kolom DuckDB sebagai mesin penyimpanan transaksional dalam MySQL dan menggunakan kamus data MySQL standar untuk mengelola metadata. Hal ini menjamin kompatibilitas penuh dengan semantik transaksi instans utama.
-
Menyempurnakan kemampuan sinkronisasi native berbasis binary logging dan menggunakan write-ahead logging (WAL) DuckDB untuk persistensi transaksi. Hal ini menjamin konsistensi data antara instans ApsaraDB RDS untuk MySQL dan instans analitik berbasis DuckDB.
-
-
Peningkatan mesin komputasi
-
Mengintegrasikan komponen inti DuckDB. Pengoptimal, mesin eksekusi vektorisasi, dan kompilator diintegrasikan secara mendalam untuk mendukung kompilasi just-in-time (JIT) dan vektorisasi. Hal ini meningkatkan kinerja kueri kompleks hingga dua orde besaran dibandingkan InnoDB.
-
Menyesuaikan parser SQL untuk mendukung 99,9% sintaksis dan fungsi MySQL. Hal ini menjamin bahwa pernyataan kueri yang ada dapat dieksekusi langsung tanpa modifikasi.
-
Komponen Result Translator secara otomatis mengonversi hasil komputasi DuckDB ke dalam format yang kompatibel dengan protokol MySQL. Hal ini memungkinkan integrasi client yang mulus tanpa memerlukan penyesuaian pada logika aplikasi yang ada.
-
-
Akselerasi kueri
-
Penyimpanan kolom: Data disimpan secara lokal dalam format kolom native DuckDB. Hal ini meningkatkan kinerja kueri agregat lebih dari 100 kali lipat. Sebagai contoh, waktu respons untuk kueri SUM pada jumlah data yang sama berkurang menjadi 1/100 dari waktu yang dibutuhkan oleh InnoDB.
-
Cache otomatis untuk data hot: Sistem menggunakan mekanisme Buffer Pool DuckDB untuk secara otomatis menyimpan cache data yang sering dikueri. Hal ini memberikan dukungan stabil untuk skenario bisnis high-concurrency.
-
Optimasi teknis tambahan untuk instans hanya baca analitik berbasis DuckDB
-
Peningkatan kinerja sinkronisasi data
-
Memperkenalkan mekanisme batching yang menggabungkan transaksi kecil berfrekuensi tinggi menjadi transaksi besar. Hal ini secara signifikan mengurangi latensi penulisan.
-
Replay idempoten: Sistem melakukan pemeriksaan idempotensi pada event log biner untuk menjamin konsistensi kuat dalam sinkronisasi data.
-
-
Optimasi sinkronisasi DDL
-
Sistem secara otomatis mengidentifikasi operasi Data Definition Language (DDL) yang didukung secara native oleh DuckDB, seperti membuat tabel dan menambah atau menghapus field. Operasi ini diarahkan langsung ke mesin DuckDB untuk dieksekusi tanpa konversi. Hal ini menjamin kinerja sinkronisasi data.
-
Untuk operasi DDL yang tidak didukung oleh DuckDB, sistem secara otomatis memicu pembangunan ulang tabel sebelum eksekusi. Hal ini mencegah error eksekusi mengganggu replikasi dan menjamin stabilitas tautan sinkronisasi.
-
-
Isolasi sumber daya: Instans hanya baca analitik berbasis DuckDB diisolasi dari instans utama ApsaraDB RDS untuk MySQL. Oleh karena itu, kueri analitik tidak memengaruhi pemrosesan transaksi online, menjamin stabilitas operasi bisnis inti.
Alur kerja instans analitik berbasis DuckDB
-
Penguraian SQL: Kueri SQL pengguna diurai oleh parser MySQL standar.
-
Eksekusi SQL: Kueri yang telah diurai diarahkan ke mesin komputasi DuckDB untuk dieksekusi.
-
Pengambilan data: Data kolom diambil dari mesin penyimpanan DuckDB.
-
Konversi format: Hasil komputasi dikonversi oleh komponen
Result Translatorke dalam format protokol MySQL lalu dikirim ke client.