Bigtable Data Boost – Übersicht

Data Boost ist ein serverloser Computing-Dienst, der auf das Ausführen von Lesejobs mit hohem Durchsatz für Ihre Bigtable-Daten konzipiert wurde, ohne die Leistung der Cluster zu beeinträchtigen, die Ihren Anwendungstraffic verarbeiten. Sie können große Lesejobs und Abfragen mit serverlosem Computing senden, während Ihre Hauptanwendung weiterhin Clusterknoten für die Datenverarbeitung verwendet. SKUs und Abrechnungsraten für serverloses Computing sind von den SKUs und Preisen für bereitgestellte Knoten getrennt. Mit Data Boost können Sie keine Schreib- oder Löschanfragen senden.

In diesem Dokument wird Data Boost beschrieben und wie und wann Sie ihn verwenden können. Bevor Sie diese Seite lesen, sollten Sie sich mit Instanzen, Clustern und Knoten vertraut gemacht haben.

Einsatzmöglichkeit

Data Boost eignet sich ideal für Arbeitslasten für die Datenanalyse und Datenverarbeitung. Wenn Sie Ihren Analyse- und Verarbeitungstraffic mit Data Boost isolieren, müssen Sie die Kapazität oder Knotenanzahl eines Clusters nicht mehr anpassen, um Analysearbeitslasten zu bewältigen. Sie können Ihre Analysejobs mit hohem Durchsatz auf einem einzelnen Cluster mit Data Boost ausführen, während der laufende Anwendungstraffic über Clusterknoten weitergeleitet wird.

Die folgenden Anwendungsfälle eignen sich ideal für Data Boost:

  • Geplante oder ausgelöste Export- oder ETL-Pipelinejobs von Bigtable nach Cloud Storage zur Datenanreicherung, Analyse, Archivierung, Offline-ML-Modellierung oder Datenaufnahme durch Drittanbieter von Kunden
  • ETL mit einem Tool wie Dataflow für kurze Scan- oder Batchleseprozesse, die In-Place-Aggregationen, regelbasierte Transformationen für MDM oder ML-Jobs unterstützen
  • Spark-Anwendungen, die den Bigtable Spark-Connector zum Lesen von Bigtable-Daten verwenden

Nicht geeignet für

Punktlesevorgänge: Data Boost ist nicht die beste Option für Punktlesevorgänge, also Leseanfragen, die für einzelne Zeilen gesendet werden. Dazu gehören auch Batch-Punktlesungen. Aufgrund der Abrechnungsstruktur sind viele Punktlesevorgänge mit einer Zeile erheblich teurer als ein langer Scan.

Daten sofort nach dem Schreiben lesen: Wenn Sie Daten mit Data Boost lesen, werden möglicherweise nicht alle Daten gelesen, die in der letzten halben Stunde geschrieben wurden. Das gilt insbesondere, wenn für Ihre Instanz die Replikation verwendet wird und Sie Daten lesen, die in einen Cluster in einer anderen Region geschrieben wurden, als in der Sie lesen. Weitere Informationen finden Sie unter Konsistenz-Tokens.

Latenzempfindliche Arbeitslasten: Data Boost ist für den Durchsatz optimiert. Daher ist die Leselatenz bei Verwendung von Data Boost höher als bei der Verwendung von Clustern und Knoten. Aus diesem Grund ist Data Boost nicht für Arbeitslasten geeignet, die für die Anwendungsbereitstellung erforderlich sind.

Weitere Informationen zu Arbeitslasten, Konfigurationen und Funktionen, die nicht mit Data Boost kompatibel sind, finden Sie unter Beschränkungen.

Data Boost-Anwendungsprofile

Wenn Sie Data Boost verwenden möchten, senden Sie Ihre Leseanfragen über ein Data Boost-Anwendungsprofil anstelle eines Standard-Anwendungsprofils.

Mit Standard-App-Profilen können Sie die Routingrichtlinie und die Prioritätsstufe für Anfragen angeben, die das App-Profil verwenden, sowie festlegen, ob Transaktionen für einzelne Zeilen zulässig sind. Traffic, der mit einem Standardanwendungsprofil gesendet wird, wird an einen Cluster weitergeleitet. Die Knoten dieses Clusters leiten den Traffic dann auf die Festplatte weiter. Weitere Informationen finden Sie unter Standard-App-Profile – Übersicht.

Bei einem Data Boost-Anwendungsprofil konfigurieren Sie dagegen eine Single-Cluster-Routing-Richtlinie für einen der Cluster Ihrer Instanz. Der Traffic, der dieses Anwendungsprofil verwendet, nutzt serverloses Computing anstelle der Clusterknoten.

Sie können ein neues Data Boost-Anwendungsprofil erstellen oder ein Standard-Anwendungsprofil so konvertieren, dass stattdessen Data Boost verwendet wird. Wir empfehlen, für jede Arbeitslast oder Anwendung ein separates Anwendungsprofil zu verwenden.

Konsistenz-Tokens

Daten, die mehr als 35 Minuten vor Ihrer Leseanfrage in Ihren Zielcluster geschrieben oder repliziert wurden, können von Data Boost gelesen werden.

Sie können sich vergewissern, dass die Daten aus einem bestimmten Schreibjob oder einem bestimmten Zeitraum von Data Boost gelesen werden können, bevor Sie eine Data Boost-Arbeitslast initiieren. Dazu erstellen und verwenden Sie ein Konsistenztoken. Ein Beispiel für einen Workflow:

  1. Schreiben Sie einige Daten in eine Tabelle.
  2. Erstellen Sie ein Konsistenztoken.
  3. Senden Sie das Token im Modus DataBoostReadLocalWrites, um zu ermitteln, wann die Schreibvorgänge von Data Boost in Ihrem Zielcluster gelesen werden können.

Optional können Sie die Replikationskonsistenz prüfen, bevor Sie die Konsistenz von Data Boost prüfen. Senden Sie dazu zuerst ein Konsistenztoken im StandardReadRemoteWrites-Modus.

Weitere Informationen finden Sie in der API-Referenz für CheckConsistencyRequest.

Kontingent und Abrechnung

Die Nutzung von Data Boost wird in serverlosen Verarbeitungseinheiten (SPUs) gemessen. 1.000 SPUs entsprechen einem Knoten in Bezug auf die Leistung. Im Gegensatz zu bereitgestellten Knoten werden Ihnen SPUs nur in Rechnung gestellt, wenn Sie Data Boost verwenden. Für jede Anfrage werden mindestens 60 SPU-Sekunden abgerechnet. Außerdem werden Ihnen mindestens 10 SPUs pro Sekunde in Rechnung gestellt. Weitere Informationen zu den Preisen für Data Boost finden Sie unter Bigtable-Preise.

Ihnen wird ein Kontingent zugewiesen und SPUs werden separat vom Kontingent und den Kosten für Knoten in Rechnung gestellt.

Messwerte zur Eignung

Data Boost ist für Scans mit hohem Durchsatz konzipiert. Arbeitslasten müssen kompatibel sein, damit Data Boost verwendet werden kann. Bevor Sie ein Standard-App-Profil für die Verwendung von Data Boost umwandeln oder ein Data Boost-App-Profil für eine vorhandene Arbeitslast erstellen, prüfen Sie die Messwerte zur Data Boost-Eignung, um sicherzustellen, dass Ihre Konfiguration und Nutzung die erforderlichen Kriterien erfüllt. Lesen Sie sich auch die Einschränkungen durch.

Monitoring

Sie können den Traffic für Data Boost in der Google Cloud Console auf der Seite „Bigtable Monitoring“ in den Messwerten für Ihr Data Boost-App-Profil überwachen. Eine Liste der Messwerte, die je nach App-Profil verfügbar sind, finden Sie unter Diagramme für Bigtable-Ressourcen überwachen.

Sie können die Nutzung von serverlosen Verarbeitungseinheiten (Serverless Processing Units, SPUs) im Bigtable-Monitoring auf dem Tab App-Profil im Messwert „SPU-Nutzung (data_boost/spu_usage_count)“ überwachen.

Sie können die Eignungsmesswerte für das Anwendungsprofil auch nach der Verwendung von Data Boost weiter beobachten.

Beschränkungen

Die folgenden Arbeitslasteigenschaften und Ressourcenkonfigurationen werden für Data Boost nicht unterstützt.

  • Schreib- und Löschvorgänge
  • Traffic, der hauptsächlich aus Lesevorgängen besteht (einzeilige Lesevorgänge)
  • Mehr als 1.000 Lesevorgänge pro Sekunde und Cluster
  • Reverse-Scans
  • Streams ändern
  • Prioritäten anfordern
  • Multi-Cluster-Routing
  • Transaktionen für einzelne Zeilen
  • Regionale Endpunkte
  • HDD-Instanzen
  • GoogleSQL für Bigtable-Abfragen
  • Abfragen im Query Builder von Bigtable Studio
  • Instanzen, die die CMEK-Verschlüsselung verwenden
  • Inkompatible Clientbibliotheken Sie müssen den Bigtable-Client für Java in Version 2.31.0 oder höher verwenden.

    • Für Dataflow-Jobs, bei denen Bigtable-Daten mit BigtableIO gelesen werden, müssen Sie Apache Beam Version 2.54.0 oder höher verwenden.
    • Für Dataflow-Jobs, bei denen Bigtable-Daten mit CloudBigtableIO gelesen werden, müssen Sie bigtable-hbase-beam Version 2.14.1 oder höher verwenden. Folgendes wird in der Vorabversion nicht unterstützt:
  • Bigtable-Daten aus BigQuery lesen

    Nächste Schritte

  • Erstellen oder aktualisieren Sie ein App-Profil.

  • Weitere Informationen zum Bigtable Beam-Connector

  • Verwenden Sie den Bigtable Spark-Connector.