Mengembangkan aplikasi dengan Spanner Omni menggunakan fitur Spanner yang didukung. Meskipun banyak kemampuan yang dimiliki bersama dengan Spanner, Spanner Omni memiliki perbedaan dalam library klien, antarmuka command-line (CLI), dan fungsi konsol.
Kemampuan pengembangan Spanner yang didukung meliputi:
Fitur seperti aliran perubahan dan penelusuran teks lengkap.
Perbedaan utama
Meskipun sebagian besar pengalaman pengembangan Spanner berlaku, area berikut berbeda di Spanner Omni:
Library klien yang didukung: Spanner Omni mendukung library klien Java, Go, dan Python.
Antarmuka command line (CLI): Spanner Omni CLI adalah alat khusus yang berbeda dari Google Cloud CLI. Meskipun memiliki sintaksis yang serupa, Anda tidak perlu memberikan tanda
--instancesaat menjalankan perintah.Batasan konsol: Konsol Spanner Omni bersifat hanya baca, sehingga Anda tidak dapat menggunakannya untuk mengubah deployment atau database.
Fitur dan praktik terbaik Spanner berikut berlaku untuk Spanner Omni.
Praktik terbaik dan kasus penggunaan
Ikuti praktik terbaik dan kasus penggunaan berikut untuk mendesain dan mengoptimalkan aplikasi Anda untuk Spanner Omni.
Spanner sebagai database game: Gunakan skalabilitas dan konsistensi Spanner untuk backend game.
Praktik terbaik SQL: Optimalkan kueri Anda untuk performa dan efisiensi. Sebagian besar konsep berlaku untuk Spanner Omni. Karena Spanner Omni tidak mendukung penyimpanan bertingkat, konsep seperti pushdown predikat stempel waktu mungkin tidak sepenuhnya berlaku. Selain itu, Spanner Omni tidak memiliki kemampuan visualisasi paket kueri.
Framework bahasa
Mengintegrasikan Spanner Omni dengan framework bahasa populer:
Hibernate ORM
Gunakan Pemetaan Relasional Objek (ORM) Hibernate untuk memetakan objek Java ke tabel Spanner Omni. Untuk informasi selengkapnya, lihat referensi berikut:
Berintegrasi dengan Hibernate ORM (PostgreSQL) dalam dokumentasi Spanner.
Menulis aplikasi Hibernate yang terhubung ke Spanner dalam dokumentasi Spanner.
GORM
Integrasikan Spanner Omni dengan GORM, alat pemetaan relasional objek (ORM) untuk bahasa pemrograman Go. Untuk menggunakan kemampuan pemetaan relasional objek GORM di aplikasi Go Anda. Untuk informasi selengkapnya, lihat referensi berikut:
Berintegrasi dengan GORM (GoogleSQL) dalam dokumentasi Spanner.
Berintegrasi dengan GORM (PostgreSQL) dalam dokumentasi Spanner.
Transaksi dan konkurensi
Spanner Omni mendukung fitur pengelolaan transaksi berikut:
Ringkasan transaksi: Pelajari transaksi baca-tulis dan hanya baca.
Batas stempel waktu: Mengontrol keusangan bacaan Anda. Untuk Spanner Omni, Anda dapat mengonfigurasi periode retensi versi (
version_retention_period) hingga 30 hari. Di Spanner, Anda dapat mengonfigurasi ini hingga satu minggu.Memahami stempel waktu penerapan di database GoogleSQL dan di database PostgreSQL.
TrueTime dan konsistensi eksternal: Pahami cara Spanner mempertahankan konsistensi di seluruh deployment.
Tingkat isolasi
Pahami berbagai tingkat isolasi yang didukung Spanner Omni untuk memastikan konsistensi data.
Pengoptimalan
Gunakan teknik ini untuk mengoptimalkan performa dan throughput transaksi Anda.
Mengunci
Pelajari cara menggunakan penguncian eksplisit untuk mengelola akses serentak ke data Anda.
Akses dan modifikasi data
Akses dan ubah data Anda menggunakan metode Spanner standar, termasuk library klien, CLI, dan DML.
Untuk mempelajari cara library klien mengelola sesi, lihat Sesi. Meskipun konsep sesi yang mendasarinya berlaku untuk Spanner Omni, Spanner Omni hanya mendukung sesi yang di-multiplex.
Membaca data
Membaca data dari Spanner Omni menggunakan berbagai metode, termasuk pembacaan yang tidak berlaku dan pembacaan terarah.
Mengubah data
Ubah data Anda menggunakan DML, mutasi, atau CLI.
Jenis data
Spanner Omni mendukung jenis data berikut untuk merepresentasikan data aplikasi Anda:
Bekerja dengan array di GoogleSQL dan di PostgreSQL.
Pengembangan dan pengujian
Konfigurasi lingkungan pengembangan dan perilaku aplikasi Anda untuk memastikan performa yang andal dan penanganan error.
Mengalirkan perubahan data
Aliran data perubahan Spanner melacak perubahan database seperti penyisipan, pembaruan, dan penghapusan mendekati real time. Dikelola menggunakan DDL, objek ini mencatat detail seperti kunci utama dan stempel waktu commit untuk seluruh database atau tabel tertentu. Meskipun fungsinya hampir identik antara Spanner dan Spanner Omni, Dataflow tidak didukung di Spanner Omni.
Untuk mempelajari lebih lanjut, lihat:
Ringkasan aliran perubahan: Pelajari fungsi aliran perubahan dan cara kerjanya.
Membuat dan mengelola aliran perubahan: Pelajari cara menggunakan DDL untuk membuat, mengubah, dan menghapus aliran perubahan.
Penelusuran teks lengkap
Gunakan penelusuran teks lengkap (FTS) Spanner untuk menelusuri kata, frasa, atau angka dalam tabel. FTS membaca data terbaru yang di-commit.
Fitur utama FTS meliputi:
- Koreksi ejaan otomatis.
- Deteksi bahasa, termasuk untuk bahasa China, Jepang, dan Korea.
Untuk menggunakan FTS, buat indeks penelusuran pada kolom yang ingin Anda telusuri. Spanner menguraikan data dalam kolom ini menjadi kata-kata individual. Indeks diperbarui secara instan saat data baru ditambahkan.
Penelusuran FTS menawarkan kemampuan lanjutan di luar pencocokan teks standar, seperti:
- Menelusuri angka dan rentang angka yang sama persis.
- Menemukan bagian kata (n-gram) untuk nama dan salah eja.
- Menelusuri kata-kata yang terdengar serupa (Soundex).
- Mengabaikan kata-kata umum.
Fungsi FTS konsisten antara Spanner dan Spanner Omni.
Perbedaan teks lengkap di Spanner
Spanner mendukung fungsi FTS inti yang ada di Spanner dengan perbedaan berikut:
Mode kueri yang ditingkatkan tidak didukung di Spanner Omni.
Instance di Spanner setara dengan deployment di Spanner Omni.