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 zum Bereitstellen von Anwendungen 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 (Arbeitslast B) verarbeiten. 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 Arbeitslast B an einen beliebigen Cluster weiterleitet. Erstellen Sie außerdem 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 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. In der Tabelle unter System-Insights-Diagramme für Bigtable-Ressourcen finden Sie Informationen dazu, welche Messwerte auf Profilebene verfügbar sind.
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.
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 Anforderungsprioritäten konfigurieren.
Anwendungsprofile mit In-Memory-Stufe
In Enterprise Plus-Clustern können Sie Anwendungsprofile so konfigurieren, dass der Traffic von der In-Memory-Stufe gelesen wird. Ein Anwendungsprofil, das für die Verwendung der In-Memory-Stufe konfiguriert ist, verwendet standardmäßig Single-Cluster-Routing.
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 für HDD-Cluster 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- zur Data Boost-Isolation oder von der Data Boost- zur Standardisolation umwandeln. Wenn Sie ein Standardanwendungsprofil für die Verwendung von Data Boost umstellen, werden die Einstellungen für die Anfragepriorität sowie alle Routing-Richtlinien, die nicht auf einen einzelnen Cluster ausgerichtet sind, aus dem Anwendungsprofil entfernt.
Änderungen an einem App-Profil treten sofort in Kraft.
In vielen Fällen sollten Sie jedoch anstatt ein verwendetes Anwendungsprofil zu ändern 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 Arbeitslasttyp vorzunehmen, wird das Anwendungsprofil nicht versehentlich für andere Arbeitslasttypen geändert, die das Anwendungsprofil verwenden.
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 „Standard“ ändern, wird für den vom Anwendungsprofil gesendeten Traffic das Computing auf Clusternodes umgestellt. Das bedeutet, dass alle Cluster, an die das Anwendungsprofil weitergeleitet wird, genügend Knoten haben müssen, um die Anforderungen an die CPU-Nutzung 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