Ringkasan AlloyDB Omni

AlloyDB Omni adalah paket software database yang dapat didownload dan memungkinkan Anda men-deploy versi AlloyDB untuk PostgreSQL yang disederhanakan di lingkungan komputasi yang Anda kelola. AlloyDB Omni dan layanan AlloyDB yang terkelola sepenuhnya di Google Cloud berbagi komponen inti yang sama. AlloyDB menggunakan lapisan penyimpanan terpisah native cloud, sedangkan AlloyDB Omni di-deploy di penyimpanan pilihan Anda.

Portabilitas AlloyDB Omni memungkinkan Anda menjalankannya di banyak lingkungan, termasuk yang berikut:

  • Pusat data pribadi Anda
  • Cloud publik apa pun
  • Laptop Anda
  • Instance VM berbasis cloud

AlloyDB Omni menawarkan beberapa peningkatan—selain PostgreSQL standar—yang mendukung skalabilitas, ketersediaan, keandalan, performa, AI, dan bahasa alami. Untuk mengetahui informasi selengkapnya, lihat Penambahan AlloyDB Omni ke PostgreSQL standar.

Kasus penggunaan AlloyDB Omni

AlloyDB Omni sangat cocok untuk skenario berikut:

  • Anda memerlukan PostgreSQL versi berperforma tinggi dan skalabel yang harus Anda jalankan di infrastruktur lokal karena persyaratan peraturan atau kedaulatan data.
  • Anda memerlukan database yang terus berjalan meskipun terputus dari internet.
  • Anda ingin bermigrasi dari database lama tanpa menggunakan layanan cloud yang terkelola sepenuhnya seperti AlloyDB untuk PostgreSQL.

Fitur utama

  • Server database yang 100% kompatibel dengan PostgreSQL.
  • Dukungan untuk AlloyDB AI, yang membantu Anda membangun aplikasi AI generatif kelas perusahaan menggunakan data operasional Anda.
  • Integrasi dengan ekosistem Google Cloud AI, termasuk Vertex AI Model Garden dan alat AI generatif open source.
  • Dukungan untuk fitur autopilot dari AlloyDB untuk PostgreSQL di Google Cloud yang memungkinkan AlloyDB Omni mengelola dan mengoptimalkan dirinya sendiri.

    Misalnya, AlloyDB Omni mendukung pengelolaan memori otomatis dan autovacuum adaptif data lama.

  • Columnar engine AlloyDB Omni, yang menyimpan data yang relevan dalam format kolom dalam memori untuk kueri analisis, pelaporan, dan workload pemrosesan transaksional serta analitis hybrid (HTAP) yang lebih cepat.

Dalam pengujian performa, workload transaksional di AlloyDB Omni lebih dari 2X lebih cepat, dan kueri analisis hingga 100X lebih cepat, daripada PostgreSQL standar.

Pilihan deployment AlloyDB Omni

Anda dapat menginstal AlloyDB Omni menggunakan salah satu opsi deployment berikut:

Opsi deployment untuk AlloyDB Omni

  • AlloyDB Omni menggunakan container: container database mandiri. Jalankan AlloyDB Omni di sistem Linux dengan penyimpanan SSD dan memori minimal 8 GB per CPU.

  • AlloyDB Omni menggunakan orchestrator container: bagian dari container di lingkungan Kubernetes. Operator AlloyDB Omni Kubernetes adalah ekstensi ke Kubernetes API yang memungkinkan Anda menjalankan AlloyDB Omni di sebagian besar lingkungan Kubernetes yang sesuai dengan CNCF.

    Operator AlloyDB Omni menyederhanakan operasi database dasar, yang memungkinkan Anda mengotomatiskan deployment tunggal atau ketersediaan tinggi (HA) dan operasi hari ke-2 seperti pencadangan, pemulihan, failover, dan menyiapkan pemulihan dari bencana (DR) lintas region.

  • AlloyDB Omni menggunakan orchestrator RPM (Pratinjau): deployment Red Hat Package Manager (RPM) untuk VM atau server bare metal. Opsi ini mencakup platform orkestrasi yang mengotomatiskan deployment dan pengelolaan di lingkungan non-Kubernetes. Opsi ini memperluas fleksibilitas seperti cloud ke infrastruktur pilihan Anda, tanpa memerlukan lapisan containerisasi seperti Docker.

  • AlloyDB Omni menggunakan RPM (Pratinjau): paket mandiri yang berjalan langsung di VM atau bare metal. AlloyDB Omni menggunakan RPM berjalan sebagai kumpulan komponen software terintegrasi langsung di sistem operasi host. Opsi ini menggunakan sistem file Linux standar untuk penyimpanan, sehingga Anda dapat menggunakan infrastruktur penyimpanan dan praktik pengelolaan yang ada.

Aplikasi Anda terhubung dan berkomunikasi dengan database AlloyDB Omni, seperti aplikasi yang terhubung dan berkomunikasi dengan server database PostgreSQL standar. Kontrol akses pengguna juga mengandalkan standar PostgreSQL.

Anda dapat mengonfigurasi perilaku database AlloyDB Omni menggunakan flag database, termasuk logging, vacuuming, dan columnar engine. Untuk mengetahui informasi selengkapnya, lihat Opsi download dan penginstalan AlloyDB Omni yang tersedia.

AlloyDB Omni sebagai container

Google mendistribusikan AlloyDB Omni sebagai container yang dapat Anda jalankan dengan runtime container seperti Docker dan Podman. Anda juga dapat men-deploy container AlloyDB Omni di lingkungan Kubernetes dengan banyak operasi dasar yang diotomatiskan.

Secara operasional, container menawarkan keuntungan berikut:

  • Pengelolaan dependensi transparan: semua dependensi yang diperlukan digabungkan dalam container dan diuji oleh Google untuk memastikan bahwa dependensi tersebut sepenuhnya kompatibel dengan AlloyDB Omni.
  • Portabilitas: Anda dapat mengharapkan AlloyDB Omni beroperasi secara konsisten di seluruh lingkungan.
  • Isolasi keamanan: Anda memilih apa yang dapat diakses container AlloyDB Omni di mesin host.
  • Pengelolaan resource: Anda dapat menentukan jumlah resource komputasi yang ingin digunakan container AlloyDB Omni.
  • Patching dan upgrade yang lancar: untuk menerapkan patch pada container, ganti image yang ada dengan image baru.

AlloyDB Omni di lingkungan RHEL

AlloyDB Omni menyediakan dua opsi deployment untuk lingkungan RHEL, yang bergantung pada persyaratan otomatisasi dan penskalaan Anda.

AlloyDB Omni menggunakan RPM

Opsi deployment RPM (Pratinjau) adalah penginstalan Red Hat Package Manager (RPM) mandiri yang dirancang untuk lingkungan saat Anda menginginkan database AlloyDB Omni non-container. Opsi ini mendukung RHEL 9 dan Rocky Linux 9.

  • Integrasi OS langsung: berjalan sebagai kumpulan komponen software terintegrasi langsung di sistem operasi (OS) host.
  • Penyimpanan yang ada: menggunakan sistem file Linux standar (ext4 dan xfs), yang mendukung infrastruktur penyimpanan dan praktik pengelolaan yang ada.
  • Kesederhanaan: sangat cocok untuk penyiapan instance tunggal yang memerlukan integrasi mendalam dengan OS host, tanpa lapisan orkestrasi tambahan.

Orchestrator RPM

Opsi deployment orchestrator RPM (Pratinjau) menggunakan paket RPM yang sama dengan AlloyDB Omni menggunakan RPM, tetapi menambahkan platform orkestrasi untuk mengotomatiskan pengelolaan di lingkungan non-Kubernetes lingkungan.

  • Fleksibilitas seperti cloud: memperluas otomatisasi ke infrastruktur lokal, menangani bootstrapping, failover, dan pengelolaan siklus proses.
  • Framework otomatisasi: terintegrasi dengan alat populer seperti Ansible, sehingga tim dapat menggunakan kumpulan keterampilan yang ada. Anda juga dapat menggunakan alat command line khusus.
  • Fitur perusahaan: dirancang khusus untuk mendukung ketersediaan tinggi (HA) dan pemulihan dari bencana (DR) melalui pengelola cluster terpusat.

Pencadangan dan pemulihan dari bencana (disaster recovery) data

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

Selain itu, AlloyDB Omni dapat membuat dan menyimpan cadangan lengkap data cluster database Anda, baik sesuai permintaan maupun sesuai jadwal rutin. Kapan saja, Anda dapat memulihkan dari cadangan ke cluster database AlloyDB Omni yang berisi semua data dari cluster database asli pada saat cadangan dibuat.

Sebagai metode pemulihan dari bencana lebih lanjut, Anda dapat mencapai replikasi lintas pusat data dengan membuat cluster database sekunder di pusat data terpisah. AlloyDB Omni melakukan streaming data secara asinkron dari cluster database utama yang ditetapkan ke setiap cluster sekundernya. Jika diperlukan, Anda dapat mempromosikan cluster database sekunder menjadi cluster database AlloyDB Omni utama.

Komponen AlloyDB Omni

AlloyDB Omni terdiri dari dua kumpulan komponen arsitektur: komponen PostgreSQL dengan peningkatan AlloyDB Omni dan komponen khusus AlloyDB Omni.

Diagram berikut menunjukkan kedua kumpulan komponen, termasuk lapisan infrastruktur tempat komponen berada, dan fitur untuk setiap komponen.

Arsitektur AlloyDB Omni, yang menampilkan komponen khusus AlloyDB untuk PostgreSQL dan PostgreSQL.

Penyimpanan data

AlloyDB Omni menyimpan data dalam halaman berukuran tetap yang disimpan dalam sistem file yang mendasarinya. Saat kueri perlu mengakses data, AlloyDB Omni akan memeriksa buffer pool terlebih dahulu. Jika halaman yang berisi data yang diperlukan tidak ditemukan di buffer pool, AlloyDB Omni akan membaca halaman yang diperlukan dari sistem file.

Mengakses data dari buffer pool jauh lebih cepat daripada membaca dari sistem file. Memaksimalkan ukuran buffer pool untuk data yang diakses aplikasi adalah faktor penting. Anda dapat menambahkan lapisan cache ultra-cepat secara opsional untuk lebih meningkatkan performa kueri.

Pengelolaan resource

AlloyDB Omni menggunakan pengelolaan memori dinamis otomatis untuk memungkinkan buffer pool tumbuh dan menyusut secara dinamis dalam batas yang dikonfigurasi, bergantung pada permintaan memori sistem. Oleh karena itu, Anda tidak perlu mengoptimalkan ukuran buffer pool. Saat mendiagnosis masalah performa, pertimbangkan terlebih dahulu metrik seperti rasio hit buffer pool dan rasio baca untuk menentukan apakah aplikasi Anda mendapatkan manfaat dari buffer pool. Jika tidak, hal ini menunjukkan bahwa set data aplikasi tidak sesuai dengan buffer pool, dan Anda dapat mempertimbangkan untuk mengubah ukuran ke mesin yang lebih besar dengan lebih banyak memori.

Proses pengambilan, pemfilteran, agregasi, pengurutan, dan proyeksi data memerlukan resource CPU di server database. Untuk mengurangi jumlah resource CPU yang diperlukan untuk proses ini, minimalkan jumlah data yang akan dimanipulasi. Pantau penggunaan CPU di server database untuk memastikan penggunaan kondisi stabil sekitar 70%. Jumlah ini menyisakan headroom yang cukup di server untuk lonjakan penggunaan atau perubahan pola akses dari waktu ke waktu. Menjalankan dengan penggunaan yang lebih mendekati 100% akan menimbulkan overhead karena penjadwalan proses dan pengalihan konteks serta dapat membuat bottleneck di bagian lain sistem. Penggunaan CPU yang tinggi adalah metrik utama lainnya yang dapat digunakan saat membuat keputusan tentang spesifikasi mesin.

Operasi Input/Output Per Detik (IOPS) adalah faktor penting dalam performa aplikasi database, yang mengukur jumlah operasi input atau output per detik yang dapat diberikan perangkat penyimpanan yang mendasarinya ke database. Untuk menghindari melebihi batas IOPS penyimpanan database, minimalkan pembacaan dan penulisan ke penyimpanan. Maksimalkan jumlah data yang sesuai dengan buffer pool atau di lapisan cache.

Columnar engine

Columnar engine bawaan mempercepat pemrosesan kueri analisis yang biasanya melibatkan pemindaian tabel lengkap, gabungan kompleks, dan agregat.

  • Penyimpanan kolom dalam memori: berisi data tabel dan tampilan materialisasi untuk kolom yang dipilih dalam format berorientasi kolom. Secara default, penyimpanan kolom menggunakan 30% memori yang tersedia. Untuk mengubah jumlah memori yang dapat digunakan oleh penyimpanan kolom, tetapkan parameter google_columnar_engine.memory_size_in_mb di postgresql.conf yang digunakan oleh instance AlloyDB Omni Anda.

  • Mesin eksekusi dan perencana kueri berbasis kolom: mendukung penggunaan penyimpanan kolom dalam kueri.

Untuk mengetahui informasi selengkapnya, lihat Tentang columnar engine AlloyDB untuk PostgreSQL.

Pengelolaan memori otomatis

Pengelola memori otomatis terus memantau dan mengoptimalkan penggunaan memori di seluruh instance AlloyDB Omni. Saat Anda menjalankan workload, modul ini akan menyesuaikan ukuran cache buffer bersama berdasarkan tekanan memori.

Secara default, pengelola memori otomatis menetapkan batas atas ke 80% memori sistem dan mengalokasikan 10% memori sistem untuk cache buffer bersama. Untuk mengubah batas atas ukuran cache buffer bersama, tetapkan parameter shared_buffers di postgresql.conf yang digunakan oleh instance AlloyDB Omni Anda.

Autovacuum adaptif

Autovacuum adaptif menganalisis operasi berdasarkan workload database dan secara otomatis menyesuaikan frekuensi vacuuming. Penyesuaian otomatis ini membantu database mempertahankan performa optimal, bahkan saat workload berubah, tanpa gangguan dari proses vacuum.

Autovacuum adaptif menggunakan faktor-faktor berikut untuk menentukan frekuensi dan intensitas operasi vacuuming:

  • Ukuran database
  • Jumlah tuple yang tidak aktif dalam database
  • Usia data dalam database
  • Jumlah transaksi per detik dibandingkan dengan perkiraan kecepatan vacuum
  • Penggunaan resource

Worker AI/ML

Di AlloyDB Omni, worker latar belakang AI/ML menyediakan kemampuan yang diperlukan untuk memanggil model Vertex AI langsung dari database. Worker AI/ML berjalan sebagai proses yang disebut omni ml worker.

Bidang kontrol orchestrator

Opsi deployment orchestrator RPM menggunakan pengelola cluster terpusat untuk mengotomatiskan operasi di seluruh cluster, termasuk bootstrapping dan failover.

Antarmuka pengelolaan

Opsi deployment orchestrator RPM menyediakan utilitas command line (alloydbctl) dan peran Ansible untuk mengelola satu atau beberapa cluster dalam skala besar.

Pengoptimalan performa

Opsi deployment orchestrator RPM mencakup dukungan terintegrasi untuk PgBouncer untuk penggabungan koneksi dan HAProxy untuk load balancing di seluruh endpoint baca-tulis dan hanya baca.

Langkah berikutnya