Pizza as a Service: Wie Amazon zu Redshift migrierte



Hallo, ich heiße Victoria und bin bei CROC Cloud Services für das Marketing verantwortlich. Jetzt hosten wir regelmäßig Cloud Mitaps. Ich habe kürzlich den coolsten Auftritt von Dmitry Anoshin miterlebt, der jetzt bei Amazon arbeitet, und ich möchte ihn mit anderen teilen.

Ich hatte das starke Gefühl, dass große Handelsunternehmen beschlossen, im Allgemeinen alle möglichen Daten der Welt zu sammeln, die sie erreichen konnten. Dies führt einerseits zu fortschrittlicher Analytik, erhöhtem Umsatz und Attraktivität der Produkte. Auf der anderen Seite sind die Daten so umfangreich und kühn geworden, dass Witze über Lastwagen mit CD-ROM längst an der Tagesordnung sind.

Sehen wir uns an, warum möglicherweise eine Migration in die Cloud erforderlich ist und was Amazon von der Verlagerung der internen Infrastruktur auf Redshift und NoSQL DynamoDB hat. Analysieren wir den Unterschied zwischen den Konzepten von SMP und MPP, ETL und ELT und versuchen Sie zu verstehen, warum für Big Data Clouds benötigt werden.

Wenn Sie wissen, was in den letzten Jahren in der Branche passiert ist, suchen Sie sofort nach einem bestimmten Fall. Unter dem Strich habe ich eine Zusammenfassung der Hauptpunkte der Aufführung vorbereitet.

Telemetrie von jeder Glühbirne




Große Unternehmen haben einen sehr deutlichen Trend zur Bildung integrierter Ökosysteme um ihre Benutzer herum. Das heißt, Sie sind aufgewacht, haben sich die Zähne geputzt und gleichzeitig die Nachrichten in einem Multimedia-Spiegel durchgesehen. Die Alexa-Kolumne enthält morgens peppige Musik und erinnert an die heutigen Treffen. Hier bestellen Sie frischen Kaffee mit Lieferung nach Hause, da der alte schon ausgeht. Sie steigen ins Auto und dann wieder Alexa, die in das Auto-Multimedia-System integriert ist und weiter auf der Straße begleitet. Dazu ein intelligentes Armband, Kopfhörer, Anwendungen im Telefon und Tausende anderer Informationsquellen.

Dies ist gleichzeitig eine etwas beängstigende Zukunft, die schnell aus allen Richtungen kommt und versucht, für den Endverbraucher von Unternehmen einen Mehrwert zu schaffen. Sie müssen damit einverstanden sein, dass es cool ist, wenn Ihre Einkäufe beispielsweise gemäß dem Amazon Key In-Car-Programm direkt zum Kofferraum auf dem Parkplatz geliefert werden. Ich lebe jetzt in Kanada, und solche Eingliederungen machen das Leben viel komfortabler. Für das Unternehmen sind dies auch sehr wertvolle Daten in Bezug auf Verkaufsziele, Bedarfsprognosen, Logistikoptimierungen und mehr. Win-Win.

Ein Problem. Wie ich bereits sagte, besteht das starke Gefühl, dass Unternehmen häufig Daten in übermäßigem Umfang sammeln, um sie in Zukunft zu monetarisieren. Und das sind Terabyte. Tatsächlich sind es Terabyte schlecht strukturierter Informationen, die kontinuierlich auf die Server des Unternehmens fließen und Netzwerk-, Computer- und Speicherressourcen verschlingen. Deshalb ist das Problem der optimalen Ressourcennutzung und der Gewährleistung der Rechengeschwindigkeit so wichtig. Darüber hinaus müssen Sie Geschäftsanalysten eine normale Benutzeroberfläche bieten, die keine Expertenkenntnisse zum Aufbau einer Cloud-Infrastruktur erfordert. Daher haben sich viele große Unternehmen in Richtung der Wolken bewegt.

Es gibt keine Wolke




Cloud-Technologie ist das Schlagwort, das so ziemlich jeden anspricht. Zweifellos sieht er im Jahresabschluss des Unternehmens und bei offiziellen Präsentationen solide aus. Auf der Eisenebene sind dies jedoch alle die gleichen guten alten Server, die sich in Rechenzentren auf der ganzen Welt befinden. Cloud Computing benötigt jedoch mehr als nur eine praktische Virtualisierungskonsole. Das Hauptmerkmal der Clouds ist die volldynamische Verwaltung von Ressourcen und deren automatische Skalierung bei Bedarf:

  • Die berechnung.
  • Lagerung.
  • Netzwerkressourcen und Transport.
  • Datenbank.

Wenn Sie über eine solche Infrastruktur verfügen, werden Sie Ihre Ressourcen viel besser nutzen, was bei umfangreichen Geschäftsfällen zu erheblichen Einsparungen führen kann.

Für kleine Unternehmen kann dieser Ansatz auch sehr attraktiv sein. Stellen Sie sich vor, Sie planen, nächstes Jahr neues Eisen für Ihre Infrastruktur zu kaufen. Gleichzeitig ist es für Sie sehr schwierig, die genaue Belastung vorherzusagen, die von vielen Faktoren abweichen kann. Zum Beispiel wird Ihr Produkt aufgrund einer erfolgreichen Veröffentlichung auf Habré plötzlich sehr beliebt, eine ganze Menge von Kunden drängt auf Sie und ist zutiefst enttäuscht, weil Sie solche Spitzenlasten nicht geplant haben. Und es kann eine umgekehrte Situation geben, wenn Sie die Nachfrage überschätzen, Überkapazitäten erwerben und infolgedessen ungenutzte Ausrüstungsgegenstände erwerben, die tatsächlich das dringend benötigte Geld aus dem Umsatz des Unternehmens herausholen. Eine Wette ausschließlich auf den Kauf von Eisenkapazitäten ist fast immer ein extrem inaktiver Prozess und verliert mit Sicherheit an Anpassungsfähigkeit in einem sich schnell verändernden Markt.

Für solche Situationen ist eine bestimmte oder vollständige Migration in die Cloud geeignet, die als eine Art Kondensator dient, der Spitzenverbrauchsspitzen ausgleicht. Oder versorgen Sie sogar komplett mit Infrastruktur.

Arten von Wolken




Abhängig von ihrem Geschäftsmodell haben Unternehmen in der Regel eine von drei Arten, Cloud-Systeme zu erstellen. Ein kleines Unternehmen nutzt in der Regel öffentliche Clouds und spart die entsprechenden Spezialisten, wobei es sich auf sein Produkt konzentriert. Besonders große Unternehmen ähneln vielen separaten Unternehmen, die durch ein gemeinsames Ziel und eine gemeinsame Marke verbunden sind. Daher bauen sie häufig private Clouds auf, um eine optimale Ressourcennutzung zu erreichen. Part verwendet Hybridmodelle, mit denen Sie besonders sensible, gesetzlich geschützte Daten lokal verarbeiten und kleinere Aufgaben an externe Clouds übertragen können. Pizza als Dienstleistung:



Mir hat diese Abbildung immer sehr gut gefallen, die den Grad der Delegation der Infrastrukturaufgaben Ihres Unternehmens an den Anbieter gut zeigt.

Die traditionelle Option vor Ort ist, Essen zu kaufen, den Ofen vorzuheizen und selbst Pizza zu kochen. Perfekt! Aber Sie müssen alle Geräte, Zutaten und mehr haben.

IaaS ist eine Option zur Vermietung von Infrastruktur. Sie mieteten eine Küche mit allen Geräten, brachten Ihre Produkte und kochten eine tolle Pizza. Speziell ausgebildete Personen reinigen den Backofen von Fett, und Sie müssen sich keine Gedanken über die Schärfe von Messern und anderen Kleinigkeiten machen.

PaaS ist eine Plattform als Dienstleistung. Der Service bietet Ihnen neben der nackten Infrastruktur einige zusätzliche Extras. Zum Beispiel Amazon Redshift - als Data Warehouse, mit dem Sie DBA sparen und sich auf das Produkt konzentrieren können. In unserem Pizzabeispiel kann es sich beispielsweise um einen fertig geformten Teig handeln, der nur aufgetaut, mit aromatischer Sauce bestrichen, mit Pilzen, zarten Speckscheiben und geriebenem Parmesan bestreut werden kann.

Die letzte Option ist SaaS. In diesem Fall erhalten Sie das fertige Produkt, auf dessen Grundlage Sie Ihr Geschäft aufbauen. Führen Sie beispielsweise ein Blog auf der Grundlage der öffentlichen Plattform einer anderen Person. In unserem Beispiel ist dies die teuerste, aber einfachste Möglichkeit, fertige Pizza zu Hause zu bestellen.

LKW-Daten. Schneemobil


Es gibt eine alte bärtige Anekdote aus der Zeit der „Null“: „Ein Team von LKW-Fahrern konnte über Nacht 100.000 CDs von Odessa nach Kiew liefern. Damit erreichten sie über eine Distanz von mehr als 500 km eine Datenübertragungsrate von 2,43 Terabyte pro Sekunde ohne den Einsatz teurer Kabel. "



Zu dieser Zeit war es nur ein Witz. Mit den modernen Volumina eines kontinuierlichen Stroms von Fotos von jedem Mobiltelefon, Audio, Video und anderer Telemetrie wird es jedoch völlig unpassend und wird zu einem echten Problem. Wenn Sie keine direkte gemietete optische Verbindung zum Rechenzentrum haben, kann das Verschieben großer Datenmengen in die Cloud ein großes Problem sein. Dienste wie Amazons Schneeball kommen zur Rettung.


Sie bieten Ihnen ein derart brutal geschütztes Gehäuse mit 50 Terabyte Hochgeschwindigkeits-Festplatten und 10-Gigabit-Netzwerkschnittstellen. Dann verbinden Sie es direkt mit Ihrem Geschäft und führen alle Daten mit maximaler Geschwindigkeit zusammen. Im Falle von Diebstahl oder anderen Problemen verlassen die Daten Ihren Serverraum nur verschlüsselt. In diesem Fall befindet sich ein TPM-Modul, und die Verschlüsselungsschlüssel werden mit dem AWS Key Management Service (KMS) verwaltet. Verschlüsselungsschlüssel werden nicht auf dem Gerät selbst gespeichert.


In besonders fortgeschrittenen Fällen können Sie Snowball Truck anrufen - ein mobiles Rechenzentrum mit einer Kapazität von 100 Petabyte. Wenn sich die Datenskalen Exabytes nähern, benötigt eine typische 10-Gigabit-Verbindung 26 Jahre für die Datenübertragung. Und solche weißen Lastwagen können sechs Monate lang Daten ziehen und ablegen.

Amazon Migration von Oracle nach Redshift



Was wir hatten

Ich erzähle Ihnen ein wenig über den Fall, mit dem ich bei Amazon gearbeitet habe. Große Handelsplattformen wie Amazon haben ein sehr schmerzhaftes Stück Arbeit - Prime Days. Dies sind Black Friday-Spitzenverkäufe und Weihnachtsverkäufe. Zu diesem Zeitpunkt schmelzen die Server unter Last, die Lager sind mit Ladern überfüllt, und die Logistik unterliegt einem kontinuierlichen Warenfluss. Dies ist aus Sicht des Vertriebs eine sehr wichtige Zeit, und jede Stunde Ausfallzeit oder Unzugänglichkeit des Dienstes verursacht einen enormen Verlust.

Das Problem kam von Oracle DB. Die Datenbank hat einfach den Export eines solchen Volumens gleichzeitiger Abfragen gestoppt und Probleme mit der Skalierung festgestellt. Die Site entwickelte sich fast unter dem Ansturm der Kunden, und die Datenbank wurde zu einem Skalierungsproblem.

Nach sorgfältiger Analyse kamen sie zu dem Schluss, dass traditionelle SQL-Datenbanken nicht als Backend für eine Handelsplattform dieser Größenordnung geeignet sind. Außerdem ist Oracle in Bezug auf Lizenzen und Support extrem teuer. Aus diesem Grund wurde beschlossen, auf die Cloud-Plattform zu migrieren, die auf Redshift und NoSQL DynamoDB basiert.

DynamoDB war eine interne Entwicklung mit synchroner Replikation zwischen Rechenzentren und einem äußerst effektiven Mechanismus zur Reduzierung der Datenredundanz, der es ermöglichte, erheblich Speicherplatz zu sparen. Eine sehr wichtige Funktion war die automatische Skalierung - dynamische Datenbankskalierung für die erforderliche Datenmenge. Eine gute Integration mit Hadoop wurde ebenfalls erarbeitet.

Was ist das Hauptproblem einer herkömmlichen Datenbank?



Das Problem ist, dass die alte Version mit Oracle auf die SMP-Architektur verweist, die nur vertikale Skalierung umfasst. Das heißt, Sie haben eine leistungsstarke Maschine mit einem bestimmten Arbeitsspeicher, einer Menge schnellem Speicher, und alle Anforderungen fließen auf die eine oder andere Weise zu ihr. Dies ist ein klassisches Oracle-Modell, das sich auf die Bereitstellung seiner leistungsstarken eigenständigen Server konzentriert. Gleichzeitig glaubte das Unternehmen nicht besonders an Clouds, und Parallel Computing wurde nicht als vielversprechende Lösung angesehen. Und wir brauchten MPP - eine parallele Architektur, mit der Sie eine Anfrage für viele separate Maschinen verwischen und Daten schneller verarbeiten können.

Es gibt noch einen weiteren wichtigen Punkt - ETL vs. ELT-Ansatz zur Eingabe von Daten in die Datenbank.

ETL - Extrahieren -> Transformieren -> Laden. Das heißt, wir empfangen zuerst Daten aus unseren Quellen, strukturieren sie sorgfältig und füllen sie dann in unser Lager. Beim ELT-Ansatz werden verrauschte Rohdaten in den Speicher gefüllt, und die Verarbeitung ist bereits auf seiner Seite. Grundsätzlich unterstützt RedShift beide Ansätze, aber ETL hat einen Vorteil: Der Zugriff auf gefilterte Daten ist schneller und einfacher zu bearbeiten. Gleichzeitig werden jedoch mehr Ressourcen für die Erstanalyse von Rohdaten aufgewendet. Es gibt noch einen nicht offensichtlichen Moment. ETL reduziert die Risiken in Bezug auf die DSGVO im europäischen Recht, indem vertrauliche Informationen im Voraus gefiltert werden, bevor sie das allgemeine Repository erreichen. Dies verringert das Risiko eines unbefugten Zugriffs auf Daten. Das Hauptwerkzeug für die primäre Datenverarbeitung in der neuen Architektur war Matillion. Dort gibt es bereits eine nette Benutzeroberfläche, die in hohem Maße konfigurierbar ist und bereits eine auf Amazon RedShift zugeschnittene Option enthält. Dank ihm stellte sich heraus, dass die Eintrittsschwelle gesenkt wurde. Jetzt können Produktmanager eingehende Datenströme in Form eines visuellen Designers ohne die Hilfe unserer Dateningenieure konfigurieren.



Als Ergebnis haben wir die Flexibilität, Skalierung und Glättung der von uns benötigten Spitzenlasten erhalten. Zum Beispiel konnten sie das Problem lösen, dass 50 GB Webserver-Protokolle pro Tag geharkt wurden, um das Verhalten der Besucher vorherzusagen.



Wir haben auch Tableau eingeführt, mit dem wir von schlecht verbundenen Tabellen in Excel zu einzelnen Dashboards wechseln konnten, was für die Verwaltung praktisch ist.

Und ich erkläre nur für den Fall, dass es im Geschäft ein Oracle OLTP (Backend) gibt, und es gibt Oracle DW - ein analytisches Data Warehouse. Das Projekt hatte beide Ziele, aber ich spreche speziell über Oracle DW! Das heißt, das angegebene Diagramm und die Beschreibung sind lokal und betreffen nur das Amazon-Team. Gleiches gilt für Tableau. Wenn ich sage, dass wir das Scoreboard implementiert haben, meine ich das lokale Projekt, da in Amazon alles in Teams aufgeteilt ist und jeder wählt, was zu tun ist und was zu implementieren und zu verwenden ist.

Die Wolken sind, trotz des etwas ungesunden Rummels um sie, bereits die aktuelle Realität. Höchstwahrscheinlich werden die meisten Geschäftsprojekte auf eine solche Infrastruktur aufbauen. Ja, vielleicht hat nicht jedes Unternehmen solche Lösungen. Es lohnt sich jedoch, jetzt eine weitere Entwicklung zu planen, da es sonst schwierig sein wird, schnell auf sich schnell ändernde Marktparameter und einen harten Wettbewerb zu reagieren.

Wenn Sie sich für das Thema Cloud Analytics und moderne Lösungen interessieren, klicken Sie hier . Ich lasse dort nützliche Inhalte fallen.

Komm zu unserem Treffen




CROC Cloud Services hat bereits eine Reihe von Reden von hervorragenden Rednern gehalten. Das Thema von one mitap war beispielsweise die praktische Nutzung von AWS-Services im Leben. Nächstes Jahr haben wir mehrere weitere Veranstaltungen geplant, über die wir ausführlich sprechen werden. Verfolgen Sie die Ereignisse.

Source: https://habr.com/ru/post/de481836/


All Articles