Unified Query Offload mit Cloud-Links verwenden

Wenn Sie schwere Lese-Workloads mit Cloud-Links verwenden, können Sie einen Elastic Pool Leader oder Member als Cloud-Linkprovider konfigurieren, bei dem der Provider die Abfrageauslagerung ProxySQL ermöglicht, um Abfragen (Lesevorgänge) auf eine beliebige Anzahl aktualisierbarer Klone auszulagern.

Unified Query Offload mit Cloud-Links

Die einheitliche Abfrageauslagerung bietet Konfigurations- und Performancevorteile, da mindestens ein aktualisierbarer Klon Abfragen für einen Elastic Pool Leader oder ein Element verarbeiten kann, das die Abfrageauslagerung der Elastic Pool-Funktion mit der Auslagerung des Cloud Links-Ziels kombiniert.

Mit der einheitlichen Abfrageauslagerung können Sie aktualisierbare Klone hinzufügen, um den steigenden Abfrage- (Lese-)Bedarf aus der Verwendung von Cloud-Links auf Cloud-Link-Nutzern gerecht zu werden. Durch das Auslagern solcher Cloud-Links-Abfragen von einem einzigen Producer kann Ihre Anwendung horizontal skaliert werden. Dort können Sie aktualisierbare Klone hinzufügen, um die allgemeine Systemleistung aufrechtzuerhalten. Mit dieser Konfiguration können Sie Ressourcen nach Bedarf anpassen, um das Volumen Ihrer Abfrageanforderungen zu erfüllen.

Ein Vorteil der Verwendung einer einheitlichen Abfrageauslagerung besteht darin, dass Sie mit dieser Funktion das Ziel für die Auslagerung von Cloud-Links einmal einrichten und Abfragen automatisch ohne Konfigurationsänderungen an eine beliebige Anzahl aktualisierbarer Klone weiterleiten lassen können. Wenn Sie die Abfrageauslagerung von schreibgeschützten ProxySQL aktivieren und diese mit der Auslagerung von Cloud-Links-Zielen kombinieren, können Sie aktualisierbare Klone hinzufügen oder entfernen und die Liste der aktualisierbaren Klone, an die Abfragen gesendet werden sollen, wird automatisch aktualisiert, ohne dass eine manuelle Konfiguration erforderlich ist. Wenn mehr aktualisierbare Klone hinzugefügt werden, passt sich die Auslagerung einheitlicher Abfragen dynamisch an, um beim Hinzufügen neue Ressourcen zu verwenden. Wenn Sie Cloud-Links verwenden und Auslagerungsziele ohne einheitliche Abfrageauslagerung konfigurieren, müssen Sie die Liste der aktualisierbaren Klone manuell konfigurieren, an die Abfragen gesendet werden sollen, indem Sie Cloud-Links-Zielauslagerung allein verwenden. Die Auslagerung einheitlicher Abfragen gibt ein einzelnes Auslagerungsziel für Cloud-Links an, das ein elastischer Poolleiter oder -mitglied ist. Das Ziel verwendet ProxySQL, um Abfragen auf eine beliebige Anzahl aktualisierbarer Klone auszulagern.

Die folgende Abbildung zeigt eine einheitliche Abfrageauslagerung mit den folgenden Elementen:

  • Drei Cloud-Links-Consumer: Instanz 1, Instanz 2 und Instanz 3

  • Ein Cloud Links-Producer, der auch ein Elastic Pool Leader ist (diese Instanz kann auch ein Elastic Pool Member sein). Für diese Instanz ist die Abfrageauslagerung aktiviert.

  • Drei aktualisierbare Klone des elastischen Pools zur Abfrageauslagerung



Wie bei der Abfrageauslagerung sind die Daten auf den aktualisierbaren Klonen mit einer einheitlichen Abfrage auf dem neuesten Stand, basierend auf der letzten Aktualisierungszeit für jeden aktualisierbaren Klon. Wenn Sie also eine einheitliche Abfrageauslagerung verwenden, müssen Sie alle Vorgänge für Daten ausführen, die DDL, DML oder PL/SQL in den Elastic Pool Leader oder Member des Cloud Links-Providers einbeziehen. Nachdem ein aktualisierbarer Klon aktualisiert wurde, werden die Änderungen der Instanz, für die schreibgeschützte Auslagerung aktiviert ist, auf dem aktualisierbaren Klon wiedergegeben.

Weitere Informationen finden Sie unter Aktualisierbare Klone mit Autonomous Database verwenden.

Features für Unified Query Offload

Die einheitliche Abfrageauslagerung bietet alle Funktionen der Abfrageauslagerung ProxySQL, einschließlich:

  • Dynamische Hinzufügung: Aktualisierbare Klone können jederzeit als Mitglieder des elastischen Pools hinzugefügt werden. Die Abfrageauslagerung wird dynamisch angepasst, um neue Elemente zu verwenden.

  • Dynamische Entfernung: Aktualisierbare Klone können jederzeit als Mitglieder des Elastic Pool entfernt werden. Die Abfrageauslagerung wird dynamisch angepasst, um das Auslagern von Abfragen an einen aktualisierbaren Klon zu stoppen, der aus dem Elastic Pool entfernt wurde.

  • Alle anderen ProxySQL-Features. Weitere Informationen finden Sie unter Info zum Ausladen von Abfragen.

Unified Query Offload mit Cloud-Links aktivieren

Beschreibt, wie Sie eine einheitliche Abfrageauslagerung mit Cloud-Links für einen Elastic Pool Leader oder für ein Elastic Pool Member aktivieren.

Die folgenden Anforderungen gelten für die Aktivierung einer einheitlichen Abfrageauslagerung und entsprechen denen für die Aktivierung der Proxy SQL-Abfrageauslagerung:

  • Sie können eine einheitliche Abfrageauslagerung für einen Elastic Pool Leader oder für ein Elastic Pool Member ohne aktualisierbare Klone aktivieren. Nachdem Sie die Auslagerung einheitlicher Abfragen aktiviert haben, können Sie aktualisierbare Klone hinzufügen, und die Auslagerung einheitlicher Abfragen wird dynamisch angepasst, um die aktualisierbaren Klone zu verwenden.

  • Ein aktualisierbarer Klon, der zur Verwendung mit der Auslagerung einheitlicher Abfragen geeignet ist, muss:

    • Verwenden Sie den Elastic Pool Leader als Quelldatenbank und befinden Sie sich in derselben Region wie der Elastic Pool Leader.

      oder

      Verwenden Sie ein Elastic Pool Member als Quelldatenbank, und befinden Sie sich in derselben Region wie das Elastic Pool Member.

    • Seien Sie ein elastisches Poolmitglied.

Führen Sie die folgenden Schritte aus, um die Auslagerung einer einheitlichen Abfrage zu aktivieren:

  1. Bestimmen Sie den Cloud Links-Producer, und aktivieren Sie auf dieser Autonomous Database-Instanz die Abfrageauslagerung ProxySQL.

    Der Produzent von Cloud-Links muss entweder ein elastisches Poolmitglied oder ein Leiter eines elastischen Pools sein.

    Ausführliche Schritte zum Aktivieren der Abfrageauslagerung ProxySQL finden Sie unter Abfrageauslagerung aktivieren.

  2. Auf den Cloud-Links registrieren Producer einen oder mehrere Datensätze oder aktualisieren die Registrierung für einen oder mehrere Datensätze.

    Der Produzent von Cloud-Links muss entweder ein elastisches Poolmitglied oder ein Leiter eines elastischen Pools sein.

    Wenn Sie ein Dataset registrieren oder aktualisieren, muss der Wert des Parameters offload_targets einer der folgenden Werte sein, um eine einheitliche Abfrageauslagerung zu aktivieren:

    • NULL: Wenn Sie ein Dataset registrieren oder ein Dataset aktualisieren und den Parameter offload_targets als NULL angeben, wird dadurch eine einheitliche Abfrageauslagerung aktiviert.

    • Kein Wert: Wenn Sie ein Dataset registrieren oder ein Dataset aktualisieren und den Parameter offload_targets nicht einschließen, entspricht dies der Einstellung des Wertes auf NULL und aktiviert eine einheitliche Abfrageauslagerung (der Standardwert für offload_targets ist NULL).

    • Sie geben Werte mit offload_targets an. Es wurde jedoch keine Consumer-OCID der Autonomous Database-Instanz angegeben, die mit einer eingehenden Anforderung übereinstimmt (und das Schlüsselwort ANY ist nicht angegeben). In diesem Fall leitet das System die Abfrage an einen der aktualisierbaren Klone des Producers weiter (Unified Query Offload ist aktiviert).

    Es gibt zwei Fälle, in denen keine einheitliche Abfrageauslagerung verwendet wird und die Auslagerung des Cloud-Links-Ziels gilt:

    • Wenn Sie ein Dataset registrieren oder aktualisieren und den Parameter offload_targets einschließen und eine angegebene Instanz-OCID für einen Consumer vorhanden ist, die einer eingehenden Anforderung entspricht, wird die Ziel-Offload von Cloud-Links verwendet. In diesem Fall verwendet das System den aktualisierbaren Klon, der mit der übereinstimmenden Zuordnung angegeben wurde (dieses Verhalten ist dasselbe wie für Auslagerungsziele mit Cloud-Links beschrieben).

    • Wenn der vorherige Fall zutrifft oder Sie ein Dataset registrieren oder aktualisieren und den Parameter offload_targets einschließen und Sie das Schlüsselwort ANY angeben, wird keine einheitliche Abfrageauslagerung verwendet. In diesem Fall verwendet das System den aktualisierbaren Klon, der mit dem ANY-Mapping angegeben wurde (dieses Verhalten ist dasselbe wie für Auslagerungsziele mit Cloudlinks beschrieben).

    Weitere Informationen finden Sie unter Dataset mit Offload-Zielen für Dataset-Zugriff registrieren und Prozedur REGISTER.

Nachdem Sie diese Schritte ausgeführt und ein Dataset beim Producer registriert haben und ProxySQL aktiviert ist, kann jeder aktualisierbare Klon der Producer-Autonomous Database-Instanz vom Ziel ausgelagert werden.

Sie können den Status von Monintor-Cloudlinks prüfen, ob ein Dataset ProxySQL mit den Cloud-Links-Ansichten aktiviert ist. Weitere Informationen finden Sie unter Informationen zu Cloud-Links überwachen und anzeigen.

Unified Query Offload deaktivieren

Beschreibt, wie Sie die Auslagerung einheitlicher Abfragen deaktivieren.

Es gibt verschiedene Möglichkeiten, die Auslagerung einheitlicher Abfragen zu deaktivieren: