Entwickeln Sie Anwendungen mit Spanner Omni mithilfe der unterstützten Spanner-Funktionen. Viele Funktionen sind mit Spanner identisch, aber es gibt Unterschiede bei den Clientbibliotheken, der Befehlszeilenschnittstelle (Command-Line Interface, CLI) und der Konsolenfunktionalität.
Zu den unterstützten Spanner-Entwicklungsfunktionen gehören:
Best Practices für das Anwendungsdesign und die Anwendungsoptimierung.
Funktionen wie Änderungsstreams und Volltextsuche.
Wichtige Unterschiede
Viele Aspekte der Spanner-Entwicklung gelten auch für Spanner Omni, aber in den folgenden Bereichen gibt es Unterschiede:
Unterstützte Clientbibliotheken:Spanner Omni unterstützt die Clientbibliotheken für Java, Go und Python.
Befehlszeilenschnittstelle (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 Konsole:Die Spanner Omni-Konsole 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
Beachten Sie diese Best Practices und Verwendungsfälle, um Ihre Anwendungen für Spanner Omni zu entwerfen und zu 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 auch für Spanner Omni. Da Spanner Omni keinen mehrstufigen Speicher 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.
Sprachframeworks
Binden Sie Spanner Omni in gängige Sprachframeworks ein:
Hibernate ORM
Verwenden Sie Hibernate Object-Relational Mapping (ORM), um Ihre Java-Objekte Spanner Omni-Tabellen zuzuordnen. Hier finden Sie weitere Informationen:
Einbindung in Hibernate ORM (PostgreSQL) in der Spanner-Dokumentation.
Eine Hibernate-Anwendung schreiben, die eine Verbindung zu Spanner herstellt in der Spanner-Dokumentation.
GORM
Binden Sie Spanner Omni in GORM ein, ein Tool für die objektrelationale Zuordnung (Object-Relational Mapping, ORM) für die Programmiersprache Go. Verwenden Sie die Funktionen für die objektrelationale Zuordnung von GORM in Ihren Go-Anwendungen. Hier finden Sie weitere Informationen:
Einbindung in GORM (GoogleSQL) in der Spanner-Dokumentation.
Einbindung in GORM (PostgreSQL) in der Spanner-Dokumentation.
Transaktionen und Parallelität
Spanner Omni unterstützt die folgenden Funktionen zur Transaktionsverwaltung:
Transaktionen – Übersicht: Informationen zu Lese-/Schreib- und Nur-Lese-Transaktionen.
Zeitstempelgrenzen: Steuern Sie die Aktualität Ihrer Lesevorgänge. Für Spanner Omni, können Sie die Versionsaufbewahrungsdauer (
version_retention_period) auf bis zu 30 Tage konfigurieren. In Spanner können Sie diesen Zeitraum auf bis zu eine Woche konfigurieren.Informationen zu Commit-Zeitstempeln in GoogleSQL-Datenbanken und in PostgreSQL-Datenbanken.
TrueTime und externe Konsistenz: Informationen dazu, wie Spanner die Konsistenz in der gesamten Bereitstellung aufrechterhält.
Isolationsebenen
Informationen zu den verschiedenen Isolationsebenen, die von Spanner Omni unterstützt werden, um die Datenkonsistenz zu gewährleisten.
Optimierung
Mit diesen Techniken können Sie die Transaktionsleistung und den Durchsatz optimieren.
Sperren
Informationen zur Verwendung der expliziten Sperrung, um den gleichzeitigen Zugriff auf Ihre Daten zu verwalten.
SELECT FOR UPDATEin der serialisierbaren Isolation verwenden.Verwenden Sie
SELECT FOR UPDATEin der Isolation wiederholbarer Lesevorgänge.
Datenzugriff und ‑änderung
Greifen Sie mit Standardmethoden von Spanner auf Ihre Daten zu und ändern Sie sie, einschließlich der Clientbibliotheken, der CLI und DML.
Informationen dazu, wie Clientbibliotheken Sitzungen verwalten, finden Sie unter Sitzungen. Die zugrunde liegenden Sitzungskonzepte gelten auch für Spanner Omni, aber es werden nur Multiplex-Sitzungen unterstützt.
Daten lesen
Lesen Sie Daten aus Spanner Omni mit verschiedenen Methoden, einschließlich veralteter Lesevorgänge und gezielter 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:
Arrays in GoogleSQL und in PostgreSQL verwenden.
Entwicklung und Tests
Konfigurieren Sie Ihre Entwicklungsumgebung und das Anwendungsverhalten, um eine zuverlässige Leistung und Fehlerbehandlung zu gewährleisten.
Datenänderungen streamen
Spanner Änderungsstreams verfolgen Datenbank änderungen wie Einfügungen, Aktualisierungen und Löschungen nahezu in Echtzeit. Sie werden mit DDL verwaltet und erfassen Details wie Primärschlüssel und Commit-Zeitstempel für gesamte Datenbanken oder bestimmte Tabellen. Die Funktionalität ist zwischen Spanner und Spanner Omni nahezu identisch, aber Dataflow wird in Spanner Omni nicht unterstützt.
Weitere Informationen:
Änderungsstreams – Übersicht: Informationen zu Funktion und Funktionsweise von Änderungsstreams.
Änderungsstreams erstellen und verwalten: Informationen zum Erstellen, Ändern und Löschen von Änderungsstreams mit DDL.
Volltextsuche
Mit der Spanner-Volltextsuche (Full-Text Search, FTS) können Sie Tabellen nach Wörtern, Wortgruppen 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. Spanner unterteilt die Daten in diesen Spalten in einzelne Wörter. 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.
- Suche nach Wortteilen (n-Grammen) für Namen und Rechtschreibfehler.
- Suche nach ähnlich klingenden Wörtern (Soundex).
- Häufige Wörter ignorieren.
Die FTS-Funktionalität ist zwischen Spanner und Spanner Omni identisch.
Unterschiede bei der Volltextsuche in Spanner
Spanner unterstützt die Kernfunktionen von FTS, die in Spanner enthalten sind, mit den folgenden Unterschieden:
Der erweiterte Abfragemodus wird in Spanner Omni nicht unterstützt.
Eine Instanz in Spanner ist äquivalent zu einer Bereitstellung in Spanner Omni.
Nächste Schritte
Mit der Go-Clientbibliothek eine Verbindung zu Spanner herstellen.
Mit der Java-Clientbibliothek eine Verbindung zu Spanner herstellen.