Mengoptimalkan biaya: Database dan analisis smart

Last reviewed 2023-06-26 UTC

Dokumen di Framework Arsitektur Google Cloud ini memberikan rekomendasi untuk membantu Anda mengoptimalkan biaya database dan workload analisis di Google Cloud.

Panduan di bagian ini ditujukan untuk arsitek, developer, dan administrator yang bertanggung jawab untuk penyediaan dan pengelolaan database serta workload analisis di cloud.

Bagian ini mencakup rekomendasi pengoptimalan biaya untuk produk berikut:

Cloud SQL

Cloud SQL adalah database relasional yang terkelola sepenuhnya untuk MySQL, PostgreSQL, dan SQL Server.

Memantau penggunaan

Tinjau metrik di dasbor pemantauan, dan validasikan bahwa deployment memenuhi persyaratan workload Anda.

Mengoptimalkan sumber daya

Berikut ini beberapa rekomendasi untuk membantu Anda mengoptimalkan resource Cloud SQL:

  • Desain strategi dengan ketersediaan tinggi dan pemulihan dari bencana yang selaras dengan batas waktu pemulihan (RTO) dan toleransi durasi kehilangan data (RPO) Anda. Bergantung pada workload Anda, sebaiknya lakukan tindakan berikut:
  • Menyediakan database dengan kapasitas penyimpanan minimum yang diperlukan.
  • Untuk menskalakan kapasitas penyimpanan secara otomatis seiring pertumbuhan data Anda, aktifkan fitur peningkatan penyimpanan otomatis.
  • Pilih jenis penyimpanan, solid-state drive (SSD) atau hard disk drive (HDD), yang sesuai untuk kasus penggunaan Anda. SSD adalah pilihan paling efisien dan hemat biaya untuk sebagian besar kasus penggunaan. HDD mungkin cocok untuk set data besar (>10 TB) yang tidak sensitif terhadap latensi atau jarang diakses.

Mengoptimalkan tarif

Pertimbangkan untuk membeli diskon abonemen untuk workload dengan kebutuhan resource yang dapat diprediksi. Anda dapat menghemat 25% dari harga on demand untuk komitmen 1 tahun dan 52% untuk komitmen 3 tahun.

Spanner

Spanner adalah database berbasis cloud dengan skala tidak terbatas dan konsistensi kuat yang menawarkan ketersediaan hingga 99,999%.

Memantau penggunaan

Berikut adalah rekomendasi untuk membantu Anda melacak penggunaan resource Spanner:

  • Pantau deployment Anda, dan konfigurasikan jumlah node berdasarkan rekomendasi CPU.
  • Tetapkan pemberitahuan tentang deployment Anda untuk mengoptimalkan resource penyimpanan. Untuk menentukan konfigurasi yang sesuai, lihat batas per node yang direkomendasikan.

Mengoptimalkan sumber daya

Berikut adalah rekomendasi untuk membantu Anda mengoptimalkan resource Spanner:

  • Menjalankan workload yang lebih kecil di Spanner dengan biaya yang jauh lebih rendah dengan menyediakan resource menggunakan Unit Pemrosesan (PU) dibandingkan node; satu node Spanner sama dengan 1.000 PU.
  • Tingkatkan performa eksekusi kueri dengan menggunakan pengoptimal kueri.
  • Buat Pernyataan SQL menggunakan praktik terbaik untuk membuat rencana eksekusi yang efisien.
  • Kelola penggunaan dan performa deployment Spanner menggunakan alat Autoscaler. Alat ini memantau instance, menambahkan atau menghapus node secara otomatis, dan membantu Anda memastikan bahwa instance tetap berada dalam batas CPU dan penyimpanan yang direkomendasikan.
  • Lindungi dari penghapusan atau penulisan yang tidak disengaja: pemulihan point-in-time (PITR). Database dengan periode retensi data yang lebih lama (terutama database yang sering menimpa data) menggunakan lebih banyak resource sistem dan memerlukan lebih banyak node.
  • Tinjau strategi pencadangan Anda, dan pilih di antara opsi berikut:
    • Pencadangan dan pemulihan
    • Mengekspor dan mengimpor

Mengoptimalkan tarif

Saat memutuskan lokasi node Spanner Anda, pertimbangkan perbedaan biaya antara region Google Cloud. Misalnya, node yang di-deploy di region us-central1 memiliki biaya per jam yang jauh lebih rendah dibandingkan node di region southamerica-east1.

Bigtable

Bigtable adalah penyimpanan NoSQL kolom lebar dan berbasis cloud untuk workload berlatensi rendah dan berskala besar.

Memantau penggunaan

Berikut adalah rekomendasi untuk membantu Anda melacak penggunaan resource Bigtable:

  • Analisis metrik penggunaan untuk mengidentifikasi peluang pengoptimalan resource.
  • Identifikasi hotspot dan hotkey di cluster Bigtable Anda dengan menggunakan alat diagnostik Key Visualizer.

Mengoptimalkan sumber daya

Berikut adalah rekomendasi untuk membantu Anda mengoptimalkan resource Bigtable:

  • Untuk membantu memastikan penggunaan CPU dan disk yang menyeimbangkan latensi dan kapasitas penyimpanan, evaluasi dan sesuaikan jumlah node dan ukuran cluster Bigtable Anda.
  • Pertahankan performa serendah mungkin dengan menskalakan secara terprogram cluster Bigtable Anda untuk menyesuaikan jumlah node secara otomatis.
  • Evaluasi jenis penyimpanan (HDD atau SSD) yang paling hemat biaya untuk kasus penggunaan Anda, berdasarkan pertimbangan berikut:

    • Harga penyimpanan HDD lebih murah daripada SSD, tetapi performanya lebih rendah.
    • Harga penyimpanan SSD lebih mahal daripada HDD, tetapi memberikan performa yang lebih cepat dan dapat diprediksi.

    Penghematan biaya dari HDD minimal, relatif terhadap biaya node di cluster Bigtable Anda, kecuali jika Anda menyimpan data dalam jumlah besar. Penyimpanan HDD terkadang sesuai untuk set data besar (>10 TB) yang tidak sensitif terhadap latensi atau jarang diakses.

  • Menghapus data yang telah habis masa berlakunya dan tidak digunakan lagi menggunakan pembersihan sampah memori.

  • Untuk menghindari hotspot, terapkan praktik terbaik untuk desain row key.

  • Desain rencana pencadangan hemat biaya yang sesuai dengan RPO Anda.

  • Untuk menurunkan penggunaan cluster dan mengurangi jumlah node, pertimbangkan untuk menambahkan cache kapasitas untuk kueri yang dapat di-cache menggunakan Memorystore.

Bacaan tambahan

BigQuery

BigQuery adalah data warehouse multicloud serverless, sangat skalabel, dan hemat biaya yang dirancang untuk fleksibilitas bisnis.

Memantau penggunaan

Berikut adalah rekomendasi untuk membantu Anda melacak penggunaan resource BigQuery:

  • Visualisasikan biaya BigQuery yang disegmentasi berdasarkan project dan pengguna. Identifikasi kueri yang paling mahal dan mengoptimalkannya.
  • Analisis penggunaan slot di seluruh project, tugas, dan reservasi menggunakan tabel metadata INFORMATION_SCHEMA.

Mengoptimalkan sumber daya

Berikut adalah rekomendasi untuk membantu Anda mengoptimalkan resource BigQuery:

  • Siapkan masa berlaku tingkat set data, tingkat tabel, atau tingkat partisi untuk data berdasarkan strategi kepatuhan Anda.
  • Batasi biaya kueri dengan membatasi jumlah byte yang ditagih per kueri. Untuk mencegah error manusia yang tidak disengaja, aktifkan kontrol biaya di level pengguna dan level project.
  • Hanya kueri data yang Anda butuhkan. Hindari pemindaian kueri penuh. Untuk menjelajahi dan memahami semantik data, gunakan opsi pratinjau data tanpa biaya.
  • Untuk mengurangi biaya pemrosesan dan meningkatkan performa, lakukan partisi dan cluster tabel Anda bila memungkinkan.
  • Filter kueri Anda sedini dan sesering mungkin.
  • Saat memproses data dari berbagai sumber (seperti Bigtable, Cloud Storage, Google Drive, dan Cloud SQL), hindari duplikasi data, dengan menggunakan model data akses gabungan dan mengkueri data langsung dari sumbernya.
  • Manfaatkan Cadangan BigQuery daripada menduplikasi data. Lihat Skenario pemulihan dari bencana (disaster recovery) untuk data.

Mengoptimalkan tarif

Berikut adalah rekomendasi untuk membantu Anda mengurangi tarif penagihan untuk resource BigQuery:

  • Evaluasi cara Anda mengedit data, dan manfaatkan harga penyimpanan jangka panjang yang lebih rendah.
  • Tinjau perbedaan antara pricing tarif tetap dan on-demand, lalu pilih opsi yang sesuai dengan kebutuhan Anda.
  • Pertimbangkan apakah Anda dapat menggunakan pemuatan batch, bukan streaming insert, untuk alur kerja data Anda. Gunakan streaming insert jika data yang dimuat ke BigQuery langsung dipakai.
  • Untuk meningkatkan performa dan mengurangi biaya pengambilan data, gunakan hasil kueri yang disimpan dalam cache.

Bacaan tambahan

Dataflow

Dataflow adalah layanan serverless yang cepat dan hemat biaya untuk pemrosesan data batch dan streaming terpadu.

Memantau penggunaan

Berikut adalah rekomendasi untuk membantu Anda melacak penggunaan resource Dataflow:

Mengoptimalkan sumber daya

Berikut adalah rekomendasi untuk membantu Anda mengoptimalkan resource Dataflow:

  • Pertimbangkan Dataflow Prime untuk memproses big data secara efisien.
  • Kurangi biaya batch processing menggunakan Flexible Resource Scheduling (FlexRS), untuk pipeline batch yang diskalakan secara otomatis. FlexRS menggunakan penjadwalan lanjutan, Dataflow Shuffle, serta kombinasi VM preemptible dan VM reguler untuk mengurangi biaya pipeline batch.
  • Tingkatkan performa dengan menggunakan layanan shuffle dalam memori daripada Persistent Disk dan worker node.
  • Agar penskalaan otomatis lebih responsif, dan untuk mengurangi konsumsi resource, gunakan Streaming Engine, yang memindahkan eksekusi pipeline dari worker VM ke backend layanan Dataflow.
  • Jika pipeline tidak memerlukan akses ke dan dari internet serta jaringan Google Cloud lainnya, nonaktifkan alamat IP publik. Menonaktifkan akses internet membantu Anda mengurangi biaya jaringan dan meningkatkan keamanan pipeline.
  • Ikuti praktik terbaik untuk pipeline yang efisien dengan Dataflow.

Dataproc

Dataproc adalah layanan Apache Spark dan Apache Hadoop terkelola untuk batch processing, pembuatan kueri, streaming, dan machine learning.

Berikut adalah rekomendasi untuk membantu Anda mengoptimalkan biaya resource Dataproc:

Langkah selanjutnya