Ringkasan Spanner Omni

Spanner Omni adalah versi Spanner yang dapat didownload yang memungkinkan Anda men-deploy teknologi database terdistribusi Google di pusat data lokal, cloud publik, dan di laptop Anda. Spanner Graph memberikan kemampuan Spanner inti, termasuk skalabilitas horizontal, ketersediaan tinggi, kepatuhan ACID, dan konsistensi eksternal yang kuat, dengan menggunakan replikasi berbasis Paxos, sharding otomatis, dan API TrueTime 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
  • Container Linux
  • Cluster Kubernetes

Versi Pratinjau Spanner Omni mencakup fungsi inti di Spanner, tidak termasuk fitur keamanan dan perlindungan data tingkat perusahaan. 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) 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 sharding 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 karena berjalan di satu mesin. Upgrade ke topologi ini menyebabkan periode 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 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 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) Pod VM atau 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, set 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, rekaman aktivitas, dan stack thread untuk pemecahan masalah.