Was ist Redshift?

Amazon Redshift ist ein vollständig verwaltetes Data Warehouse im Petabyte-Bereich, das über AWS in der Cloud bereitgestellt wird. Wie andere analytische Data Warehouses ist Redshift ein Spaltenspeicher und eignet sich daher besonders gut für große analytische Abfragen massiver Datensätze.

Redshift ist auch schnell genug für interaktive Abfragen großer Datensätze. Redshift erleichtert die Skalierung von Clustern nach oben oder unten über die AWS-Konsole, die Befehlszeile oder eine API und kann Clustergrößen von nur einem Knoten bis hin zu 128 Knoten unterstützen. Bei mit Redshift Spectrum ausgeführten Anfragen werden die Rechenressourcen dynamisch zugeordnet, ohne dass im Voraus geplant oder eine Obergrenze festgelegt werden muss.

Redshift ist ein äußerst beliebtes Data Warehouse, das ein ausgewogenes Verhältnis von einfacher Einrichtung/Wartung und robusten Anpassungsoptionen bietet. Redshift stellt daher eine leistungsstarke Cloud-Datenbanklösung dar. Da Unternehmen im Laufe der Zeit immer vertrauter mit der Überwachung und Optimierung des Redshift-Clusters für ihre spezifischen Aufgaben werden, können sie ihren Durchfluss in der Regel noch weiter erhöhen.

Gründe für die Wahl von Redshift

Ein ausgewogenes Verhältnis

Redshift bietet ein ausgewogenes Verhältnis zwischen der robusten Anpassungsfähigkeit von On-Premise-MPP-Datenbanken und der Benutzerfreundlichkeit von MPP-Datenbanken in der Cloud. Für datenversierte Unternehmen ist Amazon Redshift geradezu ideal in Bezug auf Kosten, Flexibilität, Benutzerfreundlichkeit und Leistung.

Skalierbar

Redshift wird vollständig in der Cloud verwaltet. Das macht es so einfach, Ihre Redshift-Instanz einzig und allein über Ihren Browser nach oben oder unten zu skalieren. Über die Spectrum-Funktion von Redshift haben Sie außerdem interaktiven Abfragezugriff auf Daten, die direkt in S3 gespeichert sind, ohne diese in Redshift importieren zu müssen. Das geschieht mithilfe einer dynamisch skalierten Rechen-Engine, die Ressourcen bei Bedarf in Sekundenschnelle verfügbar macht und praktisch unbegrenzte Skalierbarkeit ermöglicht.

Anpassbare Leistung

Amazon bietet leistungsstarke Optionen zur Optimierung Ihres Redshift-Clusters für Ihren spezifischen Anwendungsfall. Dazu gehören verschiedene Knotentypen, viele Komprimierungsarten und mehrere Möglichkeiten zur Partitionierung Ihrer Datentabellen. Bei intelligenter Umsetzung können diese Anpassungen zu einer superschnellen Leistung Ihres Clusters führen.

Für welche Anwendungsfälle ist Amazon Redshift besonders gut geeignet?

Unternehmen mit umfangreichen, wachsenden Daten

Unternehmen, die Abfragen transaktionaler Datenbanken gewohnt sind, werden verblüfft sein, welche Datenmengen Redshift problemlos bewältigen kann. Abfragen an Millionen (oder sogar Milliarden) von Zeilen werden in Millisekunden statt in Minuten oder Stunden ausgeführt.

Unternehmen, die von einem bestehenden Unternehmens-Data-Warehouse auf Redshift umsteigen, können damit die gleiche beeindruckende Leistung erzielen – und das ohne DevOps-Probleme und oft zu einem Bruchteil der Kosten. Darüber hinaus ermöglicht die Cloud-Architektur eine unkomplizierte Skalierung für wachsende Datenmengen.

Durch die Integration von Spectrum ist Redshift noch leistungsfähiger geworden. Redshift kann jetzt direkt auf Daten in seinem S3-Datenpool zugreifen. Dank der kostengünstigen und praktisch unbeschränkten S3-Speicherkapazität kann eine mehrschichtige Data-Warehousing-Lösung erstellt werden, bei der die am häufigsten abgefragten Daten in Tabellen und weniger häufig abgefragte Daten stets über Spectrum verfügbar sind.

Unternehmen, die ein vertrautes Data-Warehousing-System und einen bekannten SQL-Dialekt wünschen

Amazon Redshift verwendet eine Architektur, die vielen On-Premise-EDW-Systemen ähnelt (Cluster von Knoten, die Speicher- und Rechenressourcen enthalten, sowie ein Hauptknoten für die Abfrageplanung) und gleichzeitig für die Cloud optimiert ist. Dies hilft bei Migrationen von On-Premise-Umgebungen, da die Dateningenieure mit der Architektur vertraut sind. Der SQL-Dialekt von Redshift basiert auf PostgreSQL, das Analysten auf der ganzen Welt kennen und lieben.

Unternehmen, die sich ein umfangreiches Ökosystem von Dienstleistungen und Partnern erschließen wollen

Redshift gehört zu einer langen (und wachsenden) Liste von Lösungen im AWS-Ökosystem, das Tools für alle Arten von Anwendungsfällen bereitstellt – von Rootentwickler-Tools bis hin zu vollständig verwalteten Diensten. Amazon Redshift ist nur eine der Cloud-Datenlösungen von Amazon und kann vollständig in andere Lösungen innerhalb des größeren AWS-Ökosystems integriert werden.

Redshift verfügt über ein besonders beeindruckendes Partnernetzwerk, wobei jedes Unternehmen im Netzwerk für die Zusammenarbeit mit Redshift zertifiziert ist. Partner im Partnernetzwerk von Redshift unterstützen die Anwender in allen Bereichen – von der Datenintegration bis hin zur Business Intelligence. Auf diese Weise kann Redshift beispiellosen Support und Integrationen für sein Produkt anbieten.

Unternehmen, die mit teilstrukturierten Dateien arbeiten

Mit Redshift Spectrum können Unternehmen Abfragen gegen Exabyte an strukturierten, in Amazon S3 gespeicherten Daten ausführen, ohne dass es zu einer Datenbewegung kommt. Die Abfrageplanungsressourcen von Redshift werden zur Optimierung dieser Abfragen eingesetzt, und es werden verschiedene Dateiformate wie CSV, TSV, Parquet, Sequenz und RCFile unterstützt.

Unternehmen, die vorhersehbare Preise benötigen

Da im Grunde Cloud-Ressourcen von AWS angemietet werden, kann man bei Redshift leicht vorhersagen, wie hoch die Kosten sein werden. Auf diese Weise können Sie im Rahmen Ihres Budgets das Beste aus Ihrem Cluster herausholen – ganz gleich, ob dieses ein paar hundert oder mehrere Tausend Dollar pro Monat beträgt.

Unternehmen, die Workload-Management benötigen

Redshift verfügt über erstklassige Optionen für die Workload-Management-Konfiguration. Diese sollen sicherstellen, dass Unternehmen Abfragen, die sie zuerst ausführen wollen, angemessen priorisieren können und dringende Abfragen nicht hinter langsameren Prozessen hängen bleiben.

Bevor Sie sich festlegen

Preise

AWS bietet sowohl On-Demand- als auch reservierte Preise an. Im Rahmen von Machbarkeitsnachweisen sind On-Demand-Preise eine gute Möglichkeit, verschiedene Cluster-Konfigurationen für eine optimale Leistung zu testen. Wenn Sie bereits Amazon Redshift als bevorzugte Technologie für Ihr Data Warehouse gewählt haben, empfehlen sich jedoch die günstigeren reservierten Preise.

Der für Redshift berechnete Preis ist abhängig von Ihrer Hardware-Konfiguration. Spectrum, bei dem Daten direkt auf S3 abgefragt werden, wird auf der Basis der tatsächlichen Nutzung berechnet. Bei Redshift ist die Wahl der richtigen Cluster-Größe besonders wichtig, damit Sie die benötigte Leistung erhalten und dennoch nicht für ungenutzte Kapazitäten zahlen.

Kostenloses Ausprobieren

Redshift bietet eine kostenlose Testversion für 750 Stunden pro Monat auf einem DC1.Large-Knoten für insgesamt 2 Monate und 1500 Stunden an. Wir empfehlen im Allgemeinen, mit mehreren Knoten zu testen, um ein realistisches Gefühl für die Leistung unter Produktionsbedingungen zu erhalten. Wenn Sie sehen möchten, wie Looker und Redshift zusammen funktionieren, sollten Sie einen der regelmäßig von Looker  angebotenen Codes für den kostenlosen Test nutzen. Damit können Sie den Test über die 750 Stunden hinaus verlängern und einen vollständigen Machbarkeitsnachweis erstellen. Für weitere Informationen kontaktieren Sie bitte Looker.

Die Datenbankarchitektur von Redshift

Redshift ist eine verteilte MPP-Cloud-Datenbank mit einer „Shared Nothing“-Architektur. Das bedeutet, dass die Knoten sowohl für Rechenleistung (in Form von CPU und Speicher) als auch zur Speicherung (in Form von Festplattenplatz) genutzt werden. Redshift besteht aus zwei Knotentypen: Leader-Knoten und Rechenknoten.

Leader-Knoten in Redshift empfangen Abfragen von Client-Anwendungen und parzellieren diese Abfragen an Rechenknoten, in denen die relevanten Daten gespeichert sind. Es ist wichtig zu beachten, dass der Leader-Knoten zwar den Abfrageplan zusammenstellt und versendet, die eigentliche Arbeit in Redshift aber zum Großteil auf Rechenknoten ausgeführt wird.

Rechenknoten in Redshift speichern Teile der Tabellendaten. Sie führen den vom Leader-Knoten empfangenen Code aus und senden dann die Ergebnisse zur Aggregation durch den Leader-Knoten zurück.

Es stehen zwei Klassen von Rechenknoten zur Auswahl. Jeder Cluster muss komplett aus einer der beiden Klassen bestehen. Die Knotentypen sind:

  • Dichtes Rechnen (SSD): Die kleinere Option für dichtes Rechnen (DC1.Large) bietet 0,16 TB Speicherplatz pro Knoten, die größere Option für dichtes Rechnen (DC1.8x.Large) bietet 2,56 TB Speicherplatz pro Knoten. Beide sind auf Leistung optimiert und bieten schnellere Ein-/Ausgabe. Der Platz ist jedoch begrenzt, sodass der Cluster ständig überwacht und skaliert werden muss, wenn kontinuierlich große Datenmengen in den Cluster fließen.
  • Dichte Speicherung (HDD): Die kleinere Option für dichte Speicherung (DS2.XLarge) bietet 2 TB Speicherplatz pro Knoten, die größere Option für dichte Speicherung (DS2.8XLarge) bietet 16 TB Speicherplatz pro Knoten. Die Ein-/Ausgabe ist zwar langsamer als bei den Alternativen mit dichten Rechenknoten, aber es steht in der Regel jede Menge Festplattenplatz zur Verfügung. Daher muss der Festplattenplatz des Clusters möglicherweise nicht so durchgehend überwacht werden wie die Alternativen mit dichten Rechenknoten.

Ein Redshift-Cluster kann entweder durch ein Upgrade der einzelnen Knotentypen (vertikale Skalierung des Clusters) oder durch das Hinzufügen weiterer Knoten zum Cluster selbst (horizontale Skalierung des Clusters) aufgerüstet werden.

Weitere Informationen finden Sie in einer ausgezeichneten Übersicht über die Redshift-Architektur auf dieser Seite von Amazon.

Datentypen

Amazon Redshift speichert seine Daten im Spaltenformat. Es kann sowohl tabellarische Daten aus (abgegrenzten) Text-Dateien, JSON und Avro als auch Daten direkt aus anderen AWS-Diensten wie EMR und DynamoDB einlesen. Amazon Redshift fragt relationale Daten auf der Grundlage von SQL ab und konvertiert alle eingehenden Rohdaten in ein relationales Spaltenformat, dessen Spezifika vom Benutzer abstrahiert werden. (Das Format ist dem von Parquet konzeptionell ähnlich.)

Amazon Redshift schneidet auf abgeflachten, denormalisierten Daten und auf normalisierten Schemata gut ab (vorausgesetzt, dass Verteilung und Sortierschlüssel gut definiert und damit die Joins effizient sind). Aufgrund der effizienten Komprimierung von Redshift sind sowohl die Redundanz als auch Spärlichkeit der Daten in Amazon Redshift weniger problematisch als bei vielen anderen Datenbanken. Semistrukturierte und unstrukturierte Daten können nicht in eine Redshift-Tabelle importiert, jedoch in S3-Dateien gespeichert werden. Auf diese kann direkt mit Redshift Spectrum unter Verwendung eines Hive-Metastores zugegriffen werden.

AWS Redshift verwendet einen Dialekt, der PostgreSQL ähnelt und über viele der gleichen analytischen Fähigkeiten verfügt. Daher ist es relativ einfach, die wenigen kleinen Unterschiede zu erkennen und sich an sie anzupassen.

Maximal empfohlene Datengröße

Der größte Amazon Redshift-Cluster kann 2 Petabyte an Daten in Tabellen speichern – eine absolut enorme Datenmenge. Aller Wahrscheinlichkeit nach würden Sie auf Einschränkungen bei gleichzeitigen Abfragen stoßen, lange bevor Ihnen der Speicherplatz ausgeht.

Durch die Integration von Spectrum hat Redshift im Grunde kein Abfragelimit mehr, denn Spectrum kann Bucket-Abfragen in S3 in praktisch unbegrenzter Größe ausführen. Da Spectrum außerdem bei Bedarf dynamisch Rechenressourcen für die jeweilige Abfrage abruft, gibt es bei Abfragen über Spectrum keine Einschränkungen bezüglich der gleichzeitigen Ausführung.

Implementierung und Nutzung von AWS Redshift

Was man bei der Implementierung von Amazon Redshift berücksichtigen sollte

AWS Redshift ist eine vollständig verwaltete Lösung. Das bedeutet, dass über die AWS-Konsole problemlos ein Cluster mit genau den gewünschten Spezifikationen erstellt werden kann. Amazon erledigt alle Hardware-Aspekte für Sie.

Redshift bietet Ihnen jedoch viele Möglichkeiten, Ihr Schema und Ihre Tabellen zu optimieren. Daher ist es wichtig, die Best Practices (die AWS auf hilfreiche Weise erklärt) zu kennen und zu verstehen.

Daten selbst laden

Daten werden am häufigsten mit dem COPY-Befehl in AWS Redshift geladen. Dieser Befehl nutzt die MPP-Architektur von Amazon Redshift, um Dateien parallel zu lesen und zu schreiben. Bei Nutzung von Amazon Redshift mit Spectrum können Sie auch direkt auf Daten in S3 zugreifen, ohne diese importieren zu müssen. Damit stehen Ihnen fünf Methoden für den Zugriff auf Daten in Redshift zur Verfügung:

Das richtige Tabellendesign finden

Wenn Sie Ihre Daten selbst laden, müssen Sie zuvor über das richtige Tabellendesign nachdenken, denn bei der Tabellenerstellung müssen einige Parameter gewählt werden, welche die Leistung im weiteren Verlauf stark beeinflussen. Wir empfehlen Ihnen, sich das Tutorial Tuning Table Design (Feinabstimmung des Tabellendesigns) von Amazon anzusehen. Dort erfahren Sie, wie Sie die Tabellen, die in Ihre Redshift-Instanz geladen werden, so gestalten, dass sie die maximale Leistung erbringen.

Daten mithilfe eines Datenintegrationspartners laden

Es gibt viele ETL- und Datenintegrationsdienste von Dritten, die von AWS unterstützt werden und den Ladeprozess von Daten in Redshift für Unternehmen vereinfachen können. Je nach den spezifischen Bedürfnissen empfehlen wir Partner wie Stich, Fivetran, Matillion, Talend oder Alooma.

Hier sind einige Fragen, die bei der Auswahl eines Datenintegrationspartners berücksichtigt werden sollten:

Welche Datenquellen müssen repliziert werden? Erstellen Sie eine Liste mit den Datenquellen (z. B. Salesforce, HubSpot, Zendesk, Google Analytics usw.), die Sie in Ihrem Redshift-Cluster zentralisieren möchten, und suchen Sie dann einen Partner, der diese unterstützen kann. Einige Anbieter haben APIs, mit denen auch kundenspezifische Integrationen einfach ausgeführt werden können.

Wie wird der Service berechnet? Wenn Sie viele Integrationen mit jeweils nur wenigen Daten haben, ist ein nach Datenvolumen gestaffelter Preis wahrscheinlich die beste Lösung. Wenn Sie nur wenige Integrationen mit vielen Daten haben, dann wäre ein Service, der nach Integration berechnet, besser geeignet.

Wollen Sie die Daten vor dem Zeitpunkt der Abfrage transformieren? Wenn vor dem Laden in Redshift sensible Daten verschlüsselt oder Daten transformiert werden müssen, sollten Sie unbedingt einen Integrationspartner wählen, der die von Ihnen benötigten Transformationsarten unterstützt.

Haben Sie spezielle Anforderungen bezüglich Daten-Hosting oder Zertifizierung (z. B. HIPAA)? Die AWS-Cloud bietet erstklassige Sicherheit. Einige Branchen und Länder verlangen jedoch, dass Kundendaten in einer bestimmten Region gespeichert werden oder dass Anbieter bestimmte Protokolle einhalten.

Tools zur Leistungsoptimierung von Redshift

Redshift bietet zahlreiche Ressourcen und Tools zur Leistungsoptimierung Ihres Redshift-Clusters. Das Verständnis dieser Tools kann die Leistung schnell steigern. Der Verzicht auf ihre Anwendung kann dagegen zu suboptimaler Leistung führen.

Sortierschlüssel

Für jede Tabelle in Redshift können ein oder mehrere Sortierschlüssel eingerichtet werden. Ein Sortierschlüssel ist wie ein Index: Stellen Sie sich vor, ein Wort in einem Wörterbuch nachschlagen zu müssen, das nicht alphabetisch geordnet ist. Genau das tut Redshift, wenn Sie keine Sortierschlüssel einrichten. Redshift speichert die Daten in 1-MB-Blöcken und zugleich die Minimal- und Maximal-Werte für jeden der in diesem Block vorhandenen Sortierschlüssel. Der Hauptvorteil von Sortierschlüsseln besteht darin, dass Redshift irrelevante Datenblöcke überspringen kann, wenn ein Sortierschlüssel vorhanden und die Abfrage durch die jeweilige Spalte begrenzt ist. Das steigert die Leistung bei der Abfrage großer Datensätze ganz erheblich.

Wenn Sie beispielsweise über eine Ereignistabelle mit 50 Milliarden Zeilen an Daten aus drei Jahren verfügen, müssen Sie doch Abfragen oft nur für „heute“ oder „die letzten 7 Tage“ ausführen. Wenn Sie einen Sortierschlüssel auf created_at (erstellt_am) eingerichtet haben und einen Filter für dieses Feld nutzen, kann Redshift bei der Ausführung der Abfrage 99 % der Zeilen (d. h. der Datenblöcke) überspringen.

Joins und Verteilungsschlüssel

Die Join-Leistung in Redshift kann erheblich verbessert werden, wenn die Tabellen effizient über die Knoten verteilt werden. Die Verwendung von Verteilungsschlüsseln zur Minimierung von Datentransfers bei Joins führt zu einer deutlichen Verbesserung der Abfrage-SLA.

Partitionierung von Tabellen

Für große, unveränderbare Datensätze, die mit der Zeit wachsen (z. B. Protokolldaten, Web-Tracking-Daten), ist die Trennung der Tabellen nach Tag, Woche oder Monat eine gute Möglichkeit zur Verkürzung der Abfragezeiten, wenn nicht alle Abfragen eine vollständige Historie erfordern. Redshift bietet Ansichten als eine Möglichkeit, alle zugrundeliegenden Tabellen zu vereinigen. So können sie effektiv abgefragt werden, als wären sie eine einzige Tabelle.

Kodierung und Komprimierung

Durch Komprimierung kann die Gesamtmenge der in Redshift auf der Festplatte gespeicherten Daten erheblich reduziert werden. Dadurch verringert sich auch die Menge der bei jeder Abfrage gelesenen Daten. Redshift zeichnet sich durch eine gute automatische Auswahl geeigneter Komprimierungskodierungen aus, wenn Sie dies zulassen. Sie können diese aber auch manuell einstellen.

Bereinigung und Analyse

Um Platz aus gelöschten Zeilen wiederzugewinnen und Daten, die nicht in der richtigen Reihenfolge geladen wurden, richtig zu sortieren, sollten Sie Ihre Redshift-Tabellen regelmäßig bereinigen. Halten Sie die Statistiken Ihrer Tabellen mit dem Befehl ANALYZE auf dem neuesten Stand –​​​​​​​ auch das ist entscheidend für eine optimale Abfrageplanung.

Entdecken Sie Ihre Liebe zur Analytik.

Business Intelligence, Big-Data-Analyse oder eine 360°-Ansicht Ihrer Kunden.
Was auch immer Sie benötigen, Looker steht Ihnen zur Seite. Sprechen Sie einfach mit unseren Datenexperten.

Demo anfordern