Anwendungsprofile – Ü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-Anwendungsprofil oder ein von Ihnen angegebenes Anwendungsprofil. Bigtable verwendet dieses App-Profil für Anfragen, die die Anwendung über diese Verbindung sendet.
Ein Anwendungsprofil ist entweder ein Standardanwendungsprofil oder ein Data Boost-Anwendungsprofil, je nachdem, welche Art von Computing verwendet wird. Ein Standardanwendungsprofil verwendet bereitgestellte Clusterknoten für das Computing und wird in der Regel für Traffic für die Anwendungsbereitstellung verwendet. Ein Data Boost-Anwendungsprofil verwendet serverloses Computing, das für Lesejobs und ‑anfragen mit hohem Durchsatz konzipiert ist. Weitere Informationen zu Data Boost finden Sie in der Data Boost-Übersicht.
Auf dieser Seite werden App-Profile beschrieben und es wird erläutert, wie Sie sie verwenden können.
Codebeispiele für die 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-Anwendungsprofil erstellt. Die Einstellungen hängen von der Anzahl der Cluster ab, die die Instanz hat. Um die Vorteile von Anwendungsprofilen optimal zu nutzen, sollten Sie zusätzliche Anwendungsprofile erstellen und verwenden. Verwenden Sie für jede Anwendung oder Arbeitslast ein anderes Anwendungsprofil.
Anwendungsprofile 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 Anwendungsprofil verwenden.
In den folgenden Abschnitten werden die Vorteile des Erstellens und Verwendens mehrerer App-Profile beschrieben.
Arbeitslastisolation
Wenn Sie separate Anwendungsprofile verwenden, können Sie für verschiedene Zwecke unterschiedliche Bigtable-Compute- und Routingrichtlinien verwenden. Angenommen, Sie möchten verhindern, dass ein Batchlesejob (Arbeitslast A) die CPU-Auslastung in Clustern erhöht, die die stetigen Lese- und Schreibvorgänge einer Anwendung verarbeiten (Arbeitslast B). Sie haben folgende Möglichkeiten:
Erstellen Sie ein Standard-App-Profil für Arbeitslast B, das an eine Clustergruppe weiterleitet, in der ein Cluster ausgeschlossen ist. Anschließend erstellen Sie ein separates Standard-App-Profil für Arbeitslast A, in dem Single-Cluster-Routing für den Cluster angegeben wird, an den Arbeitslast B keine Anfragen sendet.
Verwenden Sie ein Standardanwendungsprofil, das Clusterknoten für das Computing verwendet und so konfiguriert ist, dass es für Arbeitslast B an einen beliebigen Cluster weitergeleitet wird. Erstellen Sie ein Data Boost-Anwendungsprofil für die Verwendung mit einem einzelnen Cluster mit Arbeitslast A. Data Boost verwendet serverloses Computing, während für den Anwendungstraffic Clusterknoten für das Computing verwendet werden.
Sie können die Einstellungen für eine Anwendung oder Funktion ändern, ohne dass sich dies auf andere Anwendungen auswirkt, die mit denselben Daten verbunden sind.
Beobachtbarkeit
Wenn Sie separate Anwendungsprofile für verschiedene Arbeitslasten verwenden, erhalten Sie einen besseren Einblick in die Nutzung von Bigtable durch Ihre Anwendungen, da Messwerte pro Anwendungsprofil verfügbar sind. Diese verbesserte Beobachtbarkeit kann in folgenden Fällen hilfreich sein:
Sie können sich die Latenz auf App-Profilebene ansehen, um herauszufinden, welche Anwendung die Gesamtleistung beeinträchtigt.
Wenn Sie die CPU-Auslastung pro Anwendungsprofil für eine Arbeitslast mit einem Standard-Anwendungsprofil ü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 die genaue Arbeitslast, die ein Problem verursacht, besser angeben können.
In der Bigtable-Konsole Google Cloud können Sie sich separate Grafiken Ihrer Bigtable-Messwerte für jedes Anwendungsprofil ansehen. Welche Messwerte auf Profilebene verfügbar sind, erfahren Sie in der Tabelle unter System-Insights-Diagramme für Bigtable-Ressourcen.
Standardmäßige App-Profile
Ein Standardanwendungsprofil leitet Traffic mithilfe der 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 mit dem App-Profil gesendet werden.
In Enterprise Plus-Clustern können Sie Standard-Anwendungsprofile so konfigurieren, dass sie Traffic aus der In-Memory-Ebene lesen (Vorschau). Ein Anwendungsprofil, das für die Verwendung von In-Memory konfiguriert ist, verwendet standardmäßig Single-Cluster-Routing.
Anfragepriorität
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 das serverlose Computing von Data Boost verwenden, um Jobs und Abfragen mit hohem Durchsatz vom App-Serving-Traffic zu isolieren. Mit einem Data Boost-Anwendungsprofil können Sie die Priorität von Anfragen nicht konfigurieren. Die einzige verfügbare Routingrichtlinie ist „Single-Cluster“. Weitere Informationen finden Sie unter Data Boost-Übersicht.
Die Enterprise Plus-Version bietet folgende zusätzliche Data Boost-Funktionen:
- Isolierte SQL-Abfragen
- Datenanalyse in HDD-Clustern oder Tabellen mit aktiviertem Tiered Storage
Änderungen am Anwendungsprofil
Wenn Sie die Routingrichtlinie oder die Priorität von Anfragen für eine Arbeitslast ändern müssen, können Sie das für die Arbeitslast verwendete App-Profil aktualisieren. Sie können ein Anwendungsprofil auch von der Standard- in die Data Boost-Isolation oder von der Data Boost- in die Standardisolation umwandeln. Wenn Sie ein Standardanwendungsprofil für die Verwendung von Data Boost umstellen, werden die Einstellungen für die Anfragepriorität aus dem Anwendungsprofil entfernt, ebenso wie alle Routingrichtlinien, die nicht auf einen einzelnen Cluster ausgerichtet sind.
Änderungen an einem App-Profil treten sofort in Kraft.
In vielen Fällen sollten Sie jedoch anstelle der Änderung eines verwendeten Anwendungsprofils ein neues Anwendungsprofil mit einer anderen Konfiguration erstellen, wie Sie es für einen neuen Anwendungsfall tun würden, und dann den Anwendungscode so ändern, dass das neue Anwendungsprofil verwendet wird. Wenn Sie ein neues Anwendungsprofil erstellen, um Änderungen für einen Arbeitslast vorzunehmen, wird das Anwendungsprofil für andere Arbeitslasten, die es verwenden, nicht versehentlich geändert.
Wenn Sie ein Anwendungsprofil von „Standard“ in „Data Boost“ ändern, wird der Typ des Computings, der für den Traffic des Anwendungsprofils verwendet wird, in „serverlos“ geändert. Das gilt auch für die Preise. Weitere Informationen finden Sie unter Data Boost – Übersicht und Bigtable-Preise.
Wenn Sie ein Anwendungsprofil von Data Boost in ein Standardprofil ändern, wird für den vom Anwendungsprofil gesendeten Traffic das Computing auf Clusternknoten verwendet. Das bedeutet, dass alle Cluster, an die das Anwendungsprofil weitergeleitet wird, genügend Knoten haben müssen, um die Anforderungen an die CPU-Auslastung zu erfüllen. Weitere Informationen finden Sie unter Knoten.
Informationen zum Anzeigen, 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 Standard-App-Profil ist ein Standard-App-Profil, Sie können es aber in ein Data Boost-Profil umwandeln. Wenn Ihre Anwendung kein Anwendungsprofil angibt oder wenn Sie mit der HBase-Shell eine Verbindung zu Ihrer Instanz herstellen, verwendet Bigtable die Einstellungen im standardmäßigen Anwendungsprofil.
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 1 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 2 oder mehr Clustern erstellt haben, verwendet das
default-Anwendungsprofil das Multi-Cluster-Routing für jeden 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. Jedes App-Profil, das nicht das Standardprofil ist, gilt als benutzerdefiniertes App-Profil.
Nächste Schritte
- CPU-Auslastung eines Standard-Anwendungsprofils überwachen
- Richtige Replikationseinstellungen für den jeweiligen Anwendungsfall finden
- App-Profile für die Instanz erstellen und verwalten