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 yang cloud-native, sedangkan AlloyDB Omni di-deploy di penyimpanan pilihan Anda.

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

  • 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 natural language. Untuk mengetahui informasi selengkapnya, lihat Penambahan AlloyDB Omni ke PostgreSQL standar.

Kasus penggunaan AlloyDB Omni

AlloyDB Omni cocok untuk skenario berikut:

  • Anda memerlukan PostgreSQL versi berperforma tinggi dan skalabel yang harus Anda jalankan di tempat karena persyaratan peraturan atau kedaulatan data.
  • Anda memerlukan database yang terus berjalan meskipun terputus dari internet.
  • Anda ingin bermigrasi dari database lama tanpa berkomitmen pada layanan cloud 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 tingkat perusahaan menggunakan data operasional Anda.
  • Integrasi dengan ekosistem AI, termasuk Vertex AI Model Garden dan alat AI generatif open source. Google Cloud
  • Dukungan untuk fitur autopilot dari AlloyDB untuk PostgreSQL di Google Cloud yang memungkinkan AlloyDB Omni mengelola sendiri dan menyesuaikan diri sendiri.

    Misalnya, AlloyDB Omni mendukung pengelolaan memori otomatis dan autovakum adaptif data usang.

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

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

Cara kerja AlloyDB Omni

Anda dapat menginstal AlloyDB Omni dengan salah satu cara berikut:

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

  • AlloyDB Omni untuk Kubernetes: bagian dari container di lingkungan Kubernetes. Operator Kubernetes AlloyDB Omni 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 ketersediaan tinggi (HA) atau tunggal dan operasi hari ke-2 seperti pencadangan, pemulihan, failover, dan penyiapan pemulihan dari bencana (DR) lintas region.

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

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

Mulai dari logging hingga pembersihan hingga mesin kolom, Anda dapat mengonfigurasi perilaku database AlloyDB Omni menggunakan flag database.

Keuntungan menjalankan 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, penampung menawarkan keuntungan berikut:

  • Pengelolaan dependensi yang transparan: semua dependensi yang diperlukan dibundel 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 oleh penampung AlloyDB Omni di mesin host.
  • Pengelolaan resource: Anda dapat menentukan jumlah resource komputasi yang Anda inginkan untuk digunakan oleh container AlloyDB Omni.
  • Patch dan upgrade yang lancar: untuk menerapkan patch pada container, ganti gambar yang ada dengan gambar baru.

Keuntungan menjalankan AlloyDB Omni di lingkungan RHEL

AlloyDB Omni untuk Linux (Pratinjau) dirancang untuk lingkungan yang lebih memilih deployment database non-penampung. Model deployment ini mendukung server bare metal dan virtual machine.

Anda dapat menginstal AlloyDB Omni untuk Linux langsung ke lingkungan yang kompatibel dengan Red Hat Enterprise Linux (RHEL) atau Red Hat menggunakan pengelola paket sistem operasi standar.

AlloyDB Omni untuk Linux mendukung RHEL 9 dan Rocky Linux 9.

Pencadangan data dan pemulihan dari bencana (disaster recovery)

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. Dengan begitu, Anda dapat memulihkan data dari kecelakaan yang menyebabkan hilangnya 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 secara asinkron melakukan streaming data dari cluster database utama yang ditetapkan ke setiap cluster sekundernya. Kapan pun diperlukan, Anda dapat mempromosikan cluster database sekunder menjadi cluster database AlloyDB Omni utama.

Komponen AlloyDB Omni

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

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

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

Gambar 1. Arsitektur AlloyDB Omni

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 kumpulan buffer, 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 kumpulan buffer untuk data yang diakses aplikasi adalah faktor penting. Secara opsional, Anda dapat menambahkan lapisan cache yang sangat cepat untuk lebih meningkatkan performa kueri.

Pengelolaan resource

AlloyDB Omni menggunakan pengelolaan memori dinamis otomatis untuk memungkinkan kumpulan buffer bertambah dan berkurang secara dinamis dalam batas yang dikonfigurasi, bergantung pada permintaan memori sistem. Oleh karena itu, tidak perlu menyesuaikan ukuran pool buffer. Saat mendiagnosis masalah performa, pertama-tama pertimbangkan metrik seperti rasio hit buffer pool dan kecepatan 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, penggabungan, pengurutan, dan proyeksi data semuanya 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 steady-state sekitar 70%. Jumlah ini memberikan ruang yang cukup di server untuk lonjakan penggunaan atau perubahan pola akses dari waktu ke waktu. Menjalankan dengan pemakaian yang mendekati 100% akan menimbulkan overhead karena penjadwalan proses dan pengalihan konteks serta dapat menimbulkan hambatan di bagian lain sistem. Penggunaan CPU yang tinggi adalah metrik penting 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 berapa banyak operasi input atau output per detik yang dapat diberikan perangkat penyimpanan yang mendasarinya ke database. Untuk menghindari melampaui batas IOPS penyimpanan database, minimalkan pembacaan dan penulisan ke penyimpanan dengan memaksimalkan jumlah data yang sesuai di kumpulan buffer atau di lapisan cache.

Mesin kolom

Mesin berbasis kolom bawaan mempercepat pemrosesan kueri analitik yang biasanya melibatkan pemindaian tabel lengkap, gabungan kompleks, dan agregat.

  • Penyimpanan kolom dalam memori: berisi data tabel dan tampilan materialisir 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.

  • Perencana kueri dan mesin eksekusi berorientasi kolom: mendukung penggunaan penyimpanan kolom dalam kueri.

Pengelolaan memori otomatis

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

Secara default, pengelola memori otomatis menetapkan batas atas hingga 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 proses vacuum. Penyesuaian otomatis ini membantu database mempertahankan performa yang optimal, meskipun beban kerja berubah, tanpa gangguan dari proses vacuum.

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

  • Ukuran database
  • Jumlah tuple tidak aktif dalam database
  • Usia data dalam database
  • Jumlah transaksi per detik versus perkiraan kecepatan vacuum
  • Memanfaatkan sumber daya

Pekerja AI/ML

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

Langkah berikutnya