Einblick in die feinkörnige Ressourcenverwaltungs- und Steuerungstechnologie von GaussDB

Dieser Artikel wurde von der Huawei Cloud Community „ [GaussTech Express] Technical Interpretation of Fine-grained Resource Management and Control “, Autor: GaussDB-Datenbank, geteilt.

Hintergrund

Ressourcenkontrolle und Ressourcenisolation innerhalb von Datenbankclustern sind seit langem Anforderungen von Unternehmenskunden. Als verteilte Datenbank auf Unternehmensebene hat sich Huawei Cloud GaussDB zum Ziel gesetzt, die Verwaltungsanforderungen von Unternehmen für große Datenbankcluster zu erfüllen.

Zu den Ressourcen, die die Datenbank verwalten kann, gehören Rechenressourcen, Speicher, E/A und Netzwerk. Zu den Speicherressourcen gehören Datenspeicherplatz, Protokollspeicherplatz und temporäre Dateien.

Aus der Sicht eines Benutzers stellt die Ressourcenverwaltung und -steuerung die Einhaltung von Service Level Agreements sicher, indem Schwellenwerte oder Prioritätsgrenzen für die Ressourcennutzung festgelegt werden. Gleichzeitig wird die Ressourcenisolation zwischen verschiedenen Benutzern gewährleistet und der Zweck der gemeinsamen Nutzung von Datenbankressourcen zwischen mehreren Mandanten erreicht.

Aus Systemsicht kann die Einführung von Ressourcenüberwachungs- und -kontrollmethoden den Zweck einer rationellen Ressourcennutzung unter kontrollierbaren Bedingungen erreichen, eine Ressourcenerschöpfung vermeiden und verhindern, dass das System reagiert und abstürzt. Die Jobpriorität kann den reibungslosen Betrieb von Jobs sicherstellen, verhindern, dass ein Job andere Jobs beeinträchtigt, wenn seine Ressourcennutzung zu hoch ist, und die Ressourcennutzung maximieren, wenn Ressourcen reichlich vorhanden sind. Darüber hinaus kann es auch externe Erwartungen erfüllen und eine maximale Nutzung der Systemressourcen gewährleisten. Durch die Kontrolle des Jobs können wir sicherstellen, dass der Job stabil ist, und unkontrollierbares Verhalten während der Jobausführung vermeiden.

Um die oben genannten Ziele zu erreichen, bietet die Huawei Cloud GaussDB-Datenbank eine Lösung für die feinkörnige Verwaltung und Kontrolle von Ressourcen im Datenbankcluster – feinkörnige Ressourcenverwaltung und -kontrolle. Diese Lösung bietet entsprechende Verwaltungs- und Kontrollfunktionen auf verschiedenen Kontrollgranularitäten (z. B. Benutzerebene, Sitzungsebene und Anweisungsebene) und verschiedenen Kontrolldimensionen (CPU, Speicher und IO). Benutzer können entsprechend ihren eigenen Geschäftsanforderungen geeignete Kontrolldimensionen und Kontrollgranularität übernehmen, um die Ziele der Ressourcenkontrolle und Ressourcenisolation zu erreichen und die Anforderungen der Ressourcenkontrolle in verschiedenen Szenarien zu erfüllen.

Technologiearchitektur

Schauen wir uns zunächst die technische Architektur und die Funktionsprinzipien der feinkörnigen Ressourcenverwaltung und -steuerung an:

Folie 1.PNG

Wie Sie dem Bild oben entnehmen können, bietet GaussDB ein Ressourcenpoolmodul zur Vervollständigung der Verwaltungs- und Steuerlogik von CPU, Speicher und E/A. Benutzer können einen Ressourcenpool erstellen und die CPU-, Speicher- und E/A-Anteile angeben, die er verwenden kann, und den Ressourcenpool an den Benutzer binden. Anschließend unterliegt der vom Benutzer initiierte Job einer Echtzeit-Ressourcenverwaltung und -kontrolle während des Betriebs der Datenbankkernoptimierungs- und Parsing-, Ausführungs-Engine- und Speicher-Engine-Module, um sicherzustellen, dass seine CPU, sein Speicher und seine E/A innerhalb der liegen Umfang des entsprechenden Ressourcenpools.
 
Angenommen, Unternehmen A stellt eine GaussDB-Instanz bereit und drei verschiedene Anwendungen greifen gleichzeitig auf die Instanz zu, z. B. OLTP-Geschäft, Berichtsgeschäft und andere Geschäfte mit niedriger Priorität. Unternehmen A hofft, die Ressourcen der drei Unternehmen angemessen verwalten und kontrollieren zu können, damit das System reibungslos funktioniert und gleichzeitig eine maximale Ressourcennutzung gewährleistet ist. Wir können den Systemadministrator verwenden, um den folgenden Befehl auszuführen, um das Ressourcenanteilsverhältnis für die drei Geschäftsbenutzer auf 50:30:10 festzulegen, und die restlichen 10 % sind für das System reserviert.
 
Hier sind nur einfache Anwendungsbeispiele. Die spezifische Bedeutung der einzelnen Parameter wird in den folgenden Kapiteln ausführlich erläutert.
 
Erstellen Sie den Ressourcenpool respool_tp with(control_group="cgroup_tp", max_dynamic_memory="5GB", max_shared_memory="5GB", io_limits=50, io_priority="High");
alter Role tp_user RESOURCE POOL 'respool_tp';

Erstellen Sie den Ressourcenpool respool_report with(control_group="cgroup_report", max_dynamic_memory="3GB", max_shared_memory="3GB", io_limits=30, io_priority="Medium");
alter role report_user RESOURCE POOL 'respool_report';

Erstellen Sie den Ressourcenpool respool_other with(control_group="cgroup_other", max_dynamic_memory="1GB", max_shared_memory="1GB", io_limits=10, io_priority="Low");
alter Role other_user RESOURCE POOL 'respool_other';
Wenn OLTP-Geschäfte, Berichtsgeschäfte und andere Unternehmen mit niedriger Priorität nach den oben genannten Vorgängen tp_user, report_user und other_user verwenden, um eine Verbindung zu GaussDB herzustellen und Jobs auszuführen, werden diese drei Unternehmen von den entsprechenden Ressourcenpools respool_tp, respool_report und respool_other gesteuert Ressource Wenn ein Konflikt auftritt, ist garantiert, dass die drei Unternehmen jeweils 50 %, 30 % und 10 % der Ressourcen des GaussDB-Clusters nutzen können.

Schlüsselfähigkeiten

Nachdem wir die Gesamtarchitektur und die Nutzung der feinkörnigen Ressourcenverwaltung und -steuerung verstanden haben, werfen wir einen Blick auf die wichtigsten Funktionen und welchen Geschäftswert diese Funktionen für Kunden bringen können.

CPU-Steuerung

Die CPU-Verwaltung und -Steuerung von GaussDB basiert auf der Granularität des Ressourcenpools für die Verwaltung und Steuerung von Benutzerressourcen. Jeder Ressourcenpool ist an eine Kontrollgruppe gebunden, und die CPU-Verwaltung und -Steuerung wird über die Kontrollgruppe (Kontrollgruppe, CGroup) implementiert. CGroup ist ein vom Linux-Kernel bereitgestellter Mechanismus zum Begrenzen, Aufzeichnen und Isolieren der von Prozessgruppen verwendeten physischen Ressourcen (wie CPU, Speicher, E/A usw.).
 
Unter Berücksichtigung der Isolation und Konfigurierbarkeit von Datenbanksystemen, Benutzern und Jobs in verschiedenen Dimensionen verwendet GaussDB die hierarchischen Merkmale von Kontrollgruppen, um ein Modell zu erstellen, das dem Datenbankszenario entspricht (siehe Abbildung unten) und die Schlüsselmerkmale von erfüllt Kunden-SLA und unterstützt drei Dimensionen: Isolation zwischen Datenbankprogrammen und Nicht-Datenbankprogrammen, Isolation zwischen datenbankresidenten Backup-Threads und Ausführungsjob-Threads und Isolation zwischen mehreren Datenbankbenutzern.

Folie 2.PNG

Die GaussDB-Kontrollgruppe kann den CPU-Prozentsatz und die Obergrenze der Anzahl der Kerne festlegen. Der Root-Knoten ist für die Steuerung des für den GaussDB-Prozess verfügbaren CPU-Anteils verantwortlich Hintergrund-Threads (Vacuum, DefaultBackend); die Klassenkontrollgruppe ist für die Steuerung verantwortlich. Der CPU-Anteil des Job-Threads (UserClass1, UserClass2, ... UserClassN) kann ebenfalls erstellt werden innerhalb der Klassenkontrollgruppe für eine detailliertere Kontrolle.
 
In Fortsetzung des obigen Beispiels verwenden wir das von GaussDB bereitgestellte CGroup-Tool, um Kontrollgruppen für das OLTP-Geschäft, das Berichtsgeschäft und andere Geschäfte mit niedriger Priorität von Unternehmen A mit CPU-Zuteilungsverhältnissen von 50 %, 30 % und 10 % zu erstellen.
 
gs_cgroup -c -S cgroup_tp -s 50;
gs_cgroup -c -S cgroup_report -s 30;
gs_cgroup -c -S cgroup_other -s 10;
Das Ausführen des obigen Befehls bedeutet, dass wir drei Kontrollgruppen erfolgreich erstellt haben. Anschließend können wir beim Erstellen eines Ressourcenpools den Namen der Kontrollgruppe angeben. Jobs, die von an den Ressourcenpool gebundenen Benutzern initiiert werden, werden durch den entsprechenden CPU-Anteil der Kontrollgruppe gesteuert.
 
Bei der CPU-Steuerung mit CGroup müssen Sie zwei Punkte beachten:
 
Wenn zunächst die CPU eines Threads von einer CGroup gesteuert werden muss, muss die System-API der CGroup ausgeführt werden, um die entsprechende CGroup an den Thread zu binden, was ein zeitaufwändiger Vorgang ist.
Zweitens ist der CPU-Steuerungseffekt von CGroup am besten, wenn die Anzahl der Threads proportional zur CPU ist.
 
Basierend auf diesen Problemen schlug GaussDB das Konzept der Thread-Gruppe vor. Jeder Ressourcenpool entspricht einer Thread-Gruppe, und die Threads in der Thread-Gruppe sind an die CGroup gebunden, die dem Ressourcenpool entspricht. Gleichzeitig passt GaussDB die Anzahl der Threads in jeder Thread-Gruppe so an, dass sie mit dem CPU-Anteil der entsprechenden CGroup übereinstimmt. Einzelheiten finden Sie in der folgenden Abbildung:
Folie 3.PNG
Jeder vom Benutzer initiierte Job wird zur Ausführung an die Threads in der entsprechenden Thread-Gruppe verteilt. Da der Thread an den entsprechenden Cgroup-Knoten gebunden wurde, übernimmt das Betriebssystem die CPU-Verwaltung und -Steuerung während der Thread-Planung.
 
GaussDB bietet einen zweistufigen Benutzermechanismus. Der an die Klassenkontrollgruppe gebundene Ressourcenpool wird als Gruppenressourcenpool bezeichnet, und die entsprechenden Benutzer sind Gruppenbenutzer. Der an die Arbeitslastkontrollgruppe gebundene Ressourcenpool wird als Geschäftsressourcenpool bezeichnet Die entsprechenden Benutzer sind Geschäftsbenutzer. Gruppenbenutzer entsprechen im Allgemeinen einer Abteilung, während Geschäftsbenutzer verschiedenen Unternehmen dieser Abteilung entsprechen. Übersteigt der Ressourcenanteil jeder Ressourcendimension im Unternehmensressourcenpool den Anteil des Ressourcenpools der Gruppe, zu der sie gehört, und wird so das Ziel einer zweistufigen Ressourcenverwaltung und -kontrolle erreicht?
 
Die CPU-Steuerung stellt außerdem einen GUC namens session_respool bereit, um die CPU einer einzelnen Sitzung so zu begrenzen, dass sie das CPU-Limit des entsprechenden Ressourcenpools nicht überschreitet.

Speicherverwaltung

GaussDB ermöglicht die Verwaltung und Steuerung des dynamischen Speichers und des gemeinsam genutzten Caches. Beim Erstellen eines Ressourcenpools können Sie max_dynamic_memory und max_shared_memory angeben, um die Schwellenwerteinstellungen für den dynamischen Speicher bzw. den gemeinsam genutzten Cache festzulegen.
 
Die dynamische Speicherverwaltung ändert nichts an ihrem ursprünglichen Speicherressourcenzuweisungsmechanismus. Sie fügt lediglich eine logische Beurteilungsebene hinzu, um den übermäßig zugewiesenen Speicher zu berücksichtigen, und prüft, ob der Abrechnungswert die Obergrenze des zulässigen Speichers erreicht Kontrolle. Wenn der dynamische Speicher die Obergrenze überschreitet, kann der Job keinen Speicher beantragen. Wenn ein Job beendet wird, wird der vom Job angeforderte Speicher freigegeben, um sicherzustellen, dass andere Jobs normal ausgeführt werden können. Wenn der von einem Job verwendete gemeinsam genutzte Cache die Obergrenze des Ressourcenpools überschreitet und Sie den gemeinsam genutzten Cache erneut beantragen, müssen Sie zunächst den bereits belegten gemeinsam genutzten Cache, z. B. BufferPool, freigeben Wenn sich der Auftrag auf eine Seite bezieht, wird die bereits belegte Seite gelöscht. Die verbleibenden Seiten stehen nach der Löschung für Ihre weitere Nutzung zur Verfügung.
 
Zusätzlich zur benutzerspezifischen Speichersteuerung bietet GaussDB auch zwei GUC-Parameter, session_max_dynamic_memory und query_max_mem, um die dynamische Speichersteuerung auf Sitzungs- und Anweisungsebene abzuschließen. Wenn der von einer Sitzung oder Anweisung verwendete dynamische Speicher den GUC-Schwellenwert erreicht, wird der Job ausgeführt beantragt keinen Speicher.

IO-Steuerung

Die Lese- und Schreib-E/A von GaussDB werden alle von einem Hintergrundthread ausgeführt. Dieser Thread kann den Eigentümer der Seite nicht unterscheiden. Er schreibt nur in chronologischer Reihenfolge auf die Festplatte und kann die unterschiedliche E/A-Nutzung für verschiedene Benutzer nicht steuern. Bedenken Sie auf dieser Grundlage, dass die E/A-Verwaltungs- und Steuerfunktion logische E/A-Statistiken verwendet, um die Lese- und Schreib-E/A von Benutzern oder Sitzungen zu steuern und zu begrenzen. Für Zeilenspeichertabellen wird eine logische E/A-Anzahl hinzugefügt. alle 6000 (kann übergeben werden) io_control_unit GUC (geändert durch GUC) wird als ein IO gezählt. Wenn die Anzahl der in einer Sekunde generierten Lese- und Schreib-IO-Anforderungen den vom Ressourcenpool festgelegten Schwellenwert überschreitet, wird die IO-Anforderung zu einer Warteschleife hinzugefügt Warteschlange des Hintergrundthreads, und der Hintergrundthread antwortet auf die Warteschlange. Diese E/A-Anforderungen werden überwacht, und wenn ihre Wartezeit die Bedingungen erfüllt, werden diese E/A-Anforderungen aus der Warteschlange geweckt.
 
GaussDB unterstützt zwei Modi der E/A-Ressourcenverwaltung und -steuerung. Der Online-Numerikmodus steuert E/A-Ressourcen durch Festlegen eines festen Werts für die Auslösung von E/A-Zeiten Wenn der Online-Wertmodus erreicht wird, können Benutzer die E/A über diesen Modus steuern, um das Prioritätsverhältnis des Jobs zu steuern, der ursprünglich die E/A ausgelöst hat. Die Priorität umfasst drei Ebenen: Hoch, Mittel und Niedrig.
 

4.PNG

In Fortsetzung des obigen Beispiels erstellen wir Ressourcenpools für das OLTP-Geschäft, das Reporting-Geschäft und andere Geschäfte mit niedriger Priorität von Unternehmen A und legen die IO-Gewichtungen jeweils auf „Hoch“, „Mittel“ und „Niedrig“ fest. Dann kann das OLTP-Unternehmen 50 % der E/A-Anfragen zum Lesen oder Schreiben von Daten in den BufferPool verwenden, und eine kleine Anzahl von E/A-Anfragen wird in die Warteschlange gestellt, um zu warten. Das berichtende Unternehmen kann 20 % der E/A-Anfragen zum Lesen verwenden oder schreiben Sie Daten in den BufferPool. Weitere E/A-Anforderungen werden in die Warteschlange gestellt, um zu warten warten; der Hintergrundüberwachungsthread durchläuft regelmäßig die E/A-Warteschlange und weckt E/A-Anforderungen, die die erforderliche Wartezeit zum Lesen oder Schreiben von Daten aus dem BufferPool erfüllen.
 
Zusätzlich zur Unterstützung der benutzergranularen E/A-Steuerung unterstützt GaussDB auch das Festlegen der GUC-Parameter io_limits und io_priority auf Sitzungsebene, um die E/A-Steuerung der in einer bestimmten Sitzung zulässigen Jobs abzuschließen.

Anzahl der Verbindungen und Parallelitätsverwaltung

GaussDB bietet Verbindungsnummernkontrolle und Parallelitätskontrolle basierend auf Ressourcenpools. Beim Erstellen eines Ressourcenpools können Sie max_connections und max_concurrency angeben, um die Einstellungen für die Anzahl der Verbindungen bzw. die Parallelität zu vervollständigen Die drei Unternehmen von Unternehmen A im vorherigen Beispiel vervollständigen die Verwaltung und Kontrolle der Anzahl der Verbindungen und der Anzahl der Parallelitäten:
 
Ressourcenpool respool_tp ändern mit (max_connections=-1, max_concurrency = -1);
Ressourcenpool respool_report ändern mit (max_connections=200, max_concurrency = 100);
Ändern Sie den Ressourcenpool respool_other with(max_connections=100, max_concurrency = 50);
Nachdem die obige SQL erfolgreich ausgeführt wurde, wird sie in Echtzeit wirksam. Die Anzahl der Verbindungen und die Parallelität des OLTP-Geschäfts von Unternehmen A sind nicht begrenzt, solange der Cluster über Ressourcen verfügt und die maximale Anzahl von Verbindungen für andere Unternehmen mit niedriger Priorität beträgt Unternehmen beträgt 100. Wenn die Anzahl der hergestellten Verbindungen dieser beiden Unternehmen diesen Wert überschreitet, fängt der GaussDB-Kernel automatisch ab und meldet, dass die aktuelle Anzahl von Verbindungen nicht ausreicht und die Verbindung fehlschlägt. Die maximale Anzahl gleichzeitiger Verbindungen für das Berichtsgeschäft beträgt 100 , und die maximale Anzahl von Parallelitäten für andere Unternehmen mit niedriger Priorität beträgt 50. Wenn die Anzahl der gleichzeitig initiierten Jobs diesen Wert überschreitet, werden die überschüssigen Jobs in die Warteschlange gestellt und nicht aktiviert Fahren Sie mit der Ausführung des Jobs fort, bis die vorhandenen Jobs abgeschlossen sind.

Speicherplatzverwaltung und -kontrolle

Die Verwaltung und Kontrolle des Speicherplatzes dient dazu, die Speicherplatzkontingente zu begrenzen, die verschiedene Benutzer nutzen können, um zu verhindern, dass das gesamte Datenbankgeschäft aufgrund der übermäßigen Nutzung des Speicherplatzes durch einen einzelnen Benutzer blockiert wird. GaussDB verwaltet und steuert Speicherressourcen, indem es beim Erstellen eines Benutzers die Größe des Speicherplatzes angibt.
 
Speicherplatzressourcen werden in drei Typen unterteilt: permanenter Tabellenbereich (Perm Space), temporärer Tabellenbereich (Temp Space) und Operator-Bottom-Disk-Speicherplatz (Spill Space).
 
Sie können das folgende SQL verwenden, um die Speicherplatzverwaltung und -kontrolle für die Benutzer abzuschließen, die den drei Unternehmen von Unternehmen A im vorherigen Beispiel entsprechen.
 
alter user tp_user PERM SPACE '200G' TEMP SPACE '20G' SPILL SPACE '20G';
alter user report_user PERM SPACE '100G' TEMP SPACE '10G' SPILL SPACE '10G';
alter user other_user PERM SPACE '100G' TEMP SPACE '10G' SPILL SPACE '10G';
 
Die Speicherplatzverwaltung unterstützt die Speicherplatzverwaltung für Gruppenbenutzer und Geschäftsbenutzer. Wenn für den Gruppenbenutzer, der dem Geschäftsbenutzer entspricht, Speicherplatzbeschränkungen gelten, ist der Speicherplatz des Geschäftsbenutzers auch durch das Speicherplatzlimit der Benutzergruppe begrenzt. Nachdem Sie die Größe des Speicherplatzes angegeben haben, erhöhen alle Schreibvorgänge des Benutzers auf dem DN den vom Benutzer verwendeten Speicherplatz, und Löschvorgänge verringern den vom Benutzer verwendeten Speicherplatz. Der CN ruft regelmäßig den insgesamt verwendeten Speicherplatz vom DN ab und berechnet ihn Der vom Benutzer verwendete Speicherplatz wird beurteilt. Wenn der Maximalwert überschritten wird, wird der Schreibauftrag abgebrochen (Tabelle einfügen/erstellen als/kopieren), und nachfolgende Schreibaufträge melden einen Fehler und werden beendet.

Funktionsdemonstration

Funktionsdemonstration Hier demonstrieren wir lediglich den Effekt der CPU-Steuerung für jedermann, da die CPU den größten Einfluss auf das Unternehmen hat.
 
Erstellen Sie zwei Ressourcenpools, legen Sie 20 % bzw. 60 % der CPU fest und verwenden Sie dann zwei an die Ressourcenpools gebundene Benutzer, um mit der Geschäftsausführung zu beginnen. Beobachten Sie die tatsächliche CPU-Auslastung.

1. Erstellen Sie eine Kontrollgruppe:

gs_cgroup -c -S class1 -s 20;
gs_cgroup -c -S class2 -s 60;

2. Erstellen Sie einen Ressourcenpool:

RESSOURCENPOOL ERSTELLEN xuuer_pool with(control_group = "class1");
RESSOURCENPOOL ERSTELLEN xyuser1_pool with(control_group = "class2");

3. Erstellen Sie einen benutzergebundenen Ressourcenpool:

Rolle erstellen user1 RESOURCE POOL 'xuuer_pool';
Rolle user2 erstellen RESSOURCENPOOL 'xyuser1_pool';
4. Beobachten Sie den CPU-Status des Systems über Top, und eine differenzierte Ressourcenverwaltung und -steuerung stellt die Funktion gs_wlm_respool_cpu_info bereit, um den CPU-Status jedes Ressourcenpools in Echtzeit zu beobachten.

Folie 5.PNG

Wie in der obigen Abbildung dargestellt, ist ersichtlich, dass die anfängliche System-CPU im Leerlauf ist, und die CPU-Überwachungsansicht des Ressourcenpools zeigt auch, dass die CPU-Auslastung 0 beträgt. Lassen Sie Benutzer1 mit der Ausführung von Diensten beginnen. Es ist ersichtlich, dass die System-CPU durch bestimmte Dienste belegt ist. Die Abfrage der CPU-Überwachungsansicht des Ressourcenpools zeigt, dass Benutzer1 80 % der CPU nutzen kann. Lassen Sie zu diesem Zeitpunkt auch Benutzer2 mit dem Betrieb beginnen. Die Beobachtung zeigt, dass die System-CPU in einen ausgelasteten Zustand übergegangen ist. Die Abfrage der Systemfunktion der CPU-Ressourcenüberwachung des Ressourcenpools zeigt, dass die CPU-Auslastung von Benutzer1 abnimmt und die CPU-Auslastung von Benutzer2 zunimmt .

Sortieren Sie die CPU-Auslastung der beiden Benutzer und zeichnen Sie das Kurvendiagramm wie unten gezeigt. Es ist ersichtlich, dass sich die CPU-Auslastung von Benutzer1 und Benutzer2 schließlich auf einen Zustand von 3:1 auswirkt, was mit 20 % und 60 übereinstimmt Einstellungen in der CGroup-Kontrollgruppe entsprechend dem Ressourcenpool-%-Verhältnis, wodurch der Effekt der CPU-Kontrolle erreicht wird.

Folie 6.PNG

Zusammenfassen

Die Funktion zur feinkörnigen Ressourcenverwaltung und -steuerung unterstützt derzeit zentralisierte und verteilte Ressourcen. Die Ressourcenverwaltung und -steuerung für verteiltes Computing bedeutet, dass jeder Knoten die Ressourcen seines eigenen Knotens unabhängig steuert, während die Verwaltung und Steuerung der Speicherressourcen als Ganzes von der Clusterdimension aus verwaltet wird.

Eine feinkörnige Ressourcenverwaltung und -kontrolle dient als Grundlage für die Isolierung von mandantenfähigen Ressourcen, ermöglicht eine präzise Aufteilung und Kontrolle von Ressourcen und löst das Problem der Cluster-Unbrauchbarkeit, die durch unzureichende Ressourcen in Hochlastszenarien verursacht wird. Diese Funktion eignet sich für Szenarien, in denen die Datenisolation nicht sensibel ist, aber für verschiedene Unternehmen eine Ressourcenisolation erforderlich ist. Wenn Kunden Anforderungen sowohl an die Ressourcenisolation als auch an die Datenisolation haben, können Sie auf die mandantenfähige Datenbankfunktion achten, die wir später vorstellen werden!

 

Klicken Sie hier, um zu folgen und so schnell wie möglich mehr über die neuen Technologien von Huawei Cloud zu erfahren~

High-School-Schüler erstellen ihre eigene Open-Source-Programmiersprache als Coming-of-Age-Zeremonie – scharfe Kommentare von Internetnutzern: Unter Berufung auf die Verteidigung hat Apple den M4-Chip RustDesk veröffentlicht. Inländische Dienste wurden wegen grassierenden Betrugs eingestellt . In Zukunft plant er, ein unabhängiges Spiel auf der Windows-Plattform Taobao (taobao.com) zu produzieren. Webversionsoptimierungsarbeiten neu starten, Ziel für Programmierer, Visual Studio Code 1.89 veröffentlicht Java 17, die am häufigsten verwendete Java LTS-Version, Windows 10 hat eine Marktanteil von 70 %, Windows 11 geht weiter zurück ; Google unterstützt Hongmeng bei der Übernahme von Open-Source-Rabbit-R1;
{{o.name}}
{{m.name}}

Ich denke du magst

Origin my.oschina.net/u/4526289/blog/11105586
Empfohlen
Rangfolge