全部产品
Search
文档中心

Hologres:Penyeimbangan ulang shard (Rebalance)

更新时间:Feb 05, 2026

Hologres mendukung fungsi Rebalance mulai dari versi V2.0.21 dan yang lebih baru. Fungsi ini memicu operasi penyeimbangan ulang shard. Topik ini menjelaskan cara menggunakan fungsi Rebalance untuk menyeimbangkan ulang shard.

Informasi latar belakang

Selama waktu proses normal, node pekerja Hologres memuat metadata shard secara merata. Namun, dalam beberapa kasus—misalnya setelah pemulihan cepat—shard dapat terdistribusi secara tidak merata. Anda dapat memicu operasi penyeimbangan ulang untuk mendistribusikan kembali shard secara merata di seluruh node pekerja.

Batasan

Fungsi Rebalance didukung di Hologres V2.0.21 dan versi yang lebih baru. Jika instans Anda menjalankan versi sebelumnya, Anda dapat menggunakan fitur self-service upgrade atau bergabung dengan grup DingTalk Hologres untuk meminta peningkatan instans. Untuk informasi selengkapnya, lihat Bagaimana cara mendapatkan dukungan online tambahan?.

Sintaks perintah

Sintaks untuk memicu operasi penyeimbangan ulang shard berbeda tergantung pada tipe instans.

Instans tujuan umum dan instans replika read-only

Fungsi Rebalance memicu redistribusi shard pada node pekerja instans tujuan umum atau instans replika read-only. Sintaksnya adalah sebagai berikut:

SELECT hg_rebalance_instance();
  • Nilai kembalian:

    • true: Operasi penyeimbangan ulang berhasil dipicu. Sistem memulai operasi tersebut.

    • false: Penyeimbangan ulang tidak diperlukan.

    • Error: Gagal memicu operasi penyeimbangan ulang. Misalnya, error dikembalikan jika Anda mencoba memicu operasi saat suatu Pod mengalami gangguan.

  • Selama proses penyeimbangan ulang, sistem mengevaluasi apakah penyeimbangan ulang diperlukan untuk mencapai keadaan seimbang. Keadaan seimbang tercapai ketika selisih jumlah shard yang dimuat oleh setiap node pekerja tidak lebih dari 1. Contohnya:

    • Jika terdapat 2 node pekerja dan 2 shard, masing-masing node pekerja ditugaskan 1 shard.

    • Jika terdapat 2 node pekerja dan 3 shard, satu node pekerja ditugaskan 1 shard, sedangkan yang lainnya ditugaskan 2 shard.

  • Operasi penyeimbangan ulang biasanya memakan waktu 2 hingga 3 menit. Durasi aktual tergantung pada jumlah kelompok tabel dalam instans. Semakin banyak kelompok tabel, semakin lama proses penyeimbangan ulang. Selama proses ini, operasi write terganggu selama kurang lebih 15 detik.

  • Karena penyeimbangan ulang merupakan operasi asinkron, Anda dapat menjalankan pernyataan SQL berikut untuk memeriksa progresnya:

  • SELECT hg_get_rebalance_instance_status();
  • Nilai kembalian:

    • DOING: Operasi penyeimbangan ulang sedang berlangsung.

    • DONE: Operasi penyeimbangan ulang telah selesai.

FAQ

Bagaimana cara mengetahui apakah shard terdistribusi secara tidak merata?

Saat kueri sedang berjalan, beban seharusnya relatif seimbang di seluruh node pekerja. Jika suatu node pekerja tidak memiliki shard, bebannya jauh lebih rendah dibandingkan node lainnya.

  • Contoh distribusi shard yang seimbang: Gambar berikut menunjukkan bahwa saat operasi kueri dan write berjalan pada instans dengan 10 node pekerja, pemanfaatan CPU dari ke-10 node pekerja tersebut serupa, seperti yang terlihat pada data Pemantauan.image.png

  • Contoh distribusi shard yang tidak seimbang: Gambar berikut menunjukkan bahwa beberapa node pekerja tidak memiliki shard. Data Pemantauan menunjukkan bahwa beban pada node pekerja tersebut jauh lebih rendah dibandingkan node lainnya.image.png

    Anda dapat menjalankan pernyataan SQL berikut untuk memeriksa node pekerja mana saja yang telah memuat metadata shard:

    SELECT DISTINCT worker_id FROM hologres.hg_worker_info;
    • Nilai kembalian:image.png

    • Analisis hasil: Hanya 9 node pekerja yang telah memuat metadata shard. Satu node pekerja belum memuat metadata shard apa pun.

    • Tindakan: Jalankan operasi penyeimbangan ulang. Setelah operasi selesai, data Pemantauan menunjukkan bahwa pemanfaatan CPU pada node pekerja yang sebelumnya kurang dimanfaatkan meningkat secara signifikan dan kini serupa dengan node pekerja lainnya.image.png

    • Anda dapat memeriksa kembali node pekerja mana saja yang telah memuat metadata shard. Anda akan menemukan bahwa ke-10 node pekerja kini telah memuat metadata shard.image.png