App-Profile – Übersicht
In einem Anwendungsprofil sind Einstellungen gespeichert, die einer Bigtable-Instanz vorgeben, wie die von einer Anwendung eingehenden Anfragen zu verarbeiten sind. Wenn Ihre Anwendung eine Verbindung zu einer Bigtable-Instanz herstellt, verwendet sie entweder das Standard-App-Profil oder ein von Ihnen angegebenes App-Profil. Bigtable verwendet dieses App-Profil für Anfragen, die die Anwendung über diese Verbindung sendet.
Ein Anwendungsprofil ist entweder ein Standard-Anwendungsprofil oder ein Data Boost-Anwendungsprofil, je nachdem, welche Art von Computing verwendet wird. Ein Standard-Anwendungsprofil verwendet bereitgestellte Clusterknoten für die Datenverarbeitung und wird in der Regel für Traffic verwendet, der für die Anwendungsauslieferung bestimmt ist. Ein Data Boost-Anwendungsprofil verwendet serverloses Computing, das für Lesejobs und ‑abfragen mit hohem Durchsatz konzipiert ist. Weitere Informationen zu Data Boost (Vorabversion) finden Sie in der Data Boost-Übersicht.
Auf dieser Seite werden App-Profile beschrieben und es werden Hinweise zur Verwendung gegeben.
Codebeispiele zur Verwendung eines App-Profils in Ihrer Anwendung finden Sie unter Mit einem benutzerdefinierten App-Profil verbinden.
Separates Anwendungsprofil für jede Arbeitslast verwenden
Wenn Sie eine Bigtable-Instanz erstellen, wird automatisch ein Standard-App-Profil erstellt. Die Einstellungen dieses Profils hängen von der Anzahl der Cluster ab, die die Instanz hat. Wenn Sie die Vorteile von App-Profilen voll ausschöpfen möchten, sollten Sie zusätzliche App-Profile erstellen und verwenden. Verwenden Sie dabei für jede Anwendung oder Arbeitslast ein anderes App-Profil.
App-Profile sind besonders wichtig für Instanzen mit zwei oder mehr Clustern. Auch wenn Ihre Instanz nur einen Cluster hat, sollten Sie für jede ausgeführte Anwendung oder für verschiedene Komponenten in einer einzelnen Anwendung ein eigenes App-Profil verwenden.
In den folgenden Abschnitten werden die Vorteile beschrieben, die sich aus dem Erstellen und Verwenden mehrerer App-Profile ergeben.
Arbeitslastisolation
Mit separaten App-Profilen können Sie unterschiedliche Bigtable-Berechnungs- und Routingrichtlinien für verschiedene Zwecke verwenden. Angenommen, Sie möchten verhindern, dass ein Batch-Lesejob (Arbeitslast A) die CPU-Auslastung in Clustern erhöht, die die kontinuierlichen Lese- und Schreibvorgänge einer Anwendung (Arbeitslast B) verarbeiten. Sie haben folgende Möglichkeiten:
Erstellen Sie ein Standard-App-Profil für Arbeitslast B, das an eine Clustergruppe weiterleitet, aus der ein Cluster ausgeschlossen ist. Anschließend erstellen Sie ein separates Standard-App-Profil für Arbeitslast A, das das Single-Cluster-Routing an den Cluster angibt, an den Arbeitslast B keine Anfragen sendet.
Verwenden Sie ein Standard-App-Profil, das Clusterknoten für die Datenverarbeitung verwendet und so konfiguriert ist, dass es an jeden Cluster für Arbeitslast B weiterleitet. Erstellen Sie dann ein Data Boost-App-Profil für die Verwendung mit einem einzelnen Cluster mit Arbeitslast A. Data Boost verwendet serverloses Computing, während für den Anwendungstraffic Clusterknoten verwendet werden.
Sie können die Einstellungen für eine Anwendung oder Funktion ändern, ohne andere Anwendungen zu beeinflussen, die eine Verbindung zu denselben Daten herstellen.
Beobachtbarkeit
Wenn Sie separate Anwendungsprofile für verschiedene Arbeitslasten verwenden, erhalten Sie bessere Informationen zur Bigtable-Nutzung Ihrer Anwendungen, da Messwerte pro Anwendungsprofil verfügbar sind. Diese Verbesserung der Beobachtbarkeit kann auf folgende Weise hilfreich sein:
Sie können sich die Latenz auf App-Profilebene ansehen, um zu ermitteln, welche Anwendung sich möglicherweise auf die Gesamtleistung auswirkt.
Wenn Sie die CPU-Auslastung pro App-Profil für eine Arbeitslast mit einem Standard-App-Profil überwachen, können Sie Probleme mit der CPU-Auslastung beheben oder Entscheidungen über die Größe oder den Standort des Clusters treffen, um die Nutzung zu optimieren und die Kosten zu senken.
Messwerte auf App-Profilebene sind nützlich, wenn Sie Support benötigen, da Sie so besser die genaue Arbeitslast angeben können, die ein Problem verursacht.
In der Bigtable Google Cloud Console können Sie separate Grafiken Ihrer Bigtable-Messwerte für jedes Anwendungsprofil aufrufen. Welche Messwerte auf Profilebene verfügbar sind, sehen Sie in der Tabelle unter Diagramme für Bigtable-Ressourcen überwachen.
Standard-App-Profile
Ein Standardanwendungsprofil leitet Traffic über die Knoten der Cluster an die Cluster einer Instanz weiter.
Routing
In einem Standard-App-Profil ist die Routingrichtlinie definiert, die von Bigtable verwendet wird und die steuert, ob Transaktionen für einzelne Zeilen zulässig sind. Mit einem Standard-App-Profil können Sie auch die Prioritätsstufe für Anfragen angeben, die über das App-Profil gesendet werden.
Priorität anfordern
Sie können die Priorität angeben, die Bigtable den Datenanfragen eines Standard-App-Profils zuweisen soll. Informationen zu den verfügbaren Prioritätsstufen finden Sie unter Anfrageprioritäten konfigurieren.
Data Boost-Anwendungsprofile
Mit einem Data Boost-Anwendungsprofil können Sie serverloses Computing von Data Boost verwenden, um Jobs und Abfragen mit hohem Durchsatz vom Traffic des App-Dienstes zu isolieren. Bei einem Data Boost-Anwendungsprofil können Sie die Anfragepriorität nicht konfigurieren. Die einzige verfügbare Routingrichtlinie ist „Single-Cluster“. Weitere Informationen finden Sie in der Übersicht zu Data Boost.
Änderungen am App-Profil
Wenn Sie die Routingrichtlinie oder die Anfragepriorität für eine Arbeitslast ändern möchten, können Sie das App-Profil aktualisieren, das für die Arbeitslast verwendet wird. Sie können ein App-Profil auch von der Standard- zur Data Boost-Isolation oder von der Data Boost- zur Standard-Isolation konvertieren. Wenn Sie ein Standard-App-Profil in ein Data Boost-Profil umwandeln, werden die Einstellungen für die Anfragepriorität sowie alle Routingrichtlinien, die nicht für einen einzelnen Cluster gelten, aus dem App-Profil entfernt.
Änderungen an einem App-Profil treten sofort in Kraft.
In vielen Fällen sollten Sie jedoch kein in Verwendung befindliches App-Profil ändern, sondern ein neues App-Profil mit einer anderen Konfiguration erstellen, wie Sie es für einen neuen Anwendungsfall tun würden. Ändern Sie dann den Anwendungscode so, dass das neue App-Profil verwendet wird. Wenn Sie ein neues Anwendungsprofil erstellen, um Änderungen an einer Arbeitslast vorzunehmen, verhindern Sie, dass Sie versehentlich das Anwendungsprofil für andere Arbeitslasten ändern, die das Anwendungsprofil verwenden.
Wenn Sie ein App-Profil von „Standard“ zu „Data Boost“ ändern, wird die Art der Verarbeitung, die für den Traffic des App-Profils verwendet wird, in „serverlos“ geändert. Das gilt auch für die Preise. Weitere Informationen finden Sie in der Übersicht über den Data Boost und in den Bigtable-Preisen.
Wenn Sie ein App-Profil von „Data Boost“ zu „Standard“ ändern, werden für den vom App-Profil gesendeten Traffic Clusterknoten für die Datenverarbeitung verwendet. Das bedeutet, dass alle Cluster, an die das App-Profil weiterleitet, genügend Knoten haben müssen, um die Anforderungen an die CPU-Auslastung zu erfüllen. Weitere Informationen finden Sie unter Knoten.
Informationen zum Ansehen, Erstellen und Aktualisieren von Anwendungsprofilen finden Sie unter Anwendungsprofile erstellen und konfigurieren.
Standardmäßiges App-Profil
Beim Erstellen einer Instanz erstellt Bigtable automatisch ein standardmäßiges Anwendungsprofil für die Instanz. Das standardmäßige App-Profil ist ein Standard-App-Profil, das Sie jedoch in ein Data Boost-Profil umwandeln können. Wenn Ihre Anwendung kein Anwendungsprofil angibt oder wenn Sie die Verbindung zur Instanz über die HBase-Shell herstellen, verwendet Bigtable die Einstellungen im standardmäßigen App-Profil.
Die Einstellungen im Standard-Anwendungsprofil einer Instanz hängen von der Anzahl der Cluster ab, die die Instanz beim ersten Erstellen hatte:
- Wenn Sie die Instanz mit einem Cluster erstellt haben, verwendet das
default
-Anwendungsprofil das Single-Cluster-Routing und ermöglicht Transaktionen mit einer Zeile. Dadurch wird gewährleistet, dass das spätere Hinzufügen zusätzlicher Cluster das Verhalten Ihrer vorhandenen Anwendungen nicht ändert. - Wenn Sie die Instanz mit zwei oder mehr Clustern erstellt haben, verwendet das
default
-Anwendungsprofil das Multi-Cluster-Routing zu einem beliebigen Cluster. Transaktionen für einzelne Zeilen sind beim Multi-Cluster-Routing nie zulässig.
Das standardmäßige Anwendungsprofil wird beim Hinzufügen oder Entfernen von Clustern nicht geändert. Sie müssen das standardmäßige Anwendungsprofil manuell aktualisieren, um dessen Einstellungen zu ändern. Als Best Practice sollten Sie jedoch ein neues Anwendungsprofil erstellen und verwenden, statt das standardmäßige Anwendungsprofil zu ändern.
Benutzerdefinierte App-Profile
Ein benutzerdefiniertes Anwendungsprofil ist ein Anwendungsprofil, das Sie erstellen und konfigurieren. Eine Instanz kann bis zu 2.000 Anwendungsprofile haben. Alle App-Profile, die nicht das Standardprofil sind, gelten als benutzerdefinierte App-Profile.
Nächste Schritte
- CPU-Auslastung eines Standard-App-Profils überwachen
- Richtige Replikationseinstellungen für den jeweiligen Anwendungsfall finden
- App-Profile für die Instanz erstellen und verwalten