Zephyrnet-Logo

Ankündigung der Datenfilterung für Amazon Aurora MySQL Zero-ETL-Integration mit Amazon Redshift | Amazon Web Services

Datum:

Da Ihr Unternehmen immer datengesteuerter wird und Daten als Quelle für Wettbewerbsvorteile nutzt, möchten Sie Analysen Ihrer Daten durchführen, um Ihre wichtigsten Geschäftstreiber besser zu verstehen, um den Umsatz zu steigern, Kosten zu senken und Ihr Geschäft zu optimieren. Um Analysen Ihrer Betriebsdaten durchzuführen, können Sie eine Lösung erstellen, die eine Kombination aus einer Datenbank, einem Data Warehouse und einer ETL-Pipeline (Extrahieren, Transformieren und Laden) ist. ETL ist der Prozess, den Dateningenieure verwenden, um Daten aus verschiedenen Quellen zu kombinieren.

Um den Aufwand für den Aufbau und die Wartung von ETL-Pipelines zwischen Transaktionsdatenbanken und Data Warehouses zu reduzieren, kündigte AWS an Amazon Aurora Zero-ETL-Integration mit Amazon Redshift at AWS re: Invent 2022 und ist jetzt allgemein verfügbar (GA) für Amazon Aurora MySQL-kompatible Edition 3.05.0.

AWS kündigt jetzt die Datenfilterung für Zero-ETL-Integrationen an, die es Ihnen ermöglicht, selektive Daten aus der Datenbankinstanz in Zero-ETL-Integrationen zwischen Amazon Aurora MySQL und einzubringen Amazon RedShift. Mit dieser Funktion können Sie einzelne Datenbanken und Tabellen auswählen, die für Analyseanwendungsfälle in Ihr Redshift Data Warehouse repliziert werden sollen.

In diesem Beitrag geben wir einen Überblick über Anwendungsfälle, in denen Sie diese Funktion nutzen können, und geben eine Schritt-für-Schritt-Anleitung für den Einstieg in nahezu Echtzeit-Betriebsanalysen mit dieser Funktion.

Anwendungsfälle für die Datenfilterung

Mithilfe der Datenfilterung können Sie die Datenbanken und Tabellen auswählen, die von Amazon Aurora MySQL nach Amazon Redshift repliziert werden sollen. Sie können mehrere Filter auf die Zero-ETL-Integration anwenden und so die Replikation an Ihre spezifischen Anforderungen anpassen. Die Datenfilterung gilt entweder an exclude or include Filterregel und kann reguläre Ausdrücke verwenden, um mehrere Datenbanken und Tabellen abzugleichen.

In diesem Abschnitt besprechen wir einige häufige Anwendungsfälle für die Datenfilterung.

Verbessern Sie die Datensicherheit, indem Sie Tabellen mit PII-Daten von der Replikation ausschließen

Betriebsdatenbanken enthalten häufig personenbezogene Daten (PII). Hierbei handelt es sich um vertrauliche Informationen, zu denen beispielsweise Postanschriften, Kundenbestätigungsdokumente oder Kreditkarteninformationen gehören können.

Aufgrund strenger Sicherheitsvorschriften möchten Sie PII möglicherweise nicht für Ihre Analyseanwendungsfälle verwenden. Mit der Datenfilterung können Sie Datenbanken oder Tabellen mit PII-Daten herausfiltern und diese von der Replikation zu Amazon Redshift ausschließen. Dies verbessert die Datensicherheit und die Compliance bei Analyse-Workloads.

Sparen Sie Speicherkosten und verwalten Sie Analyse-Workloads, indem Sie Tabellen replizieren, die für bestimmte Anwendungsfälle erforderlich sind

Betriebsdatenbanken enthalten oft viele verschiedene Datensätze, die für Analysen nicht nützlich sind. Dazu gehören ergänzende Daten, spezifische Anwendungsdaten und mehrere Kopien desselben Datensatzes für verschiedene Anwendungen.

Darüber hinaus ist es üblich, unterschiedliche Anwendungsfälle auf unterschiedlichen Redshift-Warehouses zu erstellen. Diese Architektur erfordert, dass in einzelnen Endpunkten unterschiedliche Datensätze verfügbar sind.

Durch die Datenfilterung können Sie nur die Datensätze replizieren, die für Ihre Anwendungsfälle erforderlich sind. Dadurch können Kosten gespart werden, da die Speicherung ungenutzter Daten entfällt.

Sie können auch bestehende Zero-ETL-Integrationen ändern, um bei Bedarf eine restriktivere Datenreplikation anzuwenden. Wenn Sie einer vorhandenen Integration einen Datenfilter hinzufügen, wertet Aurora die Daten, die mit dem neuen Filter repliziert werden, vollständig neu aus. Dadurch werden die neu gefilterten Daten vom Ziel-Redshift-Endpunkt entfernt.

Weitere Informationen zu Kontingenten für Aurora Zero-ETL-Integrationen mit Amazon Redshift finden Sie unter Quoten.

Beginnen Sie mit der Replikation kleiner Datenmengen und fügen Sie nach Bedarf schrittweise Tabellen hinzu

Da auf Amazon Redshift immer mehr Analyseanwendungsfälle entwickelt werden, möchten Sie möglicherweise weitere Tabellen zu einer einzelnen Zero-ETL-Replikation hinzufügen. Anstatt alle Tabellen nach Amazon Redshift zu replizieren, um die Chance zu erfüllen, dass sie in der Zukunft verwendet werden, können Sie mit der Datenfilterung klein mit einer Teilmenge von Tabellen aus Ihrer Aurora-Datenbank beginnen und dem Filter nach Bedarf schrittweise weitere Tabellen hinzufügen .

Nachdem ein Datenfilter bei einer Zero-ETL-Integration aktualisiert wurde, wertet Aurora den gesamten Filter vollständig neu aus, als ob der vorherige Filter nicht vorhanden wäre, sodass Arbeitslasten, die zuvor replizierte Tabellen verwenden, durch das Hinzufügen neuer Tabellen nicht beeinträchtigt werden.

Verbessern Sie die Leistung einzelner Workloads durch Lastausgleich bei Replikationsprozessen

Bei großen Transaktionsdatenbanken müssen Sie möglicherweise die Last der Replikation und der nachgelagerten Verarbeitung auf mehrere Redshift-Cluster verteilen, um die Rechenanforderungen für einen einzelnen Redshift-Endpunkt zu reduzieren und die Arbeitslast auf mehrere Endpunkte aufzuteilen. Durch den Lastausgleich von Arbeitslasten auf mehrere Redshift-Endpunkte können Sie effektiv eine Datennetzarchitektur erstellen, bei der die Endpunkte für einzelne Arbeitslasten angemessen dimensioniert sind. Dies kann die Leistung verbessern und die Gesamtkosten senken.

Durch die Datenfilterung können Sie verschiedene Datenbanken und Tabellen replizieren, um Redshift-Endpunkte zu trennen.

Die folgende Abbildung zeigt, wie Sie Datenfilter bei Zero-ETL-Integrationen verwenden können, um verschiedene Datenbanken in Aurora aufzuteilen und Redshift-Endpunkte zu trennen.

Beispielanwendungsfall

Betrachten Sie die KREUZEN SIE AN Datenbank. Die TICKIT-Beispieldatenbank enthält Daten eines fiktiven Unternehmens, bei dem Benutzer Tickets für verschiedene Veranstaltungen kaufen und verkaufen können. Die Geschäftsanalysten des Unternehmens möchten die in ihrer Aurora MySQL-Datenbank gespeicherten Daten nutzen, um verschiedene Metriken zu generieren, und möchten diese Analyse nahezu in Echtzeit durchführen. Aus diesem Grund hat das Unternehmen Zero-ETL als mögliche Lösung identifiziert.

Bei der Untersuchung der erforderlichen Datensätze stellten die Analysten des Unternehmens fest, dass die Benutzertabelle persönliche Informationen über die Benutzerinformationen ihrer Kunden enthält, die für ihre Analyseanforderungen nicht nützlich sind. Daher möchten sie alle Daten mit Ausnahme der Benutzertabelle replizieren und verwenden dazu die Datenfilterung von Zero-ETL.

Einrichtung

Befolgen Sie zunächst die Schritte in Leitfaden für die ersten Schritte für Betriebsanalysen nahezu in Echtzeit mithilfe der Zero-ETL-Integration von Amazon Aurora mit Amazon Redshift um eine neue Aurora MySQL-Datenbank zu erstellen, Amazon Redshift ohne Server Endpunkt und Zero-ETL-Integration. Öffnen Sie dann den Redshift-Abfrageeditor v2 und führen Sie die folgende Abfrage aus, um anzuzeigen, dass die Daten aus der Benutzertabelle erfolgreich repliziert wurden:

select * from aurora_zeroetl.demodb.users;

Datenfilter

Datenfilter werden direkt auf die Zero-ETL-Integration angewendet Relationaler Amazon-Datenbankdienst (Amazon RDS). Sie können mehrere Filter für eine einzelne Integration definieren, und jeder Filter ist entweder als einer definiert Include or Exclude Filter Typ. Datenfilter wenden ein Muster auf vorhandene und zukünftige Datenbanktabellen an, um zu bestimmen, welcher Filter angewendet werden soll.

Wenden Sie einen Datenfilter an

Um einen Filter anzuwenden, um das zu entfernen users Um die Tabelle aus der Zero-ETL-Integration zu erstellen, führen Sie die folgenden Schritte aus:

  1. Wählen Sie in der Amazon RDS-Konsole aus Zero-ETL-Integrationen im Navigationsbereich.
  2. Wählen Sie die Zero-ETL-Integration aus, der Sie einen Filter hinzufügen möchten.

Der Standardfilter umfasst alle Datenbanken und Tabellen, die durch ein dargestellt werden include:*.* Filter.

  1. Auswählen Ändern.
  2. Auswählen Filter hinzufügen der Quelle .
  3. Aussichten für Wählen Sie den Filtertyp, wählen Ausschließen.
  4. Aussichten für Ausdruck filtern, geben Sie den Ausdruck ein demodb.users.

Die Reihenfolge der Filterausdrücke ist wichtig. Filter werden von links nach rechts und von oben nach unten ausgewertet und nachfolgende Filter überschreiben vorherige Filter. In diesem Beispiel wertet Aurora aus, dass jede Tabelle enthalten sein sollte (Filter 1) und wertet dann aus, dass die demodb.users Tabelle sollte ausgeschlossen werden (Filter 2). Der Ausschlussfilter überschreibt daher den Einschluss, da er nach dem Einschlussfilter liegt.

  1. Auswählen Fortfahren.
  2. Überprüfen Sie die Änderungen, stellen Sie sicher, dass die Reihenfolge der Filter korrekt ist, und wählen Sie aus Änderungen speichern.

Die Integration wird hinzugefügt und befindet sich in einem Ändern Zustand, bis die Änderungen übernommen wurden. Dies kann bis zu 30 Minuten dauern. Um zu überprüfen, ob die Änderungen übernommen wurden, wählen Sie die Zero-ETL-Integration aus und prüfen Sie deren Status. Wenn es als angezeigt wird Aktives, die Änderungen wurden übernommen.

Überprüfen Sie die Änderung

Führen Sie die folgenden Schritte aus, um zu überprüfen, ob die Zero-ETL-Integration aktualisiert wurde:

  1. Stellen Sie im Redshift-Abfrageeditor v2 eine Verbindung zu Ihrem Redshift-Cluster her.
  2. Wählen Sie (Rechtsklick) das aus aurora-zeroetl Datenbank, die Sie erstellt haben, und wählen Sie sie aus Inspiration.
  3. Erweitern Sie die Funktionalität der demodb und Tables.

Das users Die Tabelle ist nicht mehr verfügbar, da sie aus der Replikation entfernt wurde. Alle anderen Tische sind noch verfügbar.

  1. Wenn Sie dieselbe SELECT-Anweisung wie zuvor ausführen, erhalten Sie eine Fehlermeldung, die besagt, dass das Objekt nicht in der Datenbank vorhanden ist:
    select * from aurora_zeroetl.demodb.users;

Wenden Sie einen Datenfilter mit der AWS CLI an

Den Geschäftsanalysten des Unternehmens ist nun klar, dass der Aurora MySQL-Datenbank weitere Datenbanken hinzugefügt werden, und sie möchten nur sicherstellen, dass dies der Fall ist demodb Die Datenbank wird auf ihren Redshift-Cluster repliziert. Zu diesem Zweck wollen sie die Filter für die Zero-ETL-Integration mit dem aktualisieren AWS-Befehlszeilenschnittstelle (AWS-CLI).

Um mithilfe der AWS CLI Datenfilter zu einer Zero-ETL-Integration hinzuzufügen, können Sie Folgendes aufrufen Modifizieren-Integration Befehl. Geben Sie zusätzlich zur Integrationskennung die an --data-filter Parameter mit einer durch Kommas getrennten Liste von include und exclude Filter.

Führen Sie die folgenden Schritte aus, um den Filter für die Zero-ETL-Integration zu ändern:

  1. Öffnen Sie ein Terminal mit installierter AWS CLI.
  2. Geben Sie den folgenden Befehl ein, um alle verfügbaren Integrationen aufzulisten:
    aws rds describe-integrations

  3. Suchen Sie die Integration, die Sie aktualisieren möchten, und kopieren Sie die Integrationskennung.

Der Integrationsbezeichner ist eine alphanumerische Zeichenfolge am Ende des Integrations-ARN.

  1. Führen Sie den folgenden Befehl aus: Aktualisieren mit der aus dem vorherigen Schritt kopierten Kennung:
    aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'exclude: *.*, include: demodb.*, exclude: demodb.users'

Wenn Aurora diesen Filter auswertet, schließt es standardmäßig alles aus und schließt dann nur das ein demodb Datenbank, aber schließen Sie die aus demodb.users Tabelle.

Datenfilter können reguläre Ausdrücke für die Datenbanken und Tabellen implementieren. Wenn Sie beispielsweise alle Tabellen herausfiltern möchten, die mit beginnen userkönnen Sie Folgendes ausführen:

aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'exclude: *.*, include: demodb.*, exclude *./^user/'

Wie bei der vorherigen Filteränderung wird die Integration hinzugefügt und befindet sich in einem Ändern Zustand, bis die Änderungen übernommen wurden. Dies kann bis zu 30 Minuten dauern. Wenn es als angezeigt wird Aktives, die Änderungen wurden übernommen.

Aufräumen

Um den zur Zero-ETL-Integration hinzugefügten Filter zu entfernen, führen Sie die folgenden Schritte aus:

  1. Wählen Sie in der Amazon RDS-Konsole aus Zero-ETL-Integrationen im Navigationsbereich.
  2. Wählen Sie Ihre Zero-ETL-Integration.
  3. Auswählen Ändern.
  4. Auswählen Entfernen neben den Filtern, die Sie entfernen möchten.
  5. Sie können auch die ändern Ausschließen Filtertyp zu Include.

Alternativ können Sie die AWS CLI verwenden, um Folgendes auszuführen:

aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'include: *.*'

  1. Auswählen Fortfahren.
  2. Auswählen Änderungen speichern.

Es kann bis zu 30 Minuten dauern, bis der Datenfilter die Änderungen übernimmt. Nachdem Sie Datenfilter entfernt haben, wertet Aurora die verbleibenden Filter neu aus, als ob der entfernte Filter nie existiert hätte. Alle Daten, die zuvor nicht den Filterkriterien entsprachen, dies jetzt aber tun, werden in das Ziel-Data-Warehouse von Redshift repliziert.

Zusammenfassung

In diesem Beitrag haben wir Ihnen gezeigt, wie Sie die Datenfilterung für Ihre Aurora Zero-ETL-Integration von Amazon Aurora MySQL zu Amazon Redshift einrichten. Dadurch können Sie nahezu Echtzeitanalysen für Transaktions- und Betriebsdaten ermöglichen und gleichzeitig nur die benötigten Daten replizieren.

Mit der Datenfilterung können Sie Workloads auf separate Redshift-Endpunkte aufteilen, die Replikation privater oder vertraulicher Datensätze einschränken und die Leistung von Workloads steigern, indem Sie nur erforderliche Datensätze replizieren.

Weitere Informationen zur Aurora Zero-ETL-Integration mit Amazon Redshift finden Sie unter Arbeiten mit Aurora Zero-ETL-Integrationen mit Amazon Redshift und Arbeiten mit Zero-ETL-Integrationen.


Über die Autoren

Jyoti Aggarwal ist Produktmanagementleiter für AWS Zero-ETL. Sie leitet die Produkt- und Geschäftsstrategie, einschließlich der Förderung von Initiativen rund um Leistung, Kundenerlebnis und Sicherheit. Sie bringt Fachwissen in den Bereichen Cloud Computing, Datenpipelines, Analysen, künstliche Intelligenz (KI) und Datendienste einschließlich Datenbanken, Data Warehouses und Data Lakes mit.


Sean Beat
ist Analytics Solutions Architect bei Amazon Web Services. Er verfügt über Erfahrung im gesamten Bereitstellungslebenszyklus der Datenplattformmodernisierung mithilfe von AWS-Diensten und arbeitet mit Kunden zusammen, um den Analysewert auf AWS zu steigern.

Gökul Soundararajan ist leitender Ingenieur bei AWS und promovierte an der University of Toronto und hat in den Bereichen Speicher, Datenbanken und Analytik gearbeitet.

spot_img

Neueste Intelligenz

spot_img