AlloyDB untuk PostgreSQL adalah layanan database yang kompatibel dengan PostgreSQL dan terkelola sepenuhnya yang dirancang untuk workload Anda yang paling berat, termasuk pemrosesan transaksional dan analitik hybrid. AlloyDB menghubungkan mesin database yang dibuat Google dengan arsitektur multi-node berbasis cloud untuk memberikan performa, keandalan, dan ketersediaan tingkat perusahaan.
Cara kerja AlloyDB
Aplikasi terhubung ke instance AlloyDB menggunakan protokol dan teknik PostgreSQL standar. Kemudian, aplikasi akan menggunakan sintaksis kueri PostgreSQL untuk menggunakan database.
Di balik layar, AlloyDB menggunakan hierarki komponen dan fitur berbasis cloud yang dirancang untuk memaksimalkan ketersediaan data Anda dan mengoptimalkan performa dan throughput kueri.Alat administratif Google Cloudmemungkinkan Anda memantau kondisi deployment AlloyDB, menyesuaikan skala dan ukurannya agar paling sesuai dengan permintaan workload Anda yang berubah-ubah.
Cluster
Satu deployment AlloyDB dalam region Google Cloud tertentu mengatur semua resource-nya ke dalam satu cluster. Hal ini mencakup semua database, log, dan metadata lainnya. AlloyDB men-deploy semua resource satu cluster dalam satu Virtual Private Cloud (VPC) dan menggunakan sistem file berbasis cloud yang dirancang oleh Google dan dioptimalkan untuk AlloyDB.
Node dan instance
Cluster berisi beberapa nodes, yang merupakan instance virtual machine yang didedikasikan untuk menjalankan mesin database yang kompatibel dengan PostgreSQL yang digunakan aplikasi untuk membuat kueri data cluster Anda. AlloyDB mengatur node ke dalam instance, yang masing-masing memiliki alamat IP statis pribadi di VPC Anda. Dalam praktiknya, aplikasi Anda terhubung ke instance di alamat IP ini menggunakan protokol PostgreSQL. Instance kemudian meneruskan kueri SQL ke node-nya.
AlloyDB memiliki dua jenis instance:
Instance utama: Setiap cluster memiliki satu instance utama, yang menyediakan titik akses baca atau tulis ke data Anda. Instance utama dapat berupa ketersediaan tinggi (HA) atau dasar.
Instance utama HA: Instance utama HA memiliki dua node: node aktif dan node standby. AlloyDB memantau ketersediaan node aktif, dan secara otomatis mempromosikan node standby ke node aktif jika diperlukan.
Instance dasar: Lingkungan non-produksi yang tidak memerlukan ketersediaan tinggi dapat menggunakan instance dasar secara opsional. Instance dasar hanya memiliki satu node, tanpa node standby. Untuk mengetahui informasi selengkapnya, lihat Mengurangi biaya menggunakan instance dasar.
Instance kumpulan baca: Cluster Anda dapat memiliki satu atau beberapa instance kumpulan baca secara opsional, yang masing-masing berisi satu atau beberapa node hanya baca, hingga maksimum 20 di seluruh cluster. AlloyDB secara otomatis melakukan load balancing semua permintaan yang dikirim ke instance kumpulan baca, dengan merutekannya ke node instance.
Untuk kasus penggunaan yang lebih sederhana, cluster hanya dapat memiliki instance utama, tanpa kumpulan baca, dan aplikasi menggunakan instance utama untuk semua kueri. Untuk pekerjaan yang lebih mengharuskan, Anda dapat menambahkan instance kumpulan baca ke cluster. Kemudian, Anda akan mengonfigurasi aplikasi pelaporan atau analisis untuk mengirim permintaan baca ke aplikasi tersebut. Teknik ini mengurangi beban pada instance utama, dan meningkatkan skalabilitas dengan menyebarkan beban ke beberapa node.
Anda dapat menambahkan, menghapus, atau menyesuaikan jumlah node instance kumpulan operasi baca kapan saja, seiring kebutuhan aplikasi Anda berubah. Anda juga dapat mengubah ukuran memori dan jumlah vCPU node penyusun instance kapan saja diperlukan, dengan periode nonaktif minimal. Menskalakan instance tidak menimbulkan risiko kehilangan data, karena AlloyDB menyimpan data Anda di lapisan penyimpanan fleksibel cluster, dan bukan di instance.
Diagram ini mengilustrasikan contoh cluster yang diskalakan untuk menangani beban kerja yang berat, dengan menyertakan beberapa instance hanya baca load balancing:
Fitur utama
AlloyDB membedakan dirinya dari penginstalan PostgreSQL standar dengan sejumlah cara di luar keunggulan penskalaan vertikal dan horizontal yang melekat dalam arsitektur multi-node yang dijelaskan sebelumnya. Bagian berikut akan membahas fitur utama AlloyDB lebih dalam.
Fitur database otomatis dan adaptif
Mesin database yang sepenuhnya kompatibel dengan PostgreSQL yang mendukung setiap node AlloyDB memiliki beberapa fitur yang terus-menerus menganalisis struktur dan frekuensi kueri yang ditangani instance Anda, menggunakan informasi ini untuk menyarankan peningkatan skema atau menerapkan pengoptimalan secara otomatis:
Penasihat indeks membantu Anda menemukan peluang untuk mengoptimalkan skema database menggunakan indeks baru berdasarkan pola penggunaan Anda.
Columnar engine dapat mempercepat performa kueri analisis dengan menyimpan data dalam memori menggunakan format kolom. Hal ini memungkinkan AlloyDB menggunakan teknik pemrosesan lanjutan untuk memindai data tabel dalam jumlah besar secara efisien saat diperlukan.
Variasi adaptif dari fitur autovacuum data usang PostgreSQL secara otomatis menyesuaikan parameter terkait vacuum agar paling sesuai dengan bentuk beban kerja Anda.
Sistem pengelolaan memori dan penyimpanan otomatis memanfaatkan lingkungan berbasis cloud buatan Google tempat AlloyDB berjalan, yang terus mengalokasikan dan melepaskan memori dan penyimpanan sesuai kebutuhan untuk menjaga cluster Anda tetap berjalan dengan performa dan efisiensi resource yang optimal.
Ketersediaan tinggi
Secara default, cluster AlloyDB menawarkan ketersediaan (HA) melalui node redundan instance utamanya, yang terletak di dua zona yang berbeda, dengan failover otomatis.
Cluster yang beroperasi di lingkungan non-produksi yang tidak memerlukan HA dapat secara opsional menggunakan instance utama dasar satu zona.
Menambahkan instance kumpulan baca yang berisi minimal dua node akan membuat titik akses ketersediaan tinggi, multi-zona, dan beban yang seimbang lebih lanjut ke data Anda. Semua instance kumpulan operasi baca berjalan secara independen dari instance utama.
Untuk mengetahui informasi selengkapnya tentang pertimbangan khusus per wilayah, lihat Geografi dan wilayah.
Pencadangan data dan pemulihan dari bencana (disaster recovery)
AlloyDB memiliki sistem pencadangan dan pemulihan berkelanjutan yang memungkinkan Anda membuat cluster baru berdasarkan titik waktu apa pun dalam periode retensi yang dapat disesuaikan. Hal ini memungkinkan Anda memulihkan data dengan cepat dari kecelakaan kehilangan data.
Selain itu, AlloyDB dapat membuat dan menyimpan cadangan lengkap data cluster Anda, baik secara on-demand maupun sesuai jadwal rutin. Kapan saja, Anda dapat memulihkan dari cadangan ke cluster AlloyDB baru yang berisi semua data dari cluster asli pada saat pembuatan cadangan.
Untuk mengetahui informasi selengkapnya, lihat Tentang pencadangan.
Sebagai metode pemulihan dari bencana lebih lanjut, Anda dapat melakukan replikasi lintas-region dengan membuat cluster sekunder di region Google Cloudyang terpisah. AlloyDB mengalirkan data secara asinkron dari cluster primer yang ditetapkan ke setiap cluster sekundernya. Jika diperlukan, Anda dapat mempromosikan cluster sekunder ke dalam cluster AlloyDB yang memiliki fitur lengkap dengan instance utama dan kumpulan baca.
Untuk mengetahui informasi selengkapnya, lihat Tentang replikasi lintas-region.
Keamanan dan kontrol akses
Anda dapat mengonfigurasi cluster untuk mewajibkan koneksi dengan Proxy Auth AlloyDB yang aman, yang menggunakan Google Cloud Identity Access and Management (IAM) untuk kontrol akses. Untuk mengetahui informasi selengkapnya, lihat Otorisasi.
AlloyDB menggunakan sistem peran pengguna PostgreSQL standar untuk autentikasi, yang memperkenalkan beberapa peran tambahan khusus untuk AlloyDB. Untuk mengetahui informasi selengkapnya, lihat Mengelola peran pengguna AlloyDB.
Enkripsi
AlloyDB melindungi semua data dalam penyimpanan menggunakan metode enkripsi Google secara default. Jika Anda perlu mengenkripsi data menggunakan kunci yang Anda berikan, Anda dapat menentukan kunci enkripsi yang dikelola pelanggan (CMEK) saat membuat cluster. AlloyDB kemudian menggunakan kunci CMEK untuk mengenkripsi semua data yang ditulis ke cluster tersebut.
CMEK juga berlaku untuk pencadangan. Anda dapat menentukan kunci CMEK saat membuat cadangan on demand, mengonfigurasi jadwal cadangan, atau memulihkan dari cadangan.
Untuk informasi selengkapnya, lihat Tentang CMEK.
Pemeliharaan yang tidak mengganggu
Operasi pemeliharaan AlloyDB dirancang untuk meminimalkan gangguan pada database Anda. Instance utama dan sekunder memiliki periode nonaktif kurang dari satu detik, sedangkan kumpulan baca tetap tersedia secara berkelanjutan tanpa periode nonaktif. Hal ini dilakukan dengan menyiapkan server pengganti, dan dengan cepat menukarnya dengan server aktif saat siap. Selama proses ini, semua koneksi aktif ke database akan dihentikan untuk sementara. Anda dapat terus menggunakan database seperti biasa selama proses ini.
Meskipun proses penggantian ini memastikan downtime minimal, operasi secara keseluruhan mungkin memerlukan waktu beberapa menit, seperti yang ditunjukkan di konsol Google Cloud dan CLI Google Cloud CLI.
Operasi pemeliharaan ini mencakup tugas pemeliharaan berkala yang dijalankan oleh Google
dan tugas yang Anda lakukan secara manual, seperti konfigurasi flag dan perubahan ukuran instance. Jika Anda ingin segera menerapkan update meskipun berarti waktu tidak aktif yang lebih lama, gunakan flag database FORCE_APPLY
.
Dukungan ekstensi
AlloyDB menyertakan dukungan untuk sejumlah ekstensi PostgreSQL yang populer. Untuk mengetahui daftar lengkapnya, lihat Ekstensi database yang didukung.
Alternatif yang dihosting sendiri: AlloyDB Omni
Sebagai alternatif untuk menjalankan AlloyDB dalam Google Cloud, Google menawarkan AlloyDB Omni. Edisi AlloyDB yang sederhana dan dapat didownload ini memungkinkan Anda menjalankan mesin database yang canggih di lingkungan komputasi berbasis Linux Anda sendiri, di mana pun.
Untuk mengetahui informasi selengkapnya, lihat Tentang AlloyDB Omni.