Instans analitik hanya baca DuckDB ApsaraDB RDS for MySQL menggunakan penyimpanan kolom dan vektorisasi untuk meningkatkan kinerja kueri analitik kompleks hingga 100 kali lipat. Instans ini menyediakan analitik real-time untuk skenario data skala besar dan membantu Anda membuat keputusan berbasis data lebih cepat.
Perkenalan Produk
Instans analitik hanya baca DuckDB memiliki mesin DuckDB bawaan dengan fitur-fitur berikut:
Analitik Berperforma Tinggi: Mendukung fitur seperti penyimpanan kolom, kompilasi just-in-time (JIT), vektorisasi, manajemen memori yang efisien, dan pemrosesan paralel.
Kompatibilitas Tinggi dengan MySQL: Sangat kompatibel dengan sintaks MySQL dan format data. Anda dapat memperoleh hasil secara efisien tanpa perlu memodifikasi pernyataan kueri asli.
Mekanisme Sinkronisasi Data:
Sinkronisasi data historis: Saat Anda membuat instans analitik hanya baca DuckDB, sistem akan menyinkronkan data historis dari instans utama dan mengonversinya ke format mesin DuckDB secara otomatis.
Sinkronisasi data inkremental: Setelah instans analitik hanya baca DuckDB dibuat, data inkremental dari instans utama disinkronkan secara real-time ke instans analitik hanya baca menggunakan mekanisme replikasi binary logging (binlog) asli MySQL. Data selalu ditransfer dalam RDS dan tidak memerlukan alat sinkronisasi data eksternal. Untuk informasi lebih lanjut tentang teknologi ini, lihat Prinsip Teknis Instans Analitik DuckDB.
Skenario
Analisis Agregasi: Untuk analisis agregasi, seperti analisis data log, instans analitik hanya baca DuckDB menyediakan kueri agregat yang efisien.
Kueri Penggabungan Tabel Multi: Secara signifikan meningkatkan performa analitik MySQL untuk beban kerja dengan multi-tabel
JOIN.
Perbandingan antara instans analitik DuckDB hanya baca, instans hanya baca, dan database OLAP
Dibandingkan dengan menggunakan instans utama, instans hanya baca, atau database OLAP untuk kueri kompleks, instans analitik DuckDB hanya baca memiliki keunggulan berikut:
Kinerja Tinggi: Memberikan performa dua tingkat lebih baik untuk kueri kompleks dibandingkan dengan engine InnoDB.
Kompatibilitas Tinggi: 100% kompatibel dengan protokol MySQL dan tipe data, serta sangat kompatibel dengan sintaks SQL dan Data Definition Language (DDL).
Sinkronisasi Data yang Efisien dan Stabil: Menggunakan saluran replikasi binlog asli untuk sinkronisasi yang lebih stabil dan efisien. Tidak ada biaya tambahan untuk sinkronisasi data.
Isolasi Sumber Daya: Instans analitik DuckDB hanya baca menangani kueri analitik kompleks, sedangkan instans utama dan instans hanya baca biasa menangani pemrosesan transaksi. Ini mengisolasi sumber daya untuk setiap beban kerja, mencegah mereka memengaruhi satu sama lain.
Item | Instans analitik DuckDB hanya baca | Instans hanya baca | Database OLAP | |
Layanan yang sesuai | Kueri analitik kompleks | Pemrosesan transaksi | Kueri analitik kompleks | |
Kinerja kueri analitik | Kuat | Rendah | Kuat | |
Metode sinkronisasi data | Replikasi binlog asli | Replikasi binlog asli | Tautan sinkronisasi data DTS | |
Kompatibilitas MySQL | Tipe data | Sepenuhnya kompatibel | Sepenuhnya kompatibel | Tidak kompatibel (memerlukan pemetaan bidang) |
Sintaks SQL | Sangat kompatibel (lebih dari 99,9%) | Sepenuhnya kompatibel | Tidak kompatibel (memerlukan penulisan ulang SQL) | |
DDL | Sangat kompatibel | Sepenuhnya kompatibel | Sebagian kompatibel | |
Biaya O&M | Rendah (instans terintegrasi) | Rendah (instans terintegrasi) | Tinggi (memerlukan pemeliharaan tambahan untuk database dan tautan sinkronisasi) | |
Skenario
Untuk membuat instans hanya baca analitik DuckDB, instans utama ApsaraDB RDS for MySQL yang disambungkan harus memenuhi persyaratan berikut:
Versi Utama: MySQL 8.0
Seri: Seri Tinggi Ketersediaan
Tipe Penyimpanan: ESSD Premium atau SSD Perusahaan (ESSD)
Kapasitas Penyimpanan: 10 GB hingga 16.000 GB
Fitur pengarsipan data dalam keadaan nonaktif.
Penagihan
Penagihan untuk instans hanya baca analitik DuckDB sama dengan instans hanya baca biasa. Biaya dipengaruhi oleh faktor-faktor seperti seri produk, tipe instans, tipe penyimpanan, dan kapasitas penyimpanan. Biaya aktual ditampilkan di halaman pembelian.
Catatan
Waktu Pembuatan Instans: Saat instans analitik hanya-baca DuckDB dibuat, mesin dari semua tabel dalam instans secara otomatis dikonversi ke mesin DuckDB. Oleh karena itu, waktu yang diperlukan untuk membuat instans analitik hanya-baca lebih lama daripada instans hanya-baca biasa. Waktu pembuatan bergantung pada volume data dari instans utama.
Penghapusan Kunci Asing: Kunci asing secara otomatis dihapus selama pembuatan instans analitik hanya-baca DuckDB. Instans analitik hanya-baca DuckDB tidak memiliki kendala kunci asing.
Batas Skema Tabel: Instans analitik hanya-baca DuckDB hanya mendukung tabel yang menggunakan
UTF8atauUTF8MB4set karakter. Tabel terpartisi dan tabel tanpa kunci utama bisnis tidak didukung. Kunci utama bisnis adalah kunci utama yang ditentukan atau kendala UNIK pada bidang non-null.CatatanUntuk tabel yang tidak didukung, mesin tetap menjadi mesin InnoDB dalam instans analitik hanya-baca DuckDB. Anda dapat menjalankan pernyataan SQL berikut untuk menanyakan daftar tabel yang tidak kompatibel.
SELECT table_schema, table_name, engine FROM information_schema.tables WHERE table_schema NOT IN ('mysql', 'sys') AND engine = 'InnoDB';Batas Langganan Binlog: Instans analitik hanya-baca DuckDB tidak mendukung pengaktifan fitur pencatatan biner. Oleh karena itu, Anda tidak dapat berlangganan binlog-nya. Untuk berlangganan binlog, pilih instans utama.
Batas Kompatibilitas: Untuk informasi lebih lanjut, lihat Kompatibilitas Instans Analitik DuckDB.
Buat instans analitik DuckDB hanya baca
Masuk ke Konsol ApsaraDB RDS. Di bilah navigasi atas, pilih Wilayah. Kemudian, klik ID instans target.
Di halaman Basic Information, pergi ke bagian Instance Distribution. Klik Add di sebelah kanan DuckDB Analytic Instance.

Konfigurasikan instans analitik DuckDB hanya baca. Tabel berikut menjelaskan parameter utama.
Parameter
Deskripsi
Billing Method
Langganan dan bayar sesuai penggunaan didukung. Serverless tidak didukung.
Series
Hanya High-availability Series yang didukung.
Product Type
Hanya Standard Edition yang didukung.
Primary Zone
Anda hanya dapat memilih zona di wilayah yang sama dengan instans utama.
Deployment Method
Single-zone Deployment: Node utama dan sekunder dari instans analitik hanya baca berada di zona yang sama.
Multi-zone Deployment: Node utama dan sekunder dari instans analitik hanya baca berada di zona berbeda dalam wilayah yang sama. Ini menyediakan pemulihan bencana lintas zona tanpa biaya tambahan. Jika Anda memilih opsi ini, Anda juga harus mengonfigurasi zona untuk node sekunder.
Instance Type
Tipe instans spesifikasi khusus didukung. Untuk informasi selengkapnya tentang tipe instans, lihat Tipe instans analitik hanya baca DuckDB.
Database Proxy
Setelah Anda mengaktifkan proksi database General-purpose (gratis), sistem dapat mendistribusikan permintaan pemrosesan transaksional dan analitik hibrida (HTAP) secara otomatis. Permintaan kueri pemrosesan analitik daring (OLAP) dirutekan ke instans analitik DuckDB hanya baca, dan permintaan pemrosesan transaksional daring (OLTP) dirutekan ke instans utama atau instans hanya baca reguler.
Storage Capacity
Kapasitas penyimpanan instans analitik hanya baca harus setidaknya setengah dari kapasitas penyimpanan instans utama.
Klik Next: Instance Configurations. Konfigurasikan jaringan dan kelompok sumber daya untuk instans. Tabel berikut menjelaskan parameter utama.
Parameter
Deskripsi
VPC
VPC-nya sama dengan instans utama secara default dan tidak dapat diubah.
VSwitch of Primary Node
Gunakan vSwitch utama default atau pilih salah satu sesuai kebutuhan.
Resource Group
Kelompok sumber daya sama dengan instans utama secara default dan tidak dapat diubah.
Klik Next: Confirm Order.
Konfirmasi Parameter Settings, pilih Quantity, klik Confirm Order, dan selesaikan pembayaran.
Jika Anda memilih metode penagihan langganan, Anda juga harus memilih Subscription Duration. Kami menyarankan Anda memilih Auto-renewal untuk mencegah gangguan layanan yang disebabkan oleh pembayaran tertunda.
Setelah beberapa saat, temukan instans utama di halaman Instances. Klik panah di sebelah kiri ID instans untuk melihat instans analitik DuckDB hanya baca yang disambungkan ke instans utama.

Hubungkan ke instans baca saja analitik DuckDB
(Direkomendasikan) Hubungkan melalui proksi database
Jika bisnis Anda melibatkan pemrosesan transaksi online (OLTP) dengan konkurensi tinggi dan pemrosesan analitik online (OLAP) yang kompleks, Anda dapat menggunakan proksi database untuk mengaktifkan distribusi permintaan otomatis untuk HTAP. Node proksi database memperkirakan biaya eksekusi dari pernyataan SQL. Secara otomatis merutekan permintaan kueri OLAP ke instans baca saja analitik DuckDB dan permintaan kueri OLTP ke instans utama atau instans baca saja biasa. Anda tidak perlu secara manual mengklasifikasikan permintaan database di sisi klien.
Tambahkan instans baca saja analitik DuckDB ke instans utama ApsaraDB RDS for MySQL.
Aktifkan proksi database tujuan umum untuk instans utama.
Aktifkan distribusi permintaan otomatis untuk HTAP untuk instans utama.
Tetapkan bobot baca untuk instans baca saja analitik DuckDB.
Hubungkan ke database menggunakan titik akhir proksi database. Proksi database secara otomatis mendistribusikan permintaan ke tipe instans yang paling sesuai berdasarkan perkiraan biaya eksekusi kueri SQL.
Hubungkan langsung
Instans baca saja analitik DuckDB memiliki titik akhir independen. Jika Anda hanya perlu memproses permintaan kueri OLAP, Anda dapat menggunakan titik akhir ini untuk terhubung langsung ke instans.
Masuk ke Konsol ApsaraDB RDS. Di panel navigasi di sebelah kiri, klik Instances. Di bilah navigasi atas, pilih wilayah.
Di halaman Instances, temukan instans utama. Klik panah di sebelah kiri ID instans untuk melihat instans baca saja analitik DuckDB yang disambungkan ke instans utama.
Klik ID instans baca saja analitik DuckDB untuk masuk ke halaman detail. Di bagian , klik View Endpoint Details untuk mendapatkan titik akhir.
Secara default, instans ApsaraDB RDS menyediakan titik akhir internal. Untuk mengakses instans melalui internet, pertama-tama ajukan permohonan untuk titik akhir publik, lalu hubungkan ke instans baca saja analitik DuckDB.
Referensi dan Operasi API
Operasi API Terkait
Buat instans hanya baca analitik DuckDB dengan memanggil operasi CreateReadOnlyDBInstance.
Kueri detail instans hanya baca analitik DuckDB tertentu dengan memanggil operasi DescribeDBInstanceAttribute.
Kueri informasi dasar tentang semua instans ApsaraDB RDS, termasuk instans hanya baca analitik DuckDB, yang dimiliki oleh akun Anda dengan memanggil operasi DescribeDBInstances.
Lampiran: Uji performa untuk instansi hanya baca analitik DuckDB
Bagian berikut menggunakan uji benchmark TPC-H standar, yang digunakan untuk mengevaluasi performa kueri database yang kompleks, untuk mendemonstrasikan performa kueri analitik dari instans hanya baca analitik DuckDB.
Lingkungan pengujian
Set Data: Dataset TPC-H sf-100 digunakan. Volume datanya adalah 100 GB. Data berasal dari situs resmi DuckDB.
Lingkungan Operasi: Setiap database berjalan pada Instance ECS dengan spesifikasi yang sama: CPU 32-core, memori 128 GB, dan ESSD. Ini memastikan lingkungan pengujian yang konsisten.
Objek Perbandingan: Sebuah instans ApsaraDB RDS for MySQL reguler (versi 8.0.36, engine InnoDB) dan ClickHouse Community Edition (versi 25.3).
Metode Pengujian: Untuk memastikan hasil kueri yang konsisten, setiap database pertama-tama menjalankan tiga putaran pemanasan, hasilnya tidak dicatat. Kemudian, tiga putaran tes resmi dijalankan. Nilai rata-rata dari tiga putaran tes resmi digunakan sebagai hasil performa akhir.
Hasil Tes
Tabel berikut membandingkan waktu eksekusi setiap kueri pada instans analitik DuckDB hanya baca, instans RDS MySQL (engine InnoDB), dan ClickHouse dalam skenario TPC-H sf-100.
ID Kueri | Waktu Eksekusi (detik) | ||
Instans analitik DuckDB hanya baca | Instans standar RDS MySQL (engine InnoDB) | ClickHouse | |
q1 | 0,92 | 1.134,25 | 3,47 |
q2 | 0,15 | 1.800 | 1,52 |
q3 | 0,53 | 802,94 | 3,65 |
q4 | 0,46 | 1.000,45 | 2,77 |
q5 | 0,5 | 1.800 | 5,38 |
q6 | 0,22 | 566,73 | 0,73 |
q7 | 0,59 | 1.800 | 6,06 |
q8 | 0,68 | 1.800 | 6,99 |
q9 | 1,44 | 1.800 | 13,29 |
q10 | 0,91 | 894,35 | 3,22 |
q11 | 0,11 | 79,63 | 1,1 |
q12 | 0,44 | 734,35 | 1,69 |
q13 | 1,59 | 454,15 | 5,85 |
q14 | 0,38 | 574,07 | 0,83 |
q15 | 0,31 | 568,43 | 1,53 |
q16 | 0,32 | 63,56 | 0,52 |
q17 | 0,89 | 1.800 | 7,96 |
q18 | 1,59 | 1.800 | 3,11 |
q19 | 0,8 | 1.800 | 2,96 |
q20 | 0,51 | 1.800 | 3,38 |
q21 | 1,64 | 1.800 | kehabisan memori |
q22 | 0,33 | 361,4 | 4 |
Total | 15,31 | 25.234,31 | 80,01 |
Kesimpulan uji
Perbandingan antara Instans Hanya Baca Analitik DuckDB dan Instans Reguler ApsaraDB RDS for MySQL (Engine InnoDB)


Dalam pengujian TPC-H, total waktu eksekusi untuk instans ApsaraDB RDS for MySQL (engine InnoDB) adalah 25.234,31 detik, sedangkan total waktu eksekusi untuk instans hanya baca analitik DuckDB hanya 15,31 detik. Perbedaan performa lebih dari tiga orde besaran. Instans ApsaraDB RDS for MySQL (engine InnoDB) menunjukkan kekurangan signifikan dalam menangani kueri kompleks. Kueri q5, q7, q8, q9, q17, q18, q19, q20, dan q21 gagal diselesaikan karena batas waktu. Periode timeout dihitung secara seragam sebagai 1.800 detik. Ini menunjukkan bahwa instans hanya baca analitik DuckDB ApsaraDB RDS for MySQL berperforma sangat baik untuk tugas kueri analitik data skala besar dan secara signifikan meningkatkan efisiensi kueri kompleks.
Perbandingan antara Instans Hanya Baca Analitik DuckDB dan Instans ClickHouse


Total waktu eksekusi untuk instans ClickHouse adalah 80,01 detik. Sebagai perbandingan, total waktu eksekusi untuk instans hanya baca analitik DuckDB hanya 15,31 detik, menunjukkan keunggulan signifikan dalam performa keseluruhan. Instans ClickHouse melaporkan kesalahan
Batas memori terlampauisaat menjalankan kueri q21 dan tidak dapat menyelesaikan kueri tersebut. Untuk kueri lainnya, instans hanya baca analitik DuckDB berperforma jauh lebih baik daripada instans ClickHouse. Hal ini menunjukkan performa kueri yang unggul dan stabilitas dalam skenario analitik kompleks.