Instansi analitik ApsaraDB RDS for 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. Instansi ini menyediakan kemampuan analitik real-time yang hemat biaya bagi bisnis dalam skenario data berskala besar guna memperkuat pengambilan keputusan berbasis data.
Fitur
Instansi analitik berbasis DuckDB mencakup hal-hal berikut:
Instans utama analitik berbasis DuckDB
Definisi: Instans database standalone yang mirip dengan instans utama ApsaraDB RDS for MySQL standar. Produk ini merupakan bagian dari Edisi Kluster dan menggunakan arsitektur satu-primary-multiple-standby dengan node standby yang dapat dibaca.
Fitur inti:
Mempertahankan semua fitur dasar instans ApsaraDB RDS for MySQL standar serta kompatibel dengan alat dan ekosistem terkait. Untuk informasi selengkapnya, 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.
Buat instans read-only analitik berbasis DuckDB
Definisi: Jenis instans read-only yang disambungkan ke instans ApsaraDB RDS for MySQL standar dari seri high-availability.
Fitur inti:
Aliran data mulus: Menggunakan replikasi asli berbasis binary logging (binlog) untuk menyinkronkan data secara otomatis dan mentransformasikan skema tabel. Hal ini menghilangkan kebutuhan untuk memelihara tautan sinkronisasi data terpisah.
HTAP terintegrasi: Mendukung permintaan analitik melalui koneksi langsung ke instans read-only 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) yang terintegrasi. Hal ini menjamin kinerja pemrosesan transaksional (TP) pada instans utama dan meningkatkan efisiensi analitik data.
Item perbandingan | Instans utama analitik berbasis DuckDB | Instans read-only analitik berbasis DuckDB | Instans read-only ApsaraDB RDS for MySQL | Database OLAP | |
Cocok untuk | 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 asli berbasis binary logging | Replikasi asli berbasis binary logging | Tautan sinkronisasi data DTS | |
Kompatibilitas MySQL | Tipe data | Sepenuhnya kompatibel | Sepenuhnya kompatibel | Sepenuhnya kompatibel | Tidak kompatibel (memerlukan pemetaan bidang) |
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 ApsaraDB RDS for MySQL standar | Disambungkan ke instans ApsaraDB RDS for MySQL standar | Penerapan standalone | |
Seri produk yang didukung | Edisi Kluster | Seri high-availability | Edisi Dasar, seri high-availability | - | |
Skenario
Analisis agregat: Instansi analitik berbasis DuckDB menyediakan kueri agregat yang efisien untuk analisis agregat real-time, seperti menganalisis data log.
Kueri penggabungan multi-tabel: Untuk layanan kueri yang melibatkan operasi
JOINmulti-tabel, instansi ini dapat secara signifikan meningkatkan kinerja analitik MySQL.
Prinsip teknis instansi analitik berbasis DuckDB
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:
Analis berkinerja tinggi: Penyimpanan kolom secara signifikan mempercepat kueri analisis agregat, dan mesin eksekusi vektorisasi memproses data secara efisien dalam batch.
Dukungan transaksi yang kuat: Menyediakan kemampuan transaksi atomicity, consistency, isolation, dan durability (ACID) secara lengkap. Menggunakan mekanisme Multi-Version Concurrency Control (MVCC) untuk memungkinkan operasi baca-tulis konkuren yang efisien dalam lingkungan standalone.
Optimasi teknis untuk instansi analitik berbasis DuckDB
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, sehingga memenuhi kebutuhan analitik efisien perusahaan terhadap data berskala besar sekaligus menjamin keandalan dan konsistensi data tingkat enterprise.
Optimasi teknis umum (untuk instans analitik utama maupun read-only)
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 asli berbasis binary logging dan menggunakan write-ahead logging (WAL) DuckDB untuk persistensi transaksi. Ini menjamin konsistensi data antara instans ApsaraDB RDS for 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. Ini memastikan bahwa pernyataan kueri yang ada dapat dieksekusi langsung tanpa modifikasi.
Komponen Result Translator secara otomatis mengonversi hasil komputasi DuckDB ke format yang kompatibel dengan protokol MySQL. Hal ini memungkinkan integrasi client yang mulus tanpa perlu menyesuaikan logika aplikasi yang ada.
Akselerasi kueri
Penyimpanan kolom: Data disimpan secara lokal dalam format kolom native DuckDB. Ini meningkatkan kinerja kueri agregat lebih dari 100 kali lipat. Misalnya, 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. Ini memberikan dukungan stabil untuk skenario bisnis dengan konkurensi tinggi.
Optimasi teknis tambahan untuk instansi read-only 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 mengenali operasi Data Definition Language (DDL) yang didukung secara native oleh DuckDB, seperti membuat tabel dan menambah/menghapus bidang. Operasi ini diarahkan langsung ke mesin DuckDB untuk dieksekusi tanpa konversi. Hal ini menjamin kinerja sinkronisasi data.
Untuk operasi DDL yang tidak didukung DuckDB, sistem secara otomatis memicu pembangunan ulang tabel sebelum eksekusi. Ini mencegah error eksekusi mengganggu replikasi dan menjamin stabilitas tautan sinkronisasi.
Isolasi sumber daya: Instans read-only analitik berbasis DuckDB diisolasi dari instans utama ApsaraDB RDS for MySQL. Oleh karena itu, kueri analitik tidak memengaruhi pemrosesan transaksi online, sehingga menjamin stabilitas operasi bisnis inti.
Alur kerja instansi 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 format protokol MySQL lalu dikirim ke client.