Spanner ist ein äußerst zuverlässiges, vollständig verwaltetes Datenbanksystem. Während Spanner hat sich zu einem relationalen Datenbankverwaltungssystem weiterentwickelt, Es hat seine Wurzeln als nicht relationales Speichersystem mit Schlüssel/Wert-Paaren und behält die wesentlichen Merkmale eines solchen Systems. Sie können Spanner daher als nicht relationale (NoSQL) Datenbank verwenden und von anderen nicht relationalen Datenbanken zu Spanner migrieren. Dieses Dokument hilft Ihnen, wissen Sie, ob Spanner für Ihr Unternehmen nicht relationale Arbeitslasten.
NoSQL-Datenbanken wurden zu einer Zeit eingeführt, als herkömmliche relationale Datenbanken nicht über Funktionen zur Unterstützung neuer Anwendungen verfügten, die eine hohe Skalierbarkeit, Verfügbarkeit und Rechenelastizität erfordern. Sie taten dies, indem sie verschiedene Funktionen, die oft wichtig für die Datenverwaltung sind, wie z. B. Transaktionen, Konsistenz und Ad-hoc-Abfragen. Spanner wurde entwickelt, um sowohl die anspruchsvolle Natur hochverfügbarer Anwendungen als auch die Funktionen herkömmlicher relationaler Datenbanken zu unterstützen, damit Kunden beide Funktionen nutzen können.
Mit Spanner können Sie mit einfachen, nicht relationalen Speicheranforderungen beginnen und Ihre Anwendung nach Bedarf skalieren.
So erfüllt Spanner NoSQL-Datenbankkriterien
Spanner erfüllt die folgenden Schlüsselkriterien für Ihre NoSQL-Datenbank Arbeitsbelastungen.
Skalierung und Leistung
NoSQL-Datenbanken haben sich aufgrund ihrer Fähigkeit, Lese- und Schreibvorgänge horizontal zu skalieren, großer Beliebtheit erfreut. Mit Spanner müssen Sie sich keine Gedanken über die Skalierung machen. oder die Leistung beeinträchtigen. Spanner mit Schlüssel/Wert-Paar-Stil Datenbanken können horizontal skaliert werden, um Hunderte Millionen Lese- oder Schreibvorgänge zu unterstützen Anfragen pro Sekunde und Petabyte an Daten. Compute von Spanner Die Kapazität wird mit der Arbeitslast skaliert und erhält ein konsistentes Profil mit niedriger Latenz. auch wenn Ihre Anwendung um mehrere Größenordnungen skaliert wird.
NoSQL-API
Der Zugriff auf traditionelle relationale Datenbanken erfolgt in der Regel über SQL, mit einer Lernkurve für Entwickelnde, die nicht mit relationalen Datenbanken vertraut sind. Clients für diese Datenbanken verlassen sich in der Regel auch auf persistente Verbindungen. eine Verbindungs-Pooling-Infrastruktur zur Skalierung erforderlich. In Im Gegensatz dazu basiert die Spanner API auf einer gRPC/HTTP2-Anfrage. und Antwortmodell, das Verbindungsfehler automatisch verarbeitet. Spanner bietet unkomplizierte, sprachnative und effiziente NoSQL-Lese-/Schreib-APIs, die keine SQL-Kenntnisse erfordern Außerdem ist für Spanner-Clients kein Verbindungs-Pooling erforderlich, um zu skalieren.
Vollständig verwaltet
Ein großer Vorteil von NoSQL-Datenbanken besteht darin, dass sie als einfacher verwalten. Da es sich bei Spanner um einen vollständig verwalteten Dienst handelt, fallen für Kunden keine Betriebskosten an. Spanner führt keine Ausfallzeiten aus Software- und Hardware-Updates im Hintergrund und Kompatibilität. Die Spanner API und die Semantik sind die gleichen wie bei die Vorgänge auf einer Datenbank auf einem einzigen Computer ausgeführt werden, erfordern Kenntnisse der internen Spanner-Architektur. Spanner wird in Bereitstellungen von einem Zehntel eines Knotens bis zu zehn Knoten ausgeführt mit Tausenden von Knoten, die automatisch und responsiv mit einem verwaltetes Autoscaling.
semistrukturierte Daten
Spanner unterstützt flexible Datentypen wie JSON und BYTES, die zum Speichern semistrukturierter oder unstrukturierter Daten. Wie andere NoSQL-Datenbanken können Sie diese Datentypen verwenden, damit nicht Ihr gesamtes Speicherschema angegeben wird, im Voraus.
Zugriffssteuerung
Wie andere NoSQL-Datenbanken unterstützt Spanner die IAM-basierte Zugriffssteuerung. Administratoren können den Zugriff konfigurieren und verwalten ohne Nutzernamen und Passwörter in der Datenbank zu speichern.
Wie sich Spanner von herkömmlichen NoSQL-Datenbanken unterscheidet
Spanner bietet die folgenden Vorteile gegenüber herkömmlicher NoSQL Datenbanken.
Transaktionen
Angesichts zunehmender Komplexität von Anwendungen müssen sie oft mehrere Zeilen und mehrere Tabellen gleichzeitig ausführen. transaktionale Vorgänge in der Datenbank. Mit Spanner müssen Sie zu einem transaktionalen Datenspeicher migrieren müssen, wenn Ihre Datenbank wächst, Spanner bietet vollständige Unterstützung für Lese-Schreib-Transaktionen. Als eine ACID-konforme Datenbank bietet, verwaltet Spanner die Konsistenz Ihrer Datenbank, unabhängig vom Maßstab, immer konstant sind.
Datenmodellierung
Das Schemadesign in NoSQL-Datenbanken kann unnatürlich sein, da die Anforderungen an alle Daten in eine Tabelle zu bringen und die Denormalisierung der Daten zu erzwingen, da sie nicht in der Lage sind, Joins durchführen Mit Spanner können Sie Ihr Schema angeben, auf eine einzelne Tabelle zurückgreifen oder denormalisieren. Um Zugriffsmuster zu optimieren, die mehrere Tabellen betreffen, können Sie Tabellen-Interleaving verwenden. Sie können auch tabellenübergreifende Verknüpfungen durchführen.
Ad-hoc-Abfragen
Auch wenn Sie hauptsächlich die NoSQL-API verwenden, ist es oft trotzdem nützlich, Ad-hoc-Ausführungen Abfragen zur Fehlerbehebung oder zu Analysezwecken. Spanner hält die SQL-Standardabfragesprache. Sie können die Priorisierung von Anfragen verwenden. um Ad-hoc-Traffic mit niedriger Priorität vom Online-Traffic zu isolieren, Spanner Data Boost um analytische Abfragen für Rechenressourcen vollständig vom Online-Netzwerk isoliert auszuführen Datenbank-Traffic.
Stark konsistente sekundäre Indexe
Anwendungen benötigen häufig sekundäre Indexe, um Lookups mit niedriger Latenz zu unterstützen. Typische NoSQL-Datenbanken bieten sekundäre Indizes mit Eventual Consistency oder um die Größe eines Index zu begrenzen. Das kann kompliziert werden, die diese Einschränkungen umgehen muss. Spanner bietet hochgradig konsistente sekundäre Indexe in großem Maßstab ohne Größenbeschränkungen. So können Sie sich auf Ihre Anwendungslogik und machen sich keine Gedanken über Konsistenzprobleme.
Ist Spanner das Richtige für Ihre NoSQL-Datenbankanforderungen?
Spanner ist ein flexibles Datenspeichersystem, das sowohl SQL- als auch NoSQL-Anwendungsfälle unterstützt. Einige Anwendungen beginnen mit einem einfachen Speicher. Mit zunehmender Komplexität benötigen sie mehr Funktionen, die in der Regel nicht wie Transaktionen, konsistente sekundäre Indexe und eine flexible Abfragesprache. Mit Spanner sind Sie nicht eingeschränkt Einschränkungen unterliegen und Ihre Anwendung bei Bedarf erweitern kann.
Die meisten nicht relationalen Arbeitslasten eignen sich sehr gut für Spanner. Nicht bietet Spanner eine einfache NoSQL-Read-Write API. aber auch durch Hochverfügbarkeit, hohe Zuverlässigkeit, niedrige Latenz Elastizität und Skalierbarkeit der Rechenleistung. Mit Spanner können Sie verschiedene Arbeitslasten auf einer einzigen flexiblen Plattform konsolidieren.