Erste Schritte mit MySQL HeatWave auf AWS

Wenn Sie Datenbankanwendungen auf AWS entwickeln und Echtzeitanalysen und extrem schnelle Abfragen benötigen, wurde MySQL HeatWave auf AWS dafür entwickelt. Anstatt komplizierte ETL-Pipelines zu erstellen, um Daten in eine separate Analysedatenbank zu verschieben, nutzt HeatWave die In-Memory-Beschleunigung, um Echtzeitanalysen (OLAP) bereitzustellen, ohne die Performance von Transaktions-Workloads (OLTP) zu beeinträchtigen. MySQL HeatWave ist ein vollständig verwalteter Service, mit dem Entwickler schnell sichere native Cloud-Anwendungen mit der weltweit beliebtesten Open-Source-Datenbank erstellen und bereitstellen können. MySQL HeatWave wird vom Entwicklungsteam MySQL bei Oracle entwickelt und unterstützt.

Eines der besten Dinge an MySQL HeatWave ist die Möglichkeit, Analysen direkt mit Ihren vorhandenen Transaktionsdaten auszuführen. Das bedeutet, dass Sie nur eine Datenbank anstelle von zwei verwalten müssen und sichere Echtzeitanalysen ohne die Komplexität, Latenz und Kosten der ETL-Duplizierung erhalten können.

Lassen Sie uns kostenlos auf AWS starten. Eine schnelle Registrierung bietet 300 US-Dollar an kostenlosen Credits, um zu sehen, wie großartig MySQL HeatWave auf AWS sein kann.

  1. Geben Sie Land/Gebiet, Vor- und Nachname sowie eine E-Mail-Adresse zur Bestätigung an.
    Konto registrieren Screenshot 1
  2. Klicken Sie auf "Meine E-Mail-Adresse bestätigen".
  3. Wenn Sie auf den Link in der E-Mail-Verifizierungsnachricht klicken, werden Sie aufgefordert, ein sicheres Kennwort, einen Cloud-Accountnamen und eine Hauptregion anzugeben. Wählen Sie "US East (Ashburn)" als Hauptregion aus. HINWEIS: Wenn Sie IAD/Ashburn nicht als Hauptregion auswählen, müssen Sie eine Erhöhung des Regionslimits beantragen. Sobald dies erhöht ist, können Sie die Region Ashburn abonnieren (dies ist für HeatWave auf AWS erforderlich).
    Konto registrieren Screenshot 2
  4. Schließen Sie den Registrierungsprozess ab, indem Sie eine Adresse und Rechnungsdetails eingeben.
  5. Akzeptieren Sie die Vereinbarung und klicken Sie auf Meine kostenlose Testversion starten
    Kontoanmeldung abgeschlossen Screenshot
  6. In wenigen Augenblicken wird Ihr Konto erstellt und Sie können sich anmelden!
  7. Im Haupt-Dashboard sollten Sie das Banner sehen, um mit MySQL HeatWave auf AWS zu beginnen. Klicken Sie auf {\b Go to service}.
    Screenshot der ersten Schritte mit dem Banner "MySQL HeatWave auf AWS"
  8. Auf der nächsten Seite haben Sie die Möglichkeit, Upgrade anzufordern, wodurch Ihr Konto in ein kostenpflichtiges Konto umgewandelt wird. Keine Sorge! Sie werden nichts in Rechnung gestellt... denken Sie daran, dass Sie $ 300 an kostenlosen Credits haben, mit denen Sie spielen können.
    Screenshot der Einrichtung von MySQL HeatWave auf AWS – Upgrade anfordern
    Hinweis: Es dauert einige Minuten, bis die gesamte Backend-Verarbeitung abgeschlossen ist, bevor Sie den Upgradeprozess abschließen können. Wenn Sie eine Nachricht erhalten, die dasselbe anzeigt, können Sie ein wenig davonkommen. Gib deinen Augen etwas Ruhe.
  9. Sobald Sie den Aktualisierungsprozess abgeschlossen haben, können Sie mit dem nächsten Schritt fortfahren.
  10. Da Sie Ashburn als Hauptregion ausgewählt haben, können Sie zu Schritt 3 springen, der Sie anleitet, das Servicelimit HeatWave für AWS anzufordern.
  11. Sobald Sie das Servicelimit erhalten haben, können Sie HeatWave auf AWS aktivieren.
  12. Sie können jetzt ein MySQL HeatWave-Cluster auf AWS einrichten!

Beachten Sie, dass MySQL HeatWave auf AWS in das Identity and Access Management-System von OCI integriert ist. Wenn Sie sich für HeatWave in AWS registrieren, werden Sie zur OCI-Anmeldeseite weitergeleitet, auf der Sie sich mit einem OCI Cloud-Account anmelden müssen (den Sie zuvor erstellt haben). Um die Dinge einfach zu halten, wird die Abrechnung in OCI verwaltet und überwacht.

Voraussetzungen

  • Name, Benutzername und Kennwort Ihres Oracle Cloud-Accounts
  • Ein kompatibler Browser (Chrome 69+, Safari 12.1+, Firefox 62+ oder ein Browser, für den Oracle Jet zugelassen ist)

Überblick

Um mit der Arbeit mit MySQL HeatWave auf AWS zu beginnen, benötigen Sie weder AWS-Erfahrung noch ein AWS-Konto. Wenn Sie jedoch diese haben, gibt es keine Begrenzung dafür, was Sie tun können, um AWS-Apps in MySQL HeatWave zu integrieren. Also los geht's!

  1. Melden Sie sich bei der MySQL HeatWave on AWS-Konsole an
  2. MySQL-DB-System mit HeatWave-Cluster erstellen
  3. Beispieldaten laden
  4. Bei Datenbank anmelden und einige Abfragen ausführen
  5. Tabellen in HeatWave laden und weitere abfragen

Schritte

  1. Melden Sie sich bei MySQL HeatWave auf AWS an
    Wenn Sie den Anmeldeprozess gerade abgeschlossen und angemeldet haben, sind Sie möglicherweise einen Schritt voraus. Andernfalls möchten Sie zur MySQL HeatWave auf AWS-Landingpage navigieren. Hier geben Sie Ihren Cloud-Accountnamen ein (kann bereits vom Browser gecacht werden) und klicken auf "Weiter".
    Auf der nächsten Seite werden Sie zur Eingabe der Benutzer-ID und des Kennworts aufgefordert, die Sie während des Registrierungsprozesses erstellt haben. Sobald alles richtig eingegeben ist, befinden Sie sich im MySQL HeatWave-Dashboard.
  2. Erstellen Sie ein MySQL-DB-System mit HeatWave-Cluster
    Jetzt beginnt der Spaß! Kommen wir zum Provisioning.
    Klicken Sie im Dashboard auf "MySQL-DB-System erstellen", um das Dialogfeld "MySQL-DB-System erstellen" und "HeatWave-Cluster" aufzurufen. Dieser erste Teil konzentriert sich auf die Konfiguration der zugrunde liegenden MySQL-Instanz und des HeatWave-Clusters selbst.
    Screenshot von "MySQL-DB-System erstellen" und "HeatWave-Cluster - unvollständig"
    Screenshot von "MySQL-DB-System erstellen" und "HeatWave-Cluster - unvollständig"
    Füllen Sie die erforderlichen Details aus:
    1. Anzeigebezeichnung
    2. Beschreibung
    3. Administratorzugangsdaten (nicht verlieren)
    4. Wählen Sie die Hardwarekonfiguration. Beachten Sie, dass die Ausprägung die Anzahl der vCPU-Cores und die RAM-Menge bestimmt. (MySQL.4.32GB ist 4 vCPU und 32 GB RAM)
    5. Wählen Sie die anfängliche Datenspeichergröße in GiB...this aus, die bei Bedarf später erhöht werden kann.
    6. Wählen Sie die neueste DB-Version aus (unterstützt derzeit nur die neueste MySQL-Version 8.0.31)
    7. Wartungsfenster auswählen (automatisch oder manuell)
    8. Wählen Sie eine Verfügbarkeitszone (AZ). Hinweis: Wenn Sie manuell wählen, werden Sie aufgefordert, die physische AWS-Verfügbarkeitszone auszuwählen. Wenn Sie vorhandene Anwendungen in AWS bereitgestellt haben, müssen Sie die in der AWS-Konsole angezeigte logische AZ mit der hier ausgewählten physischen AZ abstimmen.
    9. Geben Sie Networkingdetails an. Auf die Instanz MySQL kann über den öffentlichen Endpunkt zugegriffen werden. Standardmäßig ist keine Ingress-Konnektivität zulässig. Geben Sie für die zulässigen Clientadressen eine bestimmte öffentliche IP-Adresse gefolgt von /32 ein. Wenn die öffentliche IP Ihres Clientcomputers 1.2.3.4 lautet, geben Sie 1.2.3.4/32 ein. Sie können mehrere, durch ein Semikolon getrennte Werte eingeben. In diesem Beispiel verwenden wir auch die Standardports 3306 und 33060.
    10. Klicken Sie auf "Next".
      Screenshot von "MySQL-DB-System und HeatWave-Cluster erstellen" - abgeschlossen
    11. Geben Sie einen Anzeigenamen und eine Beschreibung für das HeatWave-Cluster an.
    12. Wählen Sie eine Ausprägung aus. Dadurch wird bestimmt, wie viel Arbeitsspeicher in jedem Clusterknoten verfügbar ist.
    13. Wählen Sie eine Clustergröße zwischen 1 und 128. Für diese Übung wird empfohlen, die Ausprägung HeatWave.16 GB und die Clustergröße 1 auszuwählen.
    14. Klicken Sie auf Erstellen, dann lehnen Sie sich zurück und entspannen Sie sich für ein paar Minuten, während die Magie passiert.
  3. Beispieldaten laden
    Nachdem nun alles läuft, laden wir einige Daten und testen diese.
    1. Öffnen Sie eine neue Browserregisterkarte, und melden Sie sich bei der OCI-Konsole an, um auf Cloud Shell zuzugreifen. Wenn Sie zur Eingabe von Zugangsdaten aufgefordert werden, verwenden Sie denselben Cloud-Account, denselben Benutzernamen und dasselbe Kennwort wie bei der Anmeldung bei HeatWave.
    2. OCI Cloud Shell öffnen
      Screenshot von OCI Cloud Shell
    3. Beispieldatenbank abrufen: airport-db
      wget https://downloads.mysql.com/docs/airport-db.tar.gz
      
      tar xvzf airport-db.tar.gz
    4. Suchen Sie die öffentliche IP-Adresse, die mit Ihrer Cloud Shell-Umgebung verknüpft ist. Dies wird zu den zulässigen MySQL-Clientadressen hinzugefügt.
      dig +short myip.opendns.com @resolver1.opendns.com
    5. Kehren Sie zum Dashboard MySQL zurück, und bearbeiten Sie die DB-Instanz MySQL. Fügen Sie die öffentliche IP-Adresse mit /32 zu den zulässigen Clientadressen hinzu, und klicken Sie auf "Speichern".
    6. Kehren Sie mit Cloud Shell zur Browserregisterkarte zurück, und starten Sie eine MySQL Shell-Session. Beim Erstellen des DB-Systems müssen Sie den Admin-Benutzernamen und das Kennwort angeben. Außerdem muss der Hostname vorher kopiert werden.
      mysqlsh username@hostname
      Nach dem Drücken der Eingabetaste werden Sie zur Eingabe des Passworts aufgefordert.
    7. Verwenden Sie loadDump, um die Datenbank zu importieren, die zuvor dekomprimiert wurde.
      util.loadDump("airport-db", {threads: 16, deferTableIndexes: "all", ignoreVersion: true})
      Dieser Schritt kann einige Minuten dauern. Jetzt ist eine großartige Gelegenheit, sich einen schnellen Snack zu gönnen oder die Wettervorhersage zu überprüfen.
    8. Wenn der Import abgeschlossen ist, können Sie fortfahren. Gute Arbeit!
  4. Führen Sie einige einfache Abfragen aus gutem Grund aus
    Die Performance wird etwas später mit HeatWave verglichen. Die MySQL-Shell ist ein ziemlich leistungsstarkes Tool, aber die Schnittstelle ist nicht für alle geeignet. Bevor wir weitermachen, lassen Sie uns ein paar weitere Abfragen ausführen, nur um Spaß zu haben; eine große Chance, diese Befehlszeilenmuskeln zu flexen.
    1. Warum versuchen wir nicht, ein paar weitere Zeilen in unserer Abfrage aufzunehmen:
      select * from airplane limit 10000;
    2. Sieht gut aus? Nur eine more...for Spaß!
      mysql SELECT booking.price, count(*) FROM booking WHERE booking.price > 500 GROUP BY booking.price ORDER BY booking.price LIMIT 10;
      Notieren Sie sich die Ausführungszeit.
    3. Beenden Sie die Shell MySQL, indem Sie '\d' eingeben und die EINGABETASTE drücken.
    4. Tabellen in HeatWave laden und weitere Fragen stellen Sie führen great...and aus. Jetzt ist es an der Zeit, die Hitze zu erhöhen! In diesem letzten Abschnitt können Sie die großartige Leistung von MySQL HeatWave entfesseln.
      1. Kehren Sie mit dem MySQL HeatWave-Dashboard zur Browserregisterkarte zurück. Navigieren Sie zum Arbeitsbereichbereich.
      2. Wählen Sie Ihr DB-System aus, und geben Sie dann den Admin-Benutzernamen und das zuvor erstellte Kennwort ein (Sie haben diese gespeichert, oder?). Klicken Sie auf Verbinden und geben Sie ein paar Sekunden Zeit, um die Tür zu öffnen.
      3. Jetzt, da Sie angemeldet sind, ist es an der Zeit, dieselbe Abfrage wie zuvor auszuführen. Dies wird immer noch gegen InnoDB laufen, aber das ist beabsichtigt.
        mysql SELECT booking.price, count(*) FROM booking WHERE booking.price > 500 GROUP BY booking.price ORDER BY booking.price LIMIT 10;
        Beachten Sie, wie lange es dauert, bis complete...and sich bereit macht!
    5. Gehen Sie auf der Registerkarte HeatWave zum Verwalten von Daten, wählen Sie airportdb aus. Dadurch werden alle Tabellen in der DB ausgewählt. Klicken Sie auf die Schaltfläche "Load into HeatWave".
      Screenshot der Registerkarte "Daten in Heatwave verwalten"
      Dadurch wird ein Fenster geöffnet, in dem die Aufgabe beschrieben wird und die geschätzte Zeit bis zum Abschluss bereitgestellt wird. Nachdem Sie einen schnellen einmaligen Vorgang ausgeführt haben, klicken Sie auf {\b Load Tables}.
      Screenshot von MySQL Autopilot Parallel Load-Tabellen in HeatWave
      Nachdem Sie eine neue Tabelle in HeatWave geladen haben, werden alle Daten automatisch verfolgt und geladen. Oder zumindest, bis du diesen Tisch entlädst.
      SIDE HINWEIS: Wenn Sie die Leistung von HeatWave für eine Weile nicht benötigen, können Sie sie immer stoppen, um die Kosten niedrig zu halten. Während es gestoppt wird, verfolgt das System weiterhin DIFFS-Daten für alle geladenen Tabellen. Wenn HeatWave wieder hochgefahren wird, werden die geladenen Tabellen automatisch aktualisiert.
  5. Führen Sie die vorherige Abfrage erneut aus, und beachten Sie den Performanceunterschied.
  6. Experimentieren Sie gerne mit größeren Datensätzen und/oder komplexeren Abfragen. Jedes Mal, wenn Sie Performancebenchmarks zwischen InnoDB und HeatWave testen möchten, müssen Sie die Tabellen nur entladen und dann erneut laden.
  7. Das bringt uns zum Ende. Sie können die Ressourcen beenden, stoppen oder die Ausführung lassen, die Sie created...and ausführen. Vergessen Sie nicht, sich auf der Rückseite zu patchen. Tolle Arbeit!

Zusammenfassung

Bisher haben wir eine MySQL-Datenbankinstanz und ein HeatWave-Cluster auf AWS erstellt, einige Daten geladen und ein wenig im System gespeichert. Sie haben die dramatische Performanceverbesserung gesehen, die durch die Ausführung von Abfragen in HeatWave...all erzielt wurde, ohne dass Daten zwischen Systemen per ETL übertragen werden müssen. Mit all dieser Kraft, die Ihnen zur Verfügung steht, empfehlen wir Ihnen dringend, die Leistung und Fähigkeiten weiter zu erkunden. Wir haben nur die Oberfläche gekratzt!

Möchten Sie mehr erfahren? Nehmen Sie an der Diskussion in unserem öffentlichen Slack-Kanal teil!