Saat kebutuhan bisnis Anda berubah, Anda dapat menyesuaikan konfigurasi dan skala kluster ApsaraDB for ClickHouse Community-Compatible Edition. ApsaraDB for ClickHouse mendukung operasi skalabilitas vertikal, skala keluar, dan skala masuk untuk membantu Anda mencapai keseimbangan optimal antara biaya dan kinerja.
Ikhtisar skalabilitas vertikal naik/turun, skala keluar, dan skala masuk
Skalabilitas vertikal naik atau turun lebih cepat dan memiliki dampak bisnis yang lebih kecil dibandingkan skala keluar atau masuk. Oleh karena itu, jika kinerja kluster Anda tidak memenuhi kebutuhan bisnis, pertimbangkan terlebih dahulu untuk melakukan skalabilitas vertikal naik atau turun.
Jenis Perubahan | Skenario | Prinsip | Dampak | Operasi |
Skalabilitas vertikal naik/turun | Tingkatkan atau kurangi sumber daya setiap node saat sumber daya CPU, memori, atau disk tidak mencukupi atau berlebihan. | Tingkatkan atau kurangi spesifikasi node, ruang penyimpanan, dan spesifikasi ZooKeeper kluster Community-Compatible Edition. Hal ini meningkatkan daya komputasi, kapasitas penyimpanan, dan kemampuan koordinasi terdistribusi kluster. Catatan Anda tidak dapat mengurangi ruang penyimpanan. Solusi untuk mengurangi ruang penyimpanan adalah sebagai berikut:
| Memutakhirkan kelas penyimpanan atau menambah ruang penyimpanan kluster Community-Compatible Edition tidak memengaruhi instans (hanya untuk instans yang dibuat setelah 1 Desember 2021). Namun, mengubah spesifikasi kluster atau spesifikasi ZooKeeper akan me-restart kluster. Penting
| |
Scale out |
Penting Jangan gunakan skala keluar sederhana untuk kluster yang berisi tabel dengan mesin tabel seperti ReplacingMergeTree, CollapsingMergeTree, atau VersionedCollapsingMergeTree. Data dalam jenis tabel ini hanya dapat digabungkan (merge) pada node yang sama. Skala keluar sederhana menyebarkan data yang perlu digabungkan ke berbagai node berbeda, sehingga data tersebut tidak dapat digabungkan. | Skala keluar dengan migrasi: Menambah jumlah node dalam kluster Community-Compatible Edition untuk memperluas daya komputasi secara horizontal. Operasi ini juga melakukan migrasi dan redistribusi data historis yang ada. Skala keluar sederhana: Menambah jumlah node dalam kluster Community-Compatible Edition untuk memperluas daya komputasi secara horizontal. Data ditulis langsung ke tabel lokal, dan penyeimbangan data antar node tidak diperlukan sebelum dan sesudah skala keluar. |
| |
Skala masuk |
| Mengurangi jumlah node dalam kluster Community-Compatible Edition untuk menurunkan biaya. |
|
Prasyarat
Kluster merupakan kluster Community-Compatible Edition.
Kluster berstatus Running.
Kluster tidak memiliki pesanan perpanjangan yang belum dibayar.
CatatanLogin ke Konsol ApsaraDB for ClickHouse. Di pojok kanan atas halaman, pilih Billing > Expenses and Costs. Di panel navigasi sebelah kiri, klik Order Management. Anda kemudian dapat membayar atau membatalkan pesanan tersebut.
Perhatian
Skalabilitas vertikal: Hanya kluster ApsaraDB for ClickHouse Community-Compatible Edition yang dibuat setelah 1 Desember 2021 yang mendukung perubahan spesifikasi ZooKeeper. Untuk harga spesifikasi ZooKeeper, lihat Harga spesifikasi ZooKeeper untuk Community-Compatible Edition.
Skala keluar/Skala masuk:
Setelah kluster dengan tabel mesin MergeTree diperluas, data historis yang ada dimigrasikan ke kluster baru dan didistribusikan ulang secara otomatis.
Item berikut didukung untuk migrasi:
Database, kamus data, dan tampilan yang di-materialisasi.
Skema tabel: Semua skema tabel kecuali tabel yang menggunakan mesin Kafka atau RabbitMQ.
Data: Migrasi inkremental data dari tabel keluarga MergeTree.
Item berikut tidak didukung untuk migrasi:
Tabel yang menggunakan mesin Kafka atau RabbitMQ beserta datanya.
PentingSaat Anda mengubah konfigurasi, data dimigrasikan ke instans baru, lalu lalu lintas dialihkan ke instans baru tersebut. Untuk memastikan data Kafka dan RabbitMQ tidak terpecah, hapus terlebih dahulu tabel mesin Kafka dan RabbitMQ dari kluster sumber. Setelah perubahan selesai, buat ulang tabel tersebut.
Data dari tabel yang bukan tipe MergeTree, seperti tabel eksternal dan tabel Log.
PentingSelama operasi skala keluar atau skala masuk, Anda harus menangani item yang tidak didukung secara manual sesuai prosedur yang ditentukan.
Selama operasi skala keluar atau skala masuk, jangan lakukan operasi Data Definition Language (DDL). Jika tidak, verifikasi data mungkin gagal, sehingga menyebabkan seluruh operasi gagal.
Setelah operasi skala keluar, alamat IP node internal berubah. Jika aplikasi Anda bergantung pada alamat IP node untuk menulis dan mengakses data, Anda harus mengambil kembali blok CIDR VPC kluster tersebut. Untuk informasi lebih lanjut, lihat Dapatkan blok CIDR VPC kluster.
Hanya kluster yang menggunakan disk lokal yang mendukung skala-masuk dengan menentukan node. Dalam mode ini, data pada node yang di-offline akan hilang. Dalam mode skala-masuk standar, data tidak hilang tetapi didistribusikan ulang.
Setelah Anda mengubah konfigurasi kluster, operasi merge frekuensi tinggi terjadi selama periode tertentu. Operasi ini meningkatkan penggunaan I/O dan dapat menyebabkan peningkatan latensi permintaan bisnis. Anda harus merencanakan potensi dampak dari peningkatan latensi ini. Untuk informasi tentang cara menghitung durasi operasi merge, lihat Hitung durasi merge setelah migrasi.
Selama perubahan konfigurasi kluster, Penggunaan memori dan CPU kluster meningkat. Estimasi penggunaan sumber daya per node kurang dari 5 core dan 20 GB memori.
Biaya
Mengubah konfigurasi kluster juga mengubah biayanya. Biaya aktual ditampilkan di konsol. Untuk informasi lebih lanjut, lihat Penagihan untuk perubahan konfigurasi.
Skalabilitas vertikal naik dan turun
Login ke Konsol ApsaraDB for ClickHouse.
Di pojok kiri atas halaman, pilih wilayah tempat kluster berada.
Di halaman Clusters, klik tab Community-Compatible Edition Instances.
Untuk Cluster ID yang dituju, klik Change Configuration di kolom Actions.
Di kotak dialog Change Configuration, pilih Scale Up atau Scale Down, lalu klik OK.
Di halaman Upgrade atau Downgrade, pilih konfigurasi yang diinginkan.
CatatanAnda tidak dapat mengubah Specifications selama proses Upgrade Storage Space atau Storage Class.
Secara default, kluster disediakan dengan layanan ZooKeeper yang memiliki 4 core dan 8 GB memori. Di halaman Monitoring and Alerts, Anda dapat melihat metrik ZooKeeper di panel Cluster Monitoring untuk memeriksa adanya bottleneck sumber daya. Jika spesifikasi default tidak mencukupi untuk kebutuhan bisnis Anda, segera lakukan peningkatan layanan tersebut.
Klik Buy Now dan selesaikan proses pembayaran.
Di halaman Payment Complete, klik Management Console.
Anda dapat melihat status kluster yang dituju di kolom Status pada daftar Community-Compatible Edition Instances.
CatatanPerubahan Storage Space diterapkan segera, dan status kluster menjadi Running.
Setelah Anda mengubah Specifications dan ZooKeeper Specifications, operasi skalabilitas vertikal atau skala turun memerlukan waktu sekitar 10 hingga 15 menit. Operasi dianggap selesai ketika status Kluster berubah dari Upgrading/Downgrading menjadi Running.
Skala keluar dan skala masuk
Langkah 1: Tangani tabel dengan mesin Kafka dan RabbitMQ
Migrasi tidak didukung untuk tabel yang menggunakan mesin Kafka atau RabbitMQ. Anda harus menangani tabel-tabel ini secara manual.
Login ke kluster dan jalankan pernyataan berikut untuk mencari tabel yang perlu ditangani. Untuk informasi lebih lanjut, lihat Hubungkan ke kluster ClickHouse menggunakan DMS.
SELECT * FROM `system`.`tables` WHERE engine IN ('RabbitMQ', 'Kafka');Lihat dan cadangkan pernyataan `CREATE TABLE` untuk setiap tabel yang dituju.
SHOW CREATE TABLE <aim_table_name>;Hapus tabel yang menggunakan mesin Kafka dan RabbitMQ.
PentingSaat Anda menghapus tabel Kafka, Anda juga harus menghapus tampilan yang di-materialisasi yang mereferensinya. Jika tidak, operasi skala keluar atau skala masuk akan gagal.
Langkah 2: Cadangkan data bisnis dari tabel non-MergeTree
Login ke kluster dan jalankan pernyataan berikut untuk mengidentifikasi tabel non-MergeTree yang datanya perlu dimigrasikan.
SELECT `database` AS database_name, `name` AS table_name, `engine` FROM `system`.`tables` WHERE (`engine` NOT LIKE '%MergeTree%') AND (`engine` != 'Distributed') AND (`engine` != 'MaterializedView') AND (`engine` NOT IN ('Kafka', 'RabbitMQ')) AND (`database` NOT IN ('system', 'INFORMATION_SCHEMA', 'information_schema')) AND (`database` NOT IN ( SELECT `name` FROM `system`.`databases` WHERE `engine` IN ('MySQL', 'MaterializedMySQL', 'MaterializeMySQL', 'Lazy', 'PostgreSQL', 'MaterializedPostgreSQL', 'SQLite') ))Cadangkan data tersebut.
Anda harus mencadangkan data dari tabel non-MergeTree yang telah Anda identifikasi. Untuk informasi lebih lanjut, lihat Cadangkan data ke OSS.
Langkah 3: Lakukan operasi skala keluar atau skala masuk di konsol
Login ke Konsol ApsaraDB for ClickHouse.
Di pojok kiri atas halaman, pilih wilayah tempat kluster berada.
Di halaman Clusters, pilih tab Community-Compatible Edition Instances.
Untuk Cluster ID yang dituju, klik Change Configuration di kolom Actions.
Di kotak dialog Change Configuration, pilih Scale Out atau Scale In dan klik OK.
Di jendela pemeriksaan skala keluar atau skala masuk, lihat status pemeriksaan.
CatatanSaat Anda membuka jendela Scale Out, metode Scale-out With Migration dipilih secara default. Untuk memilih Simple Scale-out, klik Previous. Di kotak dialog Scale-out Selection, pilih Simple Scale-out, klik Next, lalu lanjutkan ke halaman Upgrade.
Jika pemeriksaan berhasil, klik Next.
Jika pemeriksaan gagal, lakukan perubahan sesuai petunjuk di halaman dan klik Retry Check. Setelah pemeriksaan berhasil, klik Next.
Alasan utama kegagalan pemeriksaan selama operasi skala keluar adalah sebagai berikut.
Tabel terdistribusi unik tidak ditemukan: Tabel lokal tidak memiliki tabel terdistribusi yang sesuai. Anda perlu membuatnya.
Tabel terdistribusi yang sesuai tidak unik: Tabel lokal memiliki lebih dari satu tabel terdistribusi. Hapus tabel terdistribusi tambahan dan simpan hanya satu.
Tabel mesin Kafka/RabbitMQ tidak didukung: Tabel mesin Kafka atau RabbitMQ masih ada. Hapus tabel tersebut.
Instans primer-replika memiliki tabel
*MergeTreenon-replikasi: Data tidak konsisten antar replika. Hal ini akan menyebabkan pengecualian selama migrasi data untuk operasi skala keluar atau skala masuk.Kolom tabel terdistribusi dan tabel lokal tidak konsisten: Anda harus memastikan bahwa kolom tabel terdistribusi dan tabel lokal konsisten. Jika tidak, pengecualian akan terjadi selama migrasi data untuk operasi skala keluar atau skala masuk.
Tabel tidak ada di beberapa node: Anda perlu membuat tabel dengan nama yang sama di shard berbeda. Untuk tabel internal tampilan yang di-materialisasi, ganti nama tabel internal tersebut lalu bangun ulang tampilan yang di-materialisasi agar mengarah ke tabel internal yang telah diganti namanya. Untuk informasi lebih lanjut, lihat Tabel internal tampilan yang di-materialisasi tidak konsisten di seluruh shard.
Di halaman Upgrade atau Downgrade, Anda dapat mengonfigurasi Number Of Server Nodes dan waktu penangguhan tulis sesuai kebutuhan Anda.
CatatanSkala masuk atau keluar kluster melibatkan migrasi data. Untuk memastikan migrasi berhasil, waktu penangguhan tulis harus memenuhi persyaratan berikut:
Tetapkan waktu penangguhan tulis minimal 30 menit.
Operasi skala keluar atau skala masuk harus diselesaikan dalam waktu 5 hari setelah perubahan konfigurasi dibuat. Oleh karena itu, tanggal akhir Write Suspension Time untuk kluster sumber harus kurang dari atau sama dengan
Current Date + 5.Untuk mengurangi dampak operasi terhadap bisnis Anda, tetapkan waktu penangguhan tulis pada periode di luar jam sibuk.
Klik Buy Now dan ikuti petunjuk untuk menyelesaikan pembayaran.
Di halaman Purchase Complete , klik Management Console.
Di kolom Status pada daftar Community-Compatible Edition Instances, Anda dapat memeriksa status kluster yang dituju. Operasi skala keluar atau skala masuk selesai ketika status kluster berubah dari Scaling menjadi Running.
Operasi skala keluar atau skala masuk diperkirakan memakan waktu lebih dari 30 menit. Durasi pastinya bergantung pada jumlah data. Status kluster yang ditampilkan di konsol mencerminkan status eksekusi tugas aktual.
Langkah 4: Buat ulang tabel dengan mesin Kafka dan RabbitMQ
Login ke kluster dan eksekusi pernyataan `CREATE TABLE` yang telah Anda cadangkan di Langkah 1: Tangani tabel dengan mesin Kafka dan RabbitMQ. Untuk informasi lebih lanjut, lihat Hubungkan ke kluster ClickHouse menggunakan DMS.
Langkah 5: Migrasikan data bisnis dari tabel non-MergeTree
Login ke kluster dan gunakan OSS untuk migrasikan data yang telah dicadangkan di Langkah 2: Cadangkan data bisnis dari tabel non-MergeTree. Untuk informasi lebih lanjut, lihat Impor data dari OSS.