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.
Arsitektur
AlloyDB terdiri dari arsitektur berikut.
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.
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.
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.
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
.
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.
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.
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.
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.
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
).
Referensi