Ringkasan Spanner Omni

Spanner Omni adalah versi Spanner yang dapat didownload dan memungkinkan Anda men-deploy teknologi database terdistribusi Google di seluruh pusat data lokal, cloud publik, dan di laptop Anda. Spanner Omni memberikan kemampuan inti Spanner, termasuk skalabilitas horizontal, ketersediaan tinggi, kepatuhan ACID, dan konsistensi eksternal yang kuat, dengan menggunakan replikasi berbasis Paxos, sharding otomatis, dan TrueTime API yang ditentukan software.

Spanner Omni mengintegrasikan model data relasional, grafik, vektor, dan nilai kunci dengan kemampuan analisis operasional dan teks lengkap. Seperti Spanner, Spanner Omni mendukung GoogleSQL, PostgreSQL, dan Spanner Graph Language. Anda dapat mencapai ketahanan lintas lingkungan, portabilitas aplikasi, dan tumpukan pengembangan yang konsisten di berbagai lingkungan. Spanner Omni mendukung opsi deployment yang mencakup:

  • Virtual machine
  • Container Linux
  • Cluster Kubernetes

Batasan versi Pratinjau Spanner Omni

Versi Pratinjau Spanner Omni mencakup fungsi inti di Spanner dengan pengecualian penting berikut:

  • Fitur keamanan perusahaan dan enkripsi TLS tidak didukung.

  • Spanner Omni berhenti menulis data 90 hari setelah Anda membuat deployment.

  • Pencadangan dan pemulihan tidak didukung.

Untuk mendapatkan akses awal ke edisi dengan fitur lengkap, hubungi Google.

Fitur utama

Spanner Omni menyediakan fitur berikut:

  • Fleksibilitas deployment: Jalankan Spanner Omni di Linux atau macOS. Spanner Omni mendukung lingkungan cloud publik, seperti Google Cloud (Google Kubernetes Engine (GKE) dan Cloud Storage) dan Amazon Elastic Kubernetes Service (Amazon EKS) dan Amazon Elastic Compute Cloud (Amazon EC2), lokal, dan laptop.

  • Skalabilitas tinggi: Spanner Omni dapat otomatis melakukan sharding data Anda dan menyeimbangkan shard untuk mencapai penskalaan elastis untuk pembacaan dan penulisan.

  • Ketersediaan tinggi: Spanner Omni menawarkan beberapa topologi deployment. Spanner Omni menawarkan deployment multi-zona dan multi-cluster untuk memberikan ketersediaan tinggi jika terjadi kegagalan zona atau cluster.

  • Konsistensi eksternal yang kuat: Spanner Omni memberikan konsistensi transaksional global menggunakan TrueTime berbasis software yang dapat di- deploy di lingkungan mana pun.

  • Multi-model yang dapat dioperasikan: Spanner Omni mendukung beberapa model data (relasional, nilai kunci, grafik, vektor) dan kemampuan (penelusuran teks lengkap, pemrosesan analitis) serta menyediakan kueri lintas model dan transaksi yang sesuai dengan ACID di berbagai model data.

  • Antarmuka yang familiar: Berinteraksi dengan data Anda menggunakan Spanner CLI, yang mencakup shell SQL untuk kueri interaktif. Spanner Omni mendukung GoogleSQL, dialek PostgreSQL, dan GQL yang memungkinkan Anda memigrasikan aplikasi yang ada.

Topologi deployment

Spanner Omni menggunakan hierarki region, zona, dan server untuk menentukan konfigurasi deployment-nya. Spanner Omni menawarkan konfigurasi deployment berikut:

  • Server tunggal - Spanner Omni berjalan di satu mesin. Topologi ini adalah opsi yang baik untuk pengembangan lokal karena berjalan di satu mesin. Upgrade ke topologi ini menyebabkan waktu non-aktif.

  • Zona tunggal (atau zonal) - Semua server Spanner Omni adalah bagian dari satu zona. Gunakan minimal tiga server untuk konfigurasi deployment ini. Untuk waktu aktif yang optimal, topologi ini memiliki target ketersediaan yang lebih rendah karena kegagalan zona tunggal dapat menyebabkan gangguan.

  • Multi-zona (atau regional) - Spanner Omni mendistribusikan server di beberapa zona. Semua zona berada di satu lokasi. Untuk deployment multi-zona, gunakan minimal tiga zona. Setiap zona harus memiliki minimal satu server. Sebaiknya gunakan tiga server di setiap zona. Konfigurasi deployment ini menawarkan ketersediaan yang lebih tinggi daripada deployment zona tunggal.

  • Multi-cluster (atau multi-regional) - Server Spanner Omni berada di beberapa zona di beberapa cluster. Untuk ketersediaan tinggi, gunakan tiga zona di dua cluster atau lebih, dan konfigurasi setiap zona dengan tiga server atau lebih.

Persyaratan sistem

Untuk mengoptimalkan performa, gunakan persyaratan minimum yang direkomendasikan berikut untuk deployment server:

Lingkungan OS atau platform Rekomendasi hardware
Lokal Linux (RHEL 9, Ubuntu 22) RAM 4 GB per vCPU, ruang disk 20+ GB
Cloud (Google Cloud dan AWS) VM atau pod Kubernetes 4 vCPU, RAM 16 GB per VM atau pod Kubernetes
Developer (laptop, desktop) macOS (M1, M2, M3) RAM 4 GB, ruang disk 10 GB

Untuk penyimpanan, sebaiknya gunakan penyimpanan solid-state drive (SSD) khusus dengan sistem file ext4.

Konektivitas dan pengembangan

Untuk terhubung ke Spanner Omni dan mengembangkan aplikasi, pertimbangkan alat berikut:

  • Library klien: Anda dapat menggunakan library klien Spanner yang ada untuk Java dan Go dengan menentukan endpoint Spanner Omni. Misalnya, di Java, tetapkan setExperimentalHost("http://localhost:15000").

  • PGAdapter: Proxy ini memungkinkan aplikasi PostgreSQL yang ada terhubung ke database dialek PostgreSQL Spanner Omni menggunakan protokol wire PostgreSQL standar.

  • Diagnostik: Perintah spanner admin diagnostics create khusus mengumpulkan log, pelacakan, dan tumpukan thread untuk pemecahan masalah.