Spanner Omni adalah versi Spanner yang dapat di-deploy di mana saja yang memungkinkan Anda menjalankan teknologi database terdistribusi Google di pusat data lokal, cloud publik, seperti Google Cloud, Amazon Web Services (AWS), dan di laptop Anda. Cloud Spanner 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 stack pengembangan yang konsisten di berbagai lingkungan. Spanner Omni mendukung opsi deployment yang mencakup:
- Virtual machine
- Penampung Linux
- Cluster Kubernetes
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) serta Amazon Elastic Kubernetes Service (Amazon EKS) dan Amazon Elastic Compute Cloud (Amazon EC2), lokal, dan laptop.
Skalabilitas tinggi: Spanner Omni dapat secara otomatis melakukan shard data Anda dan menyeimbangkan shard untuk mencapai penskalaan elastis untuk operasi baca dan tulis.
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 sudah dikenal: Berinteraksi dengan data Anda menggunakan Spanner CLI, yang mencakup shell SQL untuk kueri interaktif. Spanner Omni mendukung dialek GoogleSQL, 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. Spanner Omni memungkinkan Anda menggunakan fitur pencadangan dan pemulihan tanpa batasan jika di-deploy dalam konfigurasi server tunggal dengan empat vCPU atau kurang. Upgrade ke topologi ini menyebabkan waktu nonaktif.
Zona tunggal (atau zona) - 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 satu zona dapat menyebabkan pemadaman.
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 setidaknya satu server. Sebaiknya gunakan tiga server di setiap zona. Konfigurasi deployment ini menawarkan ketersediaan yang lebih tinggi daripada deployment satu zona.
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 createkhusus mengumpulkan log, rekaman aktivitas, dan stack thread untuk pemecahan masalah.