Bagikan melalui


Memperluas skala dengan kluster elastis

Artikel ini menyediakan instruksi langkah demi langkah untuk melakukan operasi penskalaan horizontal untuk kluster elastis server fleksibel Azure Database for PostgreSQL Anda.

Azure Database for PostgreSQL Kluster Elastis menyediakan penskalaan horizontal dengan menambahkan lebih banyak node pekerja pada kluster Anda. Saat Anda menskalakan Kluster Elastis PostgreSQL, Anda dapat menangani pertumbuhan dengan memberi database Anda lebih banyak sumber daya atau lebih banyak simpul untuk pemrosesan kueri paralel. Anda mendapatkan semua manfaat ini dengan waktu henti minimal dan pengelolaan shard terintegrasi.

Metode peluasan skala

Gunakan salah satu dari beberapa metode untuk menambahkan simpul pekerja ke kluster elastis Anda—termasuk portal Microsoft Azure, Azure CLI, atau otomatisasi melalui templat arm dan API—tergantung pada alur kerja dan kebutuhan otomatisasi Anda. Bagian berikut ini menyediakan instruksi langkah demi langkah untuk portal dan CLI, dan menjelaskan penyeimbangan ulang pasca-skala.

Menggunakan portal Microsoft Azure:

  1. Buka sumber daya: Di portal Microsoft Azure, navigasikan ke kluster elastis Azure Database for PostgreSQL – Flexible Server Anda.

  2. Buka Komputasi + Penyimpanan: Di bawah bagian Pengaturan, pilih Komputasi + penyimpanan. Halaman ini menampilkan konfigurasi simpul kluster Anda saat ini.

    Cuplikan layar memperlihatkan halaman Gambaran Umum kluster elastis.

  3. Sesuaikan Jumlah Simpul: Cari kolom Jumlah Simpul. Tingkatkan jumlah ke total simpul yang diinginkan (antara 2 dan 20 untuk sebagian besar kluster di GA). Misalnya, untuk menggandakan kluster empat node menjadi delapan simpul, tingkatkan penggeser menjadi 8. Azure menyediakan node pekerja tambahan untuk mencapai jumlah ini.

    Cuplikan layar memperlihatkan cara memilih halaman Komputasi + penyimpanan.

  4. Terapkan perubahan: Pilih Simpan. Konfirmasikan operasi peluasan skala saat diminta. Azure mulai menambahkan simpul ke kluster Anda. Operasi ini dilakukan secara online dan biasanya tidak mengganggu koneksi atau kueri yang ada. Penyebaran mungkin perlu waktu beberapa menit. Anda dapat memantau kemajuan di pemberitahuan portal. Setelah selesai, jumlah node kluster Anda mencerminkan nilai baru.

Nota

Anda harus secara eksplisit mengaktifkan proses penyeimbangan ulang shard untuk memungkinkan redistribusi data yang ada ke semua simpul Anda. Operasi ini tidak melibatkan waktu henti untuk baca dan tulis.

Penyeimbangan Kembali

Setelah menambahkan simpul ke kluster Anda, setiap modifikasi data baru atau tabel terdistribusi yang baru ditambahkan menggunakan semua simpul yang tersedia. Shard data yang ada tetap berada di tempatnya hingga didistribusikan ulang. Penyeimbangan ulang online memastikan bahwa pembacaan dan penulisan dari aplikasi berlanjut dengan gangguan yang minimal saat data sedang dipindahkan.

Saat Anda menskalakan kluster elastis, menyeimbangkan ulang kluster Anda memastikan bahwa data yang ada sepenuhnya didistribusikan dan database Anda menggunakan semua simpul yang tersedia. Gunakan fungsi citus_rebalance_start untuk memulai proses penyeimbangan ulang. Operasi ini mendistribusikan data yang ada secara merata di semua simpul.

SELECT citus_rebalance_start();

Penyeimbangan ulang paralel

Operasi penyeimbangan ulang default melakukan beberapa pemindahan shard dalam urutan berurutan. Dalam beberapa kasus, Anda mungkin lebih suka menyeimbangkan kembali lebih cepat dengan mengorbankan lebih banyak sumber daya seperti komputasi, memori, dan bandwidth jaringan. Dalam situasi tersebut, Anda dapat mengonfigurasi operasi penyeimbangan ulang untuk melakukan banyak gerakan shard secara paralel.

Parameter citus.max_background_task_executors_per_node memungkinkan tugas seperti penyeimbangan ulang shard beroperasi secara paralel. Anda dapat meningkatkan nilai default (1) sesuai keinginan untuk meningkatkan paralelisme.

ALTER SYSTEM SET citus.max_background_task_executors_per_node = 2;
SELECT pg_reload_conf();

Selain itu, Anda dapat mengonfigurasi fungsi citus_rebalance_start untuk menyeimbangkan kembali pecahan sesuai dengan strategi yang berbeda agar paling sesuai dengan beban kerja database Anda. Sekarang setelah Anda menambahkan pelaksana tugas latar belakang tambahan, berikut adalah contoh penyeimbangan ulang pecahan dengan menggunakan pekerja paralel:

SELECT citus_rebalance_start(parallel_transfer_colocated_shards := true, parallel_transfer_reference_tables := true);

Pertimbangan

Pantau kluster Anda setelah penskalaan: Periksa pemanfaatan CPU, penggunaan memori, dan konsumsi IO pada bagan Pemantauan portal Microsoft Azure untuk kluster elastis Anda. Setelah operasi peluasan skala, verifikasi bahwa penambahan node mencerminkan peningkatan dalam metrik throughput dan waktu respons, tergantung pada beban kerja Anda. Sesuaikan lebih lanjut jika perlu.

Penskalaan kluster elastis memengaruhi biaya secara linier dengan sumber daya. Menambahkan simpul mengalikan biaya komputasi dan penyimpanan dengan jumlah simpul. Misalnya, kluster empat node dengan dua vCore masing-masing biayanya sekitar empat kali lipat dari biaya server dua vCore tunggal, karena Anda menjalankan empat server. Selalu tinjau dampak harga di portal. Estimasi Biaya diperbarui di portal Microsoft Azure saat Anda mengubah konfigurasi sebelum menyimpan untuk memastikannya memenuhi anggaran Anda.

Ketersediaan tinggi: Jika kluster Anda mengaktifkan ketersediaan tinggi dengan redundansi zona, operasi penskalaan juga menyediakan sumber daya cadangan untuk simpul baru. Layanan Azure menangani ini secara otomatis. Perkirakan proses scale-out memakan waktu sedikit lebih lama karena menyiapkan replika HA untuk setiap simpul yang ditambahkan. Karakteristik proses dan waktu henti tetap hampir sama, dikalikan untuk pasangan primer dan siaga.

Replika baca: Jika kluster Anda dikonfigurasi untuk menggunakan replika baca, Anda harus mengikuti urutan operasi tertentu saat menambahkan simpul ke kluster Anda. Pertama, tambahkan jumlah simpul ke kluster utama Anda dan simpan perubahan Anda. Setelah berhasil diselesaikan, buat perubahan yang sesuai ke lingkungan replika baca Anda dan simpan perubahan. Simpul baru Anda pada kluster utama Anda tidak akan memenuhi syarat untuk operasi kluster sampai baik lingkungan replika utama maupun replika baca diperbarui dan disinkronkan.

Nota

Kemampuan untuk menghapus node dari kluster elastis (scale-in) belum tersedia.

Dengan menggunakan teknik penskalaan sebelumnya, kluster elastis Azure Database for PostgreSQL memberi Anda fleksibilitas untuk memulai dari yang kecil dan menumbuhkan database Anda dengan mulus saat permintaan meningkat. Anda mendapatkan kesederhanaan satu titik akhir dengan kekuatan infrastruktur Postgres terdistribusi. Terus pantau dokumentasi Azure untuk pembaruan terbaru tentang fitur Kluster Elastis dan praktik terbaik untuk penskalaan.