Rekomendasi ukuran dan deployment

Dokumen ini memberikan rekomendasi workload dan deployment untuk menentukan ukuran instance AlloyDB untuk PostgreSQL untuk workload pemrosesan transaksi online (OLTP) dan pemrosesan analisis online (OLAP).

Ringkasan

Untuk membantu Anda mencapai performa database yang lebih baik, AlloyDB untuk PostgreSQL menyediakan fitur bawaan berikut:

  • Pengelolaan memori otomatis
  • Autovacuum adaptif
  • Setelan performa bawaan yang dioptimalkan
  • Jeda replikasi rendah
  • Pemeliharaan tanpa gangguan dengan periode nonaktif kurang dari satu detik untuk node primer dan tanpa periode nonaktif untuk node kumpulan baca selama operasi penskalaan

Menyesuaikan instance AlloyDB untuk PostgreSQL untuk performa mencakup pengelolaan hal berikut:

  • Menentukan ukuran instance kumpulan utama dan baca dengan benar
  • Memperbarui flag yang memengaruhi performa

Pertimbangan ukuran

Sebelum menentukan ukuran instance AlloyDB untuk PostgreSQL, tentukan hal berikut:

  • Jenis beban kerja: OLTP, OLAP, atau HTAP
  • Persyaratan performa: persyaratan latensi dan throughput
  • Ukuran data yang diharapkan: ukuran data yang ingin Anda simpan di AlloyDB untuk PostgreSQL, dan ukuran set data aktif
  • Skala beban kerja Anda: peningkatan atau pertumbuhan ukuran data dari waktu ke waktu

Beban kerja OLTP

Anda dapat men-deploy database AlloyDB untuk PostgreSQL sebagai instance zonal (node tunggal) atau sebagai instance yang sangat tersedia (dua node di setiap zona). Secara opsional, Anda juga dapat menambahkan instance kumpulan baca dan cluster sekunder di region lain untuk beban kerja yang didistribusikan secara geografis atau untuk pemulihan dari bencana (DR).

AlloyDB untuk PostgreSQL di-deploy menggunakan arsitektur terdistribusi skala cloud dengan komputasi dan penyimpanan yang terdisagregasi. Operasi tulis akan diakui segera setelah file log write-ahead (WAL) dipertahankan di penyimpanan regional, sementara materialisasi blok di-offload ke penyimpanan.

Demikian pula, dengan arsitektur cache multi-tingkat, data otomatis ditempatkan di antara cache buffer, cache ultra-cepat, dan mesin penyimpanan cerdas. Karena arsitektur cache multi-level yang digunakan di AlloyDB untuk PostgreSQL, operasi input dan output per detik (IOP) tidak relevan dalam konteks AlloyDB untuk PostgreSQL untuk dibandingkan dengan sistem database lainnya.

Namun, penggunaan transaksi per detik (TPS)/transaksi per menit (TPM) dapat memberikan perbandingan yang bermakna untuk memahami jumlah data yang dapat ditangani oleh AlloyDB untuk PostgreSQL.

Metrik ukuran utama adalah TPS. Untuk memperkirakan ukuran AlloyDB untuk PostgreSQL yang diperlukan, ikuti langkah-langkah berikut:

  1. Identifikasi workload yang ada. Jika Anda bermigrasi dari PostgreSQL yang dikelola sendiri atau dari database komersial lainnya, Anda mungkin sudah memiliki nilai TPS untuk workload yang ada.
  2. Analisis kueri Anda. Identifikasi kueri yang paling penting dalam workload Anda dan tentukan persyaratan performanya.
  3. Gunakan alat seperti HammerDB atau pgbench. Alat ini membantu menjalankan benchmark AlloyDB untuk PostgreSQL dan menentukan apakah ukuran mesin memenuhi persyaratan TPS Anda.
  4. Gunakan Panduan Benchmarking OLTP AlloyDB untuk PostgreSQL. Panduan ini memberikan data performa untuk berbagai konfigurasi AlloyDB untuk PostgreSQL, guna menemukan konfigurasi yang memenuhi persyaratan TPS Anda.
  5. Pilih ukuran AlloyDB untuk PostgreSQL yang sesuai. Pertimbangkan ukuran data Anda saat ini dan ekspektasi pertumbuhan di masa mendatang.

Panduan ukuran mesin

Tabel contoh berikut menunjukkan rekomendasi untuk data dengan benchmark TPC-C yang memiliki rasio baca-tulis sekitar 65% baca dan 35% tulis. Saat menentukan ukuran instance AlloyDB untuk PostgreSQL, Anda harus menargetkan penggunaan CPU status stabil sekitar 60-70% untuk menghindari overhead penjadwalan sistem operasi. Hal ini memungkinkan beberapa margin untuk lonjakan penggunaan resource oleh aplikasi klien.

vCPU/Mem Rentang Transaksi/detik
yang Direkomendasikan (30% di-cache)
Ukuran data
kerja yang direkomendasikan (hingga total ukuran 128 TB)
max_connections yang direkomendasikan
2 / 16GB Hingga 1.000 Hingga 100 GB 1000
4 / 32GB Hingga 2.500 Hingga 250 GB 2000
8/ 64GB Hingga 4.000 Hingga 500 GB 4000
16 / 128GB Hingga 8.000 Hingga 1 TB 5000
32 / 256GB Hingga 14.000 Hingga 3 TB 5000
64 / 512GB Hingga 20.000 Hingga 8 TB 5000
96 / 768GB Hingga 25.000 Hingga 16 TB 5000
128 / 864GB Lebih dari 20.000 Hingga 32 TB 5000

Jenis deployment

Berdasarkan beban kerja, Anda dapat men-deploy AlloyDB untuk PostgreSQL sebagai instance utama saja atau utama dengan instance kumpulan baca.

Hanya utama

Pilih deployment khusus utama untuk workload berikut:

  • Banyak operasi tulis dengan operasi baca rendah-sedang
  • Kueri yang banyak membaca dengan operasi tulis ringan
  • Operasi baca-tulis OLTP standar.(60-70% operasi baca, 30-40% operasi tulis).

Untuk mengetahui informasi selengkapnya tentang jenis mesin, lihat Panduan ukuran mesin umum.

Utama dengan instance kumpulan operasi baca

Jika Anda memilih untuk men-deploy instance utama dengan instance kumpulan baca, pertimbangkan hal berikut:

  • Jika Anda memiliki operasi baca yang sensitif terhadap latensi, pertimbangkan untuk memindahkan kueri baca ke instance kumpulan baca yang menawarkan jeda replika 25 kali lebih rendah dibandingkan dengan PostgreSQL standar. Anda dapat mengonfigurasi hingga 20 node di semua instance kumpulan baca.
  • Konfigurasikan beberapa instance kumpulan operasi baca, jika Anda memiliki lebih dari satu database—misalnya, CRM atau Keuangan di instance yang sama. Menggunakan strategi ini akan membantu performa kueri dan penyimpanan dalam cache yang efektif.
  • Anda dapat menentukan ukuran instance utama dan kumpulan baca secara berbeda berdasarkan persyaratan Anda. Untuk informasi selengkapnya tentang praktik terbaik untuk instance kumpulan operasi baca, lihat Praktik terbaik untuk meningkatkan performa dan ketersediaan AlloyDB.
  • Tambahkan lebih dari satu node per instance kumpulan operasi baca untuk ketersediaan tinggi.
  • Mengaktifkan mesin kolom secara selektif di instance kumpulan baca tertentu untuk performa kueri baca. Hal ini tidak memerlukan pengaktifan mesin kolom di instance utama.

Pertimbangkan untuk menggunakan fitur bawaan seperti penasihat indeks untuk membantu Anda menambahkan indeks yang dapat meningkatkan performa kueri.

Workload OLAP

Untuk beban kerja OLAP, metrik pengukuran utama adalah performa kueri, terutama kueri yang memerlukan pemindaian atau agregasi tabel penuh. AlloyDB untuk PostgreSQL menyertakan mesin kolom bawaan yang membantu mempercepat kueri analisis. Mengaktifkan mesin kolom secara default akan menggunakan 30% memori dan otomatis menggunakan data cache yang sangat cepat.

Untuk informasi selengkapnya tentang cara mengukur performa OLAP dengan AlloyDB untuk PostgreSQL menggunakan workload TPC-H, lihat Panduan Benchmarking OLAP AlloyDB untuk PostgreSQL.

Jenis deployment

Berdasarkan beban kerja, Anda dapat men-deploy AlloyDB untuk PostgreSQL sebagai instance utama saja atau utama dengan instance kumpulan baca.

Hanya utama

Jika Anda men-deploy instance khusus utama, pertimbangkan hal berikut:

  • Gunakan deployment ini untuk transaksi dengan kueri analisis (HTAP).
  • Mengaktifkan mesin berbasis kolom untuk membantu kueri OLAP.
  • Pertimbangkan untuk men-deploy dengan mesin 16 vCPU atau lebih besar yang menyediakan lebih banyak memori untuk menyimpan data kolom.

Primer dengan kumpulan operasi baca

Jika Anda men-deploy instance utama dengan instance pool baca, pertimbangkan hal berikut:

  • Jika Anda memiliki operasi tulis yang berat dan juga operasi baca analisis yang sensitif terhadap latensi dengan persyaratan jeda rendah, deploy instance utama dengan HA diaktifkan, dan dengan instance kumpulan baca.
  • Aktifkan mesin berbasis kolom di instance kumpulan operasi baca tempat Anda menjalankan kueri analitik.
  • Konfigurasikan beberapa instance kumpulan operasi baca, jika Anda memiliki lebih dari satu database—misalnya, CRM atau Keuangan di instance yang sama. Menggunakan strategi ini akan membantu performa kueri dan penyimpanan dalam cache yang efektif.
  • Anda dapat menentukan ukuran instance utama dan kumpulan baca secara berbeda berdasarkan persyaratan Anda. Untuk informasi selengkapnya tentang praktik terbaik untuk instance kumpulan operasi baca, lihat Praktik terbaik untuk meningkatkan performa dan ketersediaan AlloyDB.
  • Tambahkan lebih dari satu node per instance kumpulan operasi baca untuk ketersediaan tinggi.
  • Mengaktifkan mesin kolom secara selektif di instance kumpulan baca tertentu untuk performa kueri baca. Hal ini tidak memerlukan pengaktifan mesin kolom di instance utama.

Langkah selanjutnya