全部产品
Search
文档中心

ApsaraDB RDS:Pengalihan Kueri Otomatis Berbasis HTAP

更新时间:Oct 18, 2025

Jika bisnis Anda memerlukan pemrosesan transaksi online (OLTP) dengan konkurensi tinggi dan pemrosesan analitik online (OLAP) yang kompleks, Anda dapat menambahkan instans hanya baca analitik berbasis DuckDB ke instans RDS for MySQL Anda. Pengaturan ini memungkinkan pengalihan kueri berbasis HTAP melalui proksi database. Kueri OLAP diarahkan ke instans hanya baca analitik berbasis DuckDB, sedangkan kueri OLTP diarahkan ke instans RDS utama atau instans hanya baca biasa. Arsitektur ini membantu pengguna perusahaan menangani kueri HTAP secara efisien.

Pendahuluan

Solusi pengalihan kueri berbasis HTAP untuk RDS for MySQL memanfaatkan keunggulan mesin penyimpanan yang berbeda. Proksi database secara otomatis mengarahkan permintaan ke tipe instans yang paling sesuai berdasarkan estimasi biaya eksekusi kueri SQL, mencapai isolasi beban kerja dan optimalisasi performa.

  • Instans Berorientasi Baris: Instans utama RDS for MySQL dan instans hanya baca biasa menggunakan engine InnoDB, ideal untuk menangani permintaan baca dan tulis OLTP dengan konkurensi tinggi.

  • Instans Penyimpanan Kolom: Instans hanya baca analitik berbasis DuckDB menggunakan engine DuckDB, dirancang untuk kueri analitik OLAP yang kompleks.

Dua metode pengalihan didukung:

  • Pengalihan Kueri Otomatis Berbasis HTAP: Secara otomatis mengarahkan kueri OLAP dan OLTP ke instans penyimpanan kolom atau berorientasi baris berdasarkan estimasi biaya eksekusi SQL.

  • Pengalihan Manual Menggunakan Petunjuk: Jika pengalihan otomatis tidak memenuhi harapan atau versi MySQL Anda tidak mendukung estimasi biaya, Anda dapat menggunakan petunjuk untuk secara manual mengarahkan kueri SQL.

Catatan penggunaan

Sebelum menggunakan Pengalihan Kueri Otomatis Berbasis HTAP, pastikan bahwa:

Catatan

Jika versi mesin minor atau versi proksi database instans Anda tidak memenuhi persyaratan, perbarui versi mesin minor atau tingkatkan versi proksi database.

Peringatan

  • Ambang batas latensiAmbang Latensi dan Tingkat Konsistensi proksi database juga berlaku untuk instans hanya baca berbasis DuckDB.

  • Ketika mengaktifkan pengalihan kueri otomatis berbasis HTAP untuk instans utama, atribut Read/Write Splitting Attribute titik akhir proksi instans harus disetel ke Read/Write.

  • Bobot baca instans hanya baca analitik berbasis DuckDB hanya memengaruhi penyeimbangan beban di antara instans-instans tersebut dan tidak memengaruhi logika pengalihan antara instans berorientasi baris dan penyimpanan kolom.

  • Jika semua instans hanya baca analitik berbasis DuckDB berada pada kapasitas penuh, permintaan analitik berikutnya akan dimasukkan ke dalam antrian untuk diproses.

  • Jika Anda memilih Custom untuk Read Weight Allocation, bobot baca instans hanya baca analitik berbasis DuckDB baru disetel ke 0 secara default dan harus dikonfigurasi secara manual.

Catatan

Anda dapat mengonfigurasi ambang batas latensi, tingkat konsistensi, atribut baca/tulis, dan bobot baca proksi database sesuai kebutuhan. Untuk informasi lebih lanjut, lihat Konfigurasikan Proksi Database.

Aktifkan pengalihan kueri otomatis berbasis HTAP

  1. Masuk ke Konsol RDS. Di panel navigasi sisi kiri, klik Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS utama Anda berada.

  2. Di halaman Instances, klik ID instans RDS utama (dengan ikon image).

  3. Di panel navigasi sisi kiri, klik Database Proxy.

  4. Di bagian Connection Information, temukan titik akhir proksi dan klik Ubah Konfigurasi di kolom Tindakan.

  5. Di panel yang muncul, aktifkan Auto HTAP-based Routing dan klik OK.

Alokasikan bobot baca ke instans hanya baca analitik berbasis DuckDB

Jika instans RDS for MySQL Anda dikonfigurasi dengan beberapa instans hanya baca analitik berbasis DuckDB, Anda dapat menetapkan bobot baca untuk setiap instans tersebut sesuai kebutuhan. Secara default, bobot baca untuk titik akhir proksi disetel ke Ditetapkan Sistem. Bobot baca yang lebih tinggi menunjukkan bahwa instans memproses lebih banyak permintaan baca.

  1. Masuk ke Konsol RDS. Di panel navigasi sisi kiri, klik Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS utama Anda berada.

  2. Di halaman Instances, klik ID instans RDS utama (dengan ikon image).

  3. Di panel navigasi sisi kiri, klik Database Proxy.

  4. Di bagian Connection Information, temukan titik akhir proksi dan klik Modify Configuration di kolom Tindakan.

  5. Di kotak dialog yang muncul, pilih Automatic Distribution untuk Read Weight Allocation.

    Jika Anda memilih Custom, bobot baca instans hanya baca analitik berbasis DuckDB baru disetel ke 0 secara default dan harus dikonfigurasi secara manual.

  6. Di bagian Read Weight for DuckDB-based Read-only Instance, tetapkan bobot baca untuk setiap instans hanya baca analitik berbasis DuckDB.

    Sebagai contoh, jika instans RDS utama memiliki tiga instans hanya baca analitik berbasis DuckDB dengan bobot baca 0, 100, dan 200, maka hanya permintaan tulis yang diarahkan ke instans RDS utama. Ketiga instans hanya baca menangani permintaan baca berdasarkan rasio 1:2.

    Catatan
    • Bobot baca bisa berupa bilangan bulat dari 0 hingga 10.000.

    • Jika instans hanya baca analitik berbasis DuckDB dihapus, bobotnya secara otomatis dihapus, dan bobot instans lainnya tetap tidak berubah.

    • Modifikasi parameter ini berlaku segera tanpa menyebabkan gangguan layanan. Baik koneksi baru maupun yang sudah ada diarahkan berdasarkan bobot baru.

Arahkan kueri secara manual menggunakan petunjuk

Jika pengalihan otomatis tidak efektif atau versi MySQL Anda tidak mendukung estimasi biaya, Anda dapat menambahkan petunjuk ke pernyataan SQL Anda untuk memaksa jalur kueri tertentu untuk kueri tersebut.

  • Arahkan kueri ke node hanya baca analitik berbasis DuckDB.

    /*force_ap_nodes*/ SELECT COUNT(*) FROM <Table_name>;
  • Arahkan kueri ke instans RDS utama atau instans hanya baca biasa.

    SELECT /*+set_var(rds_cost_threshold_for_duckdb = 0)*/ COUNT(*) FROM <Table_name>;

Referensi

Lampiran: Cara kerja pengalihan kueri otomatis berbasis HTAP

  1. Proksi database menerima kueri dan meneruskannya ke instans berorientasi baris, seperti instans RDS utama atau instans hanya baca.

  2. Pengoptimal instans berorientasi baris menganalisis kueri dan memperkirakan apakah biaya eksekusinya melebihi ambang batas yang telah ditentukan.

    • Jika biaya yang diperkirakan berada di bawah ambang batas, kueri dieksekusi pada instans berorientasi baris atau di antara beberapa instans hanya baca biasa berdasarkan penyeimbangan beban.

    • Jika biaya yang diperkirakan berada di atas ambang batas, kueri diarahkan ke instans hanya baca analitik berbasis DuckDB atau di antara beberapa instans hanya baca analitik berbasis DuckDB berdasarkan penyeimbangan beban.