Ringkasan AlloyDB

AlloyDB untuk PostgreSQL adalah layanan database yang kompatibel dengan PostgreSQL dan terkelola sepenuhnya yang didesain untuk workload dengan tuntutan tinggi, termasuk pemrosesan transaksional dan analisis hybrid. AlloyDB menghubungkan mesin database buatan Google dengan arsitektur multi-node berbasis cloud untuk menghadirkan performa, keandalan, dan ketersediaan tingkat perusahaan.

Cara kerja AlloyDB

Aplikasi terhubung ke instance AlloyDB menggunakan protokol dan teknik PostgreSQL standar. Aplikasi kemudian menggunakan sintaksis kueri PostgreSQL untuk berinteraksi dengan database.

Di balik layar, AlloyDB menggunakan hierarki komponen dan fitur berbasis cloud yang dirancang untuk memaksimalkan ketersediaan data Anda serta mengoptimalkan performa dan throughput kueri. Google CloudAlat administratif memungkinkan Anda memantau kondisi deployment AlloyDB, menyesuaikan skala dan ukurannya agar paling sesuai dengan perubahan tuntutan workload Anda.

Perbedaan arsitektur AlloyDB dari PostgreSQL standar

Deployment PostgreSQL tradisional menggabungkan mesin database yang memproses kueri dengan penyimpanan tempat data Anda berada, sering kali di server yang sama. AlloyDB menggunakan arsitektur yang tidak digabungkan. Lapisan komputasi dan penyimpanan terpisah dan menawarkan penskalaan individual.

Menskalakan penyiapan PostgreSQL yang umum melibatkan penskalaan vertikal dengan mengupgrade ke server yang lebih besar atau penskalaan horizontal untuk pembacaan dengan menggunakan replika baca yang juga menduplikasi data.

Desain terpisah AlloyDB, yang dibangun di sistem file terdistribusi Google, menawarkan beberapa keuntungan:

  • Penskalaan independen: Anda dapat menskalakan resource komputasi, khususnya node dan instance, ke atas atau ke bawah berdasarkan permintaan kueri tanpa menyediakan atau menghentikan penyediaan penyimpanan. Anda juga dapat menskalakan node hanya baca untuk skalabilitas baca, tanpa memengaruhi ketersediaan. Seiring pertumbuhan data Anda, penyimpanan akan diskalakan, tanpa memengaruhi komputasi.
  • Peningkatan performa: Dengan mesin penyimpanan cloud-native yang dioptimalkan, AlloyDB memberikan performa kueri transaksional dan analitis yang cepat, yang dihasilkan dari lapisan caching cerdas dan pengelolaan I/O tingkat lanjut.
  • Pengelolaan yang disederhanakan: Pemisahan tugas memungkinkan pengelolaan otomatis banyak operasi database, termasuk replikasi, pencadangan, dan patching, yang merupakan tugas manual di PostgreSQL yang dikelola sendiri.
  • Ketersediaan dan ketahanan tinggi: Penyimpanan data redundan di lapisan yang andal mencakup beberapa zona ketersediaan, sehingga memberikan failover dan pemulihan otomatis tanpa kehilangan data, terlepas dari kondisi instance.

Perbedaan arsitektur mendasar ini terwujud dalam hierarki resource AlloyDB yang menggunakan cluster sebagai penampung database logis menyeluruh, dengan node yang menyediakan daya komputasi, dan instance yang berfungsi sebagai titik koneksi aplikasi, sementara data tetap ada di lapisan penyimpanan yang terpisah dan terpisah-pisah.

Diagram berikut mengilustrasikan contoh cluster yang diskalakan untuk menangani workload yang berat, dengan menyertakan beberapa instance kumpulan baca yang di-load balance:

Diagram yang menunjukkan cluster yang berisi instance utama dan instance pool baca

Cluster

Satu deployment AlloyDB dalam Google Cloud region 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 didesain oleh Google dan dioptimalkan untuk AlloyDB.

Node dan instance

Cluster berisi beberapa node, yang merupakan instance virtual machine yang dikhususkan 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. Pada praktiknya, aplikasi Anda terhubung ke instance di alamat IP ini menggunakan protokol PostgreSQL. Kemudian, instance meneruskan kueri SQL ke nodenya.

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 menjadi node aktif jika diperlukan.

    • Instance dasar: Lingkungan non-produksi yang tidak memerlukan ketersediaan tinggi dapat secara opsional menggunakan instance dasar. 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 menyeimbangkan beban semua permintaan yang dikirim ke instance kumpulan baca, 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 berat, Anda dapat menambahkan instance kumpulan baca ke cluster. Kemudian, Anda mengonfigurasi aplikasi pelaporan atau analisis untuk mengirim permintaan baca ke aplikasi tersebut. Teknik ini mengurangi beban pada instance utama Anda, dan meningkatkan skalabilitas dengan menyebarkan beban di beberapa node.

Anda dapat menambahkan, menghapus, atau menyesuaikan jumlah node instance kumpulan baca kapan saja, seiring perubahan kebutuhan aplikasi Anda. Anda juga dapat mengubah ukuran memori dan jumlah vCPU node penyusun instance kapan pun 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.

Fitur utama

AlloyDB berbeda dari penginstalan PostgreSQL standar dalam sejumlah cara di luar keuntungan penskalaan vertikal dan horizontal yang melekat dalam arsitektur multi-node yang dijelaskan sebelumnya. Bagian berikut membahas lebih dalam fitur utama AlloyDB.

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 meningkatkan performa kueri analisis dengan menyimpan data dalam memori menggunakan format kolom. Hal ini memungkinkan AlloyDB menggunakan teknik pemrosesan lanjutan untuk memindai sejumlah besar data tabel secara efisien jika diperlukan.

  • Variasi adaptif dari fitur autovacuum data usang PostgreSQL secara otomatis menyesuaikan parameter terkait vacuum agar paling sesuai dengan bentuk workload Anda.

  • Sistem pengelolaan memori dan penyimpanan otomatis memanfaatkan lingkungan berbasis cloud buatan Google tempat AlloyDB berjalan, dengan 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 berbeda, dengan failover otomatis.

Cluster yang beroperasi di lingkungan non-produksi yang tidak memerlukan HA dapat secara opsional menggunakan instance utama zona tunggal dasar sebagai gantinya.

Menambahkan instance pool baca yang berisi setidaknya dua node akan membuat titik akses multi-zona, ketersediaan tinggi, dan load seimbang lebih lanjut ke data Anda. Semua instance kumpulan baca berjalan secara independen dari instance utama.

Untuk mengetahui informasi selengkapnya tentang pertimbangan khusus wilayah, lihat Geografi dan wilayah.

Pencadangan data dan pemulihan dari bencana

AlloyDB memiliki sistem pencadangan dan pemulihan berkelanjutan yang memungkinkan Anda membuat cluster baru berdasarkan titik waktu mana pun dalam periode retensi yang dapat disesuaikan. Hal ini memungkinkan Anda memulihkan data dengan cepat dari kecelakaan yang menyebabkan kehilangan data.

Selain itu, AlloyDB dapat membuat dan menyimpan cadangan lengkap data cluster Anda, baik sesuai permintaan 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 secara asinkron melakukan streaming data dari cluster primer yang ditetapkan ke setiap cluster sekundernya. Kapan pun diperlukan, Anda dapat mempromosikan cluster sekunder menjadi cluster AlloyDB berfitur lengkap dengan instance utama dan kumpulan baca.

Untuk mengetahui informasi selengkapnya, lihat Tentang replikasi lintas-region.

Kontrol keamanan dan akses

Anda dapat mengonfigurasi cluster agar memerlukan 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, dengan 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. Kemudian, AlloyDB menggunakan kunci CMEK untuk mengenkripsi semua data yang ditulis ke cluster tersebut.

CMEK juga berlaku untuk cadangan. Anda dapat menentukan kunci CMEK saat membuat cadangan sesuai permintaan, mengonfigurasi jadwal pencadangan, atau memulihkan dari cadangan.

Untuk mengetahui informasi selengkapnya, lihat Tentang CMEK.

Pemeliharaan tanpa gangguan

Operasi pemeliharaan AlloyDB dirancang untuk meminimalkan gangguan pada database Anda. Instance primer dan sekunder memiliki periode nonaktif kurang dari satu detik, sedangkan kumpulan baca tetap tersedia secara terus-menerus 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 terputus sejenak. Anda dapat terus menggunakan database seperti biasa selama proses ini.

Meskipun proses penggantian ini memastikan waktu henti minimum, keseluruhan operasi dapat memerlukan waktu beberapa menit, seperti yang ditunjukkan di konsol Google Cloud dan Google Cloud CLI.

Operasi pemeliharaan ini mencakup tugas pemeliharaan berkala yang dijalankan oleh Google dan tugas yang Anda lakukan secara manual, seperti konfigurasi tanda dan pengubahan ukuran instance. Jika Anda ingin menerapkan update apa pun dengan segera meskipun berarti waktu nonaktif yang lebih lama, gunakan flag database FORCE_APPLY.

Dukungan ekstensi

AlloyDB mencakup dukungan untuk sejumlah ekstensi PostgreSQL populer. Untuk 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 disederhanakan dan dapat didownload ini memungkinkan Anda menjalankan mesin database yang canggih di lingkungan komputasi berbasis Linux Anda sendiri, di mana pun lingkungan tersebut berada.

Untuk mengetahui informasi selengkapnya, lihat Tentang AlloyDB Omni.

Langkah berikutnya