Traffine I/O

Bahasa Indonesia

2023-06-01

AlloyDB

Apa itu AlloyDB

AlloyDB untuk PostgreSQL adalah layanan yang sepenuhnya dikelola yang disediakan oleh Google Cloud, dirancang agar kompatibel dengan PostgreSQL. Ia menonjol karena kinerja, ketersediaan, dan skalabilitas yang luar biasa, melampaui kompetitornya, Cloud SQL.

Dilengkapi dengan teknologi propietari dalam mekanisme penyimpanannya, AlloyDB memiliki peningkatan kecepatan yang signifikan dibandingkan dengan PostgreSQL standar. Proses transaksi lebih dari empat kali lebih cepat, dan proses analitik dapat mencapai kecepatan hingga seratus kali lebih cepat.

Selain kinerja yang luar biasa, AlloyDB juga unggul dalam kemudahan operasional. Banyak tugas operasional, termasuk pencadangan, penerapan patch, dan perluasan penyimpanan, diotomatisasi. AlloyDB juga menjamin SLA ketersediaan tinggi sebesar 99,99%.

AlloyDB telah dijadikan pratinjau pada tanggal 11 Mei 2022, dan kemudian tersedia secara umum pada tanggal 13 Desember 2022. Pengenalan dan pengembangan berikutnya telah menjadikannya sebagai database yang mampu memenuhi persyaratan non-fungsional yang ketat dari sistem perusahaan.

Kompatibilitas dengan PostgreSQL

AlloyDB bangga dapat sepenuhnya kompatibel dengan PostgreSQL. Tingkat kompatibilitas yang tinggi ini berarti Anda dapat menggunakan koneksi database yang sama, seperti melalui perintah baris psql, dan klien PostgreSQL lainnya.

Di AlloyDB, parameter yang biasanya diatur dalam postgresql.conf pada PostgreSQL standar dikelola sebagai flag database. Ini dapat dikelola melalui konsol Web atau perintah gcloud.

Harga

AlloyDB menggunakan model harga berdasarkan pemakaian, artinya Anda hanya dikenakan biaya untuk resource yang Anda gunakan secara aktif. Penentuan harga didasarkan pada beberapa faktor, termasuk:

  • CPU/Memory yang dialokasikan
  • Penggunaan penyimpanan, termasuk pencadangan
  • Jaringan (pengeluaran ke wilayah lain saja)

AlloyDB terdiri dari "Primary Instances" dan "Read Pool Nodes", dan Anda dapat menentukan spesifikasi (CPU/Memory) untuk masing-masingnya. Penagihan didasarkan pada durasi keberadaan instansi, dengan biaya yang diakumulasikan secara per jam.

Penyimpanan dialokasikan secara otomatis sesuai kebutuhan oleh database, dan skala naik atau turun sesuai kebutuhan. Anda hanya akan dikenakan biaya sesuai dengan ukuran data yang digunakan. Skalabilitas penyimpanan otomatis ini memastikan Anda membayar hanya untuk apa yang Anda perlukan, memberikan efisiensi biaya dan menghilangkan kebutuhan untuk penyesuaian manual.

https://cloud.google.com/alloydb/pricing

Arsitektur

AlloyDB terdiri dari arsitektur berikut.

AlloyDB architecture
AlloyDB overview

Klaster

Unit dasar pengelolaan di AlloyDB untuk PostgreSQL adalah klaster.

Instance Utama

Setiap klaster memiliki Instance Utama. Dalam pengaturan ketersediaan tinggi, Instance Utama dapat mempertahankan replika (instance cadangan) untuk failover. Klien mengarahkan akses baca dan tulis ke Instance Utama ini, yang diberikan alamat IP tunggal. Alamat IP ini tetap konstan bahkan saat terjadi failover, memungkinkan aplikasi untuk melakukan koneksi kembali setelah beberapa waktu tanpa perubahan konfigurasi.

Opsi failover manual juga tersedia untuk tujuan pengujian.

Instance Read Pool

Instance Read Pool bukanlah satu node tunggal tetapi merupakan grup node yang menyediakan akses hanya baca. Setiap Instance Read Pool diberikan alamat IP untuk operasi baca, dan akses ke alamat IP ini diberikan ke salah satu node di Instance Read Pool. Dengan menambah atau mengurangi jumlah node, Anda dapat menyeimbangkan beban kerja baca.

Meskipun Instance Utama wajib ada, membuat Instance Read Pool bersifat opsional. Membuat Instance Read Pool meningkatkan biaya, tetapi juga memungkinkan distribusi beban kerja baca, yang sangat berguna untuk tujuan analitik.

Jaringan

Alih-alih dibuat dalam VPC yang dikelola pengguna, klaster AlloyDB dibuat dalam VPC yang dikelola oleh Google Cloud. Ini adalah fitur utama dan difasilitasi oleh mekanisme yang dikenal sebagai Private Service Access. Jaringan yang dikelola oleh Google Cloud tempat klaster berada disebut Service Producer Network, sebuah sistem yang dibagikan dengan Cloud SQL dan Cloud Memorystore.

Service Producer Network dan VPC pengguna terhubung melalui VPC peering.

Replikasi Lintas Wilayah

AlloyDB mendukung replikasi lintas wilayah yang opsional. Ketika fitur ini diaktifkan, sebuah klaster sekunder dibuat di wilayah yang berbeda dari klaster utama, dan data direplikasi secara asinkron.

Klaster sekunder bersifat hanya baca tetapi dapat dipromosikan secara manual menjadi utama. Fitur ini tidak hanya menyediakan solusi pemulihan bencana, tetapi juga mengurangi laten baca dengan menempatkan klaster sekunder hanya baca yang lebih dekat dengan pengguna atau aplikasi.

https://cloud.google.com/alloydb/docs/cross-region-replication/about-cross-region-replication

Skalabilitas

Instance utama adalah satu instance yang bertanggung jawab untuk operasi baca dan tulis. Meskipun skalabilitas horizontal tidak mungkin dilakukan dengan instance utama, skalabilitas vertikal melalui perubahan spesifikasi masih memungkinkan. Sementara itu, instance read pool merupakan kelompok node hanya baca. Instance-instance ini menawarkan fleksibilitas untuk melakukan skalabilitas secara horizontal dengan menambah jumlah node atau secara vertikal dengan meningkatkan spesifikasinya.

https://cloud.google.com/alloydb/docs/instance-read-pool-scale

Pencadangan

Pencadangan adalah aspek penting dari setiap sistem manajemen database, dan AlloyDB di Google Cloud menawarkan tiga jenis pencadangan: Continuous, On-Demand, dan Automated backups. Proses pencadangan dilakukan di lapisan penyimpanan, sehingga tidak ada dampak kinerja.

https://cloud.google.com/alloydb/docs/backup/overview

Pencadangan Continuous

Pencadangan Continuous diaktifkan secara default di AlloyDB. Ini memungkinkan pemulihan pada titik waktu tertentu, yang merupakan fitur penting untuk mengelola dan memitigasi kehilangan data.

Pencadangan On-Demand

Pencadangan On-Demand adalah pencadangan yang dilakukan secara manual. Pencadangan ini dapat diinisiasi melalui Google Cloud Console atau menggunakan perintah-perintah gcloud. Jenis pencadangan ini memberikan fleksibilitas dan kontrol terhadap waktu dan frekuensi pencadangan.

Pencadangan Otomatis

Pencadangan otomatis dilakukan berdasarkan jadwal yang ditetapkan dan diaktifkan secara default. Mereka memiliki keuntungan tidak memerlukan intervensi manual, sehingga mengurangi peluang kesalahan manusia. Secara default, pencadangan ini disimpan selama 14 hari.

Menghubungkan ke AlloyDB

Menghubungkan melalui Perangkat Lunak Klien

Koneksi ke AlloyDB untuk PostgreSQL dapat dilakukan melalui perangkat lunak klien PostgreSQL umum seperti perintah psql.

https://cloud.google.com/alloydb/docs/connect-psql

Koneksi Instance Utama dan Instance Read Pool

Dari sisi klien, koneksi dibuat ke alamat IP pribadi yang disediakan oleh Instance Utama atau Instance Read Pool.

https://cloud.google.com/alloydb/docs/connection-overview#networking

Otentikasi dan Otorisasi di AlloyDB

Ketika sebuah klaster AlloyDB baru dibuat, masuk ke sistem memungkinkan melalui pengguna postgres. Kata sandi masuk ditentukan pada saat pembuatan klaster.

https://cloud.google.com/alloydb/docs/connect-psql

Koneksi Instance Utama dan Instance Read Pool

Dari sisi klien, koneksi dibuat ke alamat IP pribadi yang disediakan oleh Instance Utama atau Instance Read Pool.

https://cloud.google.com/alloydb/docs/connection-overview#networking

Otentikasi dan Otorisasi di AlloyDB

Ketika sebuah klaster AlloyDB baru dibuat, masuk ke sistem memungkinkan melalui pengguna postgres. Kata sandi masuk ditentukan pada saat pembuatan klaster.

https://cloud.google.com/alloydb/docs/database-users/about

AlloyDB Auth proxy

AlloyDB Auth Proxy adalah perangkat lunak proxy yang diinstal secara lokal di sisi klien aplikasi yang menggunakan AlloyDB. Dengan Auth Proxy, AlloyDB dapat melakukan otentikasi dan otorisasi menggunakan izin IAM. Selain itu, komunikasi dari aplikasi ke database dienkripsi dengan TLS.

Ketika sebuah aplikasi beroperasi dalam lingkungan Google Cloud, seperti Cloud Run, memungkinkan untuk masuk ke database menggunakan izin Service Account yang terpasang pada instansi (role roles/alloydb.client).

https://cloud.google.com/alloydb/docs/auth-proxy/overview

Referensi

https://cloud.google.com/alloydb/pricing
https://cloud.google.com/alloydb/docs/overview
https://cloud.google.com/alloydb/docs/cross-region-replication/about-cross-region-replication
https://cloud.google.com/alloydb/docs/instance-read-pool-scale
https://cloud.google.com/alloydb/docs/backup/overview
https://cloud.google.com/alloydb/docs/connect-psql
https://cloud.google.com/alloydb/docs/database-users/about
https://cloud.google.com/alloydb/docs/auth-proxy/overview

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!