Anwendungen mit Spanner Omni mithilfe unterstützter Spanner-Funktionen entwickeln. Viele Funktionen sind mit Spanner identisch, aber es gibt Unterschiede bei Clientbibliotheken, der Befehlszeile (Command Line Interface, CLI) und der Konsolenfunktionalität.
Zu den unterstützten Spanner-Entwicklungsfunktionen gehören:
Best Practices für das Design und die Optimierung von Anwendungen
Funktionen wie Änderungsstreams und Volltextsuche.
Wichtige Unterschiede
Viele Aspekte der Spanner-Entwicklung sind auch in Spanner Omni anwendbar. Die folgenden Bereiche unterscheiden sich jedoch:
Unterstützte Clientbibliotheken:Spanner Omni unterstützt die Java-, Go- und Python-Clientbibliotheken.
Befehlszeilenschnittstelle (Command-Line Interface, CLI): Die Spanner Omni CLI ist ein separates Tool, das sich von der Google Cloud CLI unterscheidet. Die Syntax ist zwar ähnlich, aber Sie müssen das Flag
--instancebeim Ausführen von Befehlen nicht angeben.Einschränkungen der Console:Die Spanner Omni Console ist schreibgeschützt. Sie können sie also nicht verwenden, um Bereitstellungen oder Datenbanken zu ändern.
Die folgenden Spanner-Funktionen und Best Practices gelten für Spanner Omni.
Bewährte Vorgehensweisen und Verwendungsfälle
Anhand dieser Best Practices und Anwendungsfälle können Sie Ihre Anwendungen für Spanner Omni entwerfen und optimieren.
Spanner als Gaming-Datenbank: Nutzen Sie die Skalierbarkeit und Konsistenz von Spanner für Gaming-Back-Ends.
Best Practices für SQL: Optimieren Sie Ihre Abfragen hinsichtlich Leistung und Effizienz. Die meisten Konzepte gelten für Spanner Omni. Da Spanner Omni keine mehrstufige Speicherung unterstützt, gelten Konzepte wie das Pushdown von Zeitstempelprädikaten möglicherweise nicht vollständig. Außerdem bietet Spanner Omni keine Funktionen zur Visualisierung von Abfrageplänen.
Sprach-Frameworks
Spanner Omni in beliebte Sprach-Frameworks einbinden:
Hibernate ORM
Mit Hibernate Object-Relational Mapping (ORM) können Sie Ihre Java-Objekte Spanner Omni-Tabellen zuordnen. Hier finden Sie weitere Informationen:
Hibernate zum Herstellen einer Verbindung zu Spanner Omni verwenden
Mit Hibernate ORM (PostgreSQL) integrieren in der Spanner-Dokumentation.
Hibernate-Anwendung schreiben, die eine Verbindung zu Spanner herstellt in der Spanner-Dokumentation.
GORM
Spanner Omni in GORM einbinden, ein Tool für die objektrelationale Zuordnung (ORM) für die Programmiersprache Go. Um die objektrelationale Zuordnung von GORM in Ihren Go-Anwendungen zu verwenden. Weitere Informationen nachstehend:
GORM verwenden, um eine Verbindung zu Spanner Omni herzustellen
Mit GORM integrieren (GoogleSQL) in der Spanner-Dokumentation.
Mit GORM (PostgreSQL) integrieren in der Spanner-Dokumentation.
Transaktionen und Nebenläufigkeit
Spanner Omni unterstützt die folgenden Funktionen für die Transaktionsverwaltung:
Transaktionsübersicht: Hier finden Sie Informationen zu Lese-/Schreib- und schreibgeschützten Transaktionen.
Zeitstempelgrenzen: Damit können Sie die Aktualität Ihrer Lesevorgänge steuern. Für Spanner Omni können Sie die Versionsaufbewahrungsdauer (
version_retention_period) auf bis zu 30 Tage konfigurieren. In Spanner können Sie dies auf bis zu eine Woche konfigurieren.Commit-Zeitstempel in GoogleSQL-Datenbanken und Commit-Zeitstempel in PostgreSQL-Datenbanken
TrueTime und externe Konsistenz: Hier erfahren Sie, wie Spanner die Konsistenz in der gesamten Bereitstellung aufrechterhält.
Isolationsebenen
Informationen zu den verschiedenen Isolationsstufen, die von Spanner Omni unterstützt werden, um Datenkonsistenz zu gewährleisten.
Optimierung
Mit diesen Techniken können Sie die Transaktionsleistung und den Durchsatz optimieren.
Sperren
Hier erfahren Sie, wie Sie mit explizitem Sperren den gleichzeitigen Zugriff auf Ihre Daten verwalten.
Datenzugriff und ‑änderung
Sie können mit Standardmethoden von Cloud Spanner auf Ihre Daten zugreifen und sie ändern, einschließlich der Clientbibliotheken, der CLI und DML.
Informationen dazu, wie Sitzungen in Clientbibliotheken verwaltet werden, finden Sie unter Sitzungen. Die zugrunde liegenden Sitzungskonzepte gelten zwar auch für Spanner Omni, es werden aber nur gemultiplexte Sitzungen unterstützt.
Daten lesen
Daten aus Spanner Omni mit verschiedenen Methoden lesen, einschließlich veralteter und gerichteter Lesevorgänge.
Daten ändern
Ändern Sie Ihre Daten mit DML, Mutationen oder der CLI.
Datentypen
Spanner Omni unterstützt die folgenden Datentypen zur Darstellung der Daten Ihrer Anwendung:
Mit Arrays in GoogleSQL und in PostgreSQL arbeiten
Entwicklung und Tests
Konfigurieren Sie Ihre Entwicklungsumgebung und das Verhalten der Anwendung, um eine zuverlässige Leistung und Fehlerbehandlung zu gewährleisten.
Datenänderungen streamen
Mit Spanner-Änderungsstreams werden Datenbankänderungen wie Einfügungen, Aktualisierungen und Löschungen nahezu in Echtzeit erfasst. Sie werden mit DDL verwaltet und enthalten Details wie Primärschlüssel und Commit-Zeitstempel für ganze Datenbanken oder bestimmte Tabellen. Die Funktionalität von Spanner und Spanner Omni ist nahezu identisch, Dataflow wird jedoch in Spanner Omni nicht unterstützt.
Weitere Informationen erhalten Sie unter:
Übersicht über Änderungsstreams: Hier erfahren Sie, was Änderungsstreams tun und wie sie funktionieren.
Änderungsstreams erstellen und verwalten: Hier erfahren Sie, wie Sie mit DDL Änderungsstreams erstellen, ändern und löschen.
Volltextsuche
Mit der Spanner-Volltextsuche (Full-Text Search, FTS) können Sie Tabellen nach Wörtern, Formulierungen oder Zahlen durchsuchen. FTS liest die zuletzt übertragenen Daten.
Zu den wichtigsten Funktionen von FTS gehören:
- Automatische Rechtschreibkorrektur:
- Spracherkennung, auch für Chinesisch, Japanisch und Koreanisch.
Wenn Sie FTS verwenden möchten, erstellen Sie Suchindexe für die Spalten, die Sie durchsuchen möchten. In Spanner werden Daten in diesen Spalten in einzelne Wörter unterteilt. Der Index wird sofort aktualisiert, wenn neue Daten hinzugefügt werden.
FTS-Suchvorgänge bieten erweiterte Funktionen, die über den Standardtextabgleich hinausgehen, z. B.:
- Suche nach genauen Zahlen und Zahlenbereichen
- Teile von Wörtern (N-Gramme) für Namen und Rechtschreibfehler finden:
- Nach ähnlich klingenden Wörtern suchen (Soundex):
- Gängige Wörter ignorieren:
Die FTS-Funktionen sind in Spanner und Spanner Omni identisch.
Volltextunterschiede in Spanner
Spanner unterstützt die Kernfunktionen für die Volltextsuche, die in Spanner enthalten sind, mit den folgenden Unterschieden:
Der erweiterte Abfragemodus wird in Spanner Omni nicht unterstützt.
Eine Instanz in Cloud Spanner entspricht einer Bereitstellung in Spanner Omni.