Beim Erstellen einer Spanner-Datenbank können Sie zwischen zwei SQL-Dialekten wählen: GoogleSQL und PostgreSQL. Beide Dialekte bieten dieselben grundlegenden Spanner-Funktionen, die gleiche Leistung und die gleiche Skalierbarkeit. Die Anforderungen von Anwendungen, Entwicklern und der Umgebung, in der Sie arbeiten, sollten bei der Auswahl des Dialects berücksichtigt werden. Auf dieser Seite finden Sie die ausschlaggebenden Faktoren für die Verwendung von GoogleSQL- und PostgreSQL-Schnittstellendialekten.
Wichtige Überlegungen:
- Portabilität: Wenn Sie PostgreSQL auswählen, können Sie von Spanner zu einer anderen PostgreSQL-Datenbank migrieren.
- Vertrautheit: Wenn Ihr Team bereits mit der PostgreSQL- oder GoogleSQL-Syntax und ‑Tools vertraut ist, kann die Auswahl dieses Dialects die Entwicklung optimieren und die Lernkurve verkürzen.
- Umgebung:Berücksichtigen Sie die Tools und Bibliotheken, die für jeden Dialekt verfügbar sind. GoogleSQL ist gut in Google Cloud -Dienste eingebunden, während PostgreSQL ein umfangreiches Open-Source-System hat.
- Anforderungen an die Anwendung:Bewerten Sie die spezifischen Anforderungen Ihrer Anwendung in Bezug auf SQL-Syntax, Datentypen und potenzielle zukünftige Anforderungen.
- Migration:Wenn Sie von einer vorhandenen Datenbank migrieren, kann die Auswahl des Dialects, der Ihrer aktuellen Umgebung am nächsten kommt, den Migrationsprozess vereinfachen.
Wenn Portabilität für Sie an erster Stelle steht und Sie die Möglichkeit haben möchten, von Google Cloudwegzukommen, wählen Sie PostgreSQL aus. Wenn Sie die engste Integration mit Google Cloud wünschen(z. B. BigQuery verwenden möchten), wählen Sie GoogleSQL aus.
Spanner-Implementierung von GoogleSQL und PostgreSQL-Schnittstelle:
- Funktionelle Gleichheit:Sowohl GoogleSQL als auch PostgreSQL-Dialekte bieten eine gleichwertige Unterstützung für die einzigartigen Funktionen von Spanner, z. B. verschränkte Tabellen und Abfragehinweise.
- Untergeordnete Engine: Beide Dialekte verwenden dieselbe zugrunde liegende Engine für verteilten Speicher und Abfrageverarbeitung, was für eine gleichbleibende Leistung, Skalierbarkeit und Zuverlässigkeit sorgt.
- Verwaltung und Entwicklung:Sie können Anwendungen für beide Dialekte mit denselben Spanner-Tools, APIs und Clientbibliotheken verwalten und entwickeln.