Kundenerfahrungen / Software & Internet
Dropbox spart Millionen durch Aufbau eines skalierbaren Metadatenspeichers auf Amazon DynamoDB und Amazon S3
1 Jahr
Innerhalb eines Jahres wurde das Metadaten-Speichersystem in AWS eingeführt.
5.5
Senkung der Kosten pro Benutzergigabyte um den Faktor 5,5.
Einparungen in Millionenhöhe
Einsparung von Millionen von Dollar an Erweiterungskosten.
300 TB
Migration von 300 TB Daten in weniger als 2 Wochen.
4 000 bis 6 000 Abfragen
Aufnahme von 4 000 bis 6 000 Abfragen pro Sekunde.
Übersicht
Im Sommer 2018 kam es bei Dropbox aufgrund des schnellen Datenwachstums in einigen Partitionen zu einer Kapazitätsknappheit in seinem On-Premises-Metadatenspeicher. Das Datenbankteam von Dropbox hatte drei Möglichkeiten: die On-Premises-Speicherkapazität zu verdoppeln (was Millionen von Dollar kosten würde), große Mengen an Metadaten zu löschen oder eine neue, hochgradig skalierbare und dennoch kostengünstige Lösung zu finden. Die dritte Option war die beste, aber sie zu erreichen, wäre eine Herausforderung. Dropbox hatte weniger als zwei Jahre Zeit, bis sein On-Premises-System die maximale Kapazität erreichen würde, und das Implementierungsteam für das Projekt bestand aus nur zwei Mitarbeitern.
Diese Umstände veranlassten Dropbox, sich für eine verwaltete Lösung von Amazon Web Services (AWS) zu entscheiden. Mithilfe von Amazon DynamoDB, einer vollständig verwalteten, flexiblen NoSQL-Datenbank, die bei jeder Skalierung eine Leistung im einstelligen Millisekundenbereich bietet, und Amazon Simple Storage Service (Amazon S3), einem Cloud-Objektspeicherservice, entwickelte Dropbox schnell ein neues verwaltetes Speichersystem namens Alki. Dadurch wurde Platz für praktisch unbegrenzte Benutzer-Metadaten geschaffen und das Unternehmen konnte nicht nur Millionen von Dollar einsparen, da es den On-Premises-Speicher nicht erweitern musste, sondern auch die Kosten pro Gigabyte um das 5,5-fache senken.
Migration von Audit-Protokolldaten von einer Legacy-Datenbank in die Cloud
Dropbox wurde 2007 von zwei Studenten des Massachusetts Institute of Technology gegründet und ist ein globales Tool für Zusammenarbeit und Dateifreigabe-Service. Es hat sich zu einem der erfolgreichsten Startups der Welt entwickelt. Über 600 Millionen Nutzer haben mehr als 400 Milliarden Inhalte hochgeladen.
Die Metadatenspeicher von Dropbox waren ursprünglich ausschließlich im Hauptdatenspeicher des Unternehmens, Edgestore, untergebracht und in einer verteilten On-Premises-Datenbank gehostet, die auf geteilten MySQL-Clustern aufbaute. Mitte 2018 waren die schnell wachsenden kalten Metadaten – Daten, auf die selten zugegriffen wird, die aber dauerhaft gespeichert und sofort verfügbar sein müssen – weniger als 2 Jahre davon entfernt, Edgestore zu überfordern. Um die Kapazität der On-Premises-Datenbank zu erhöhen, müssten jedoch die vorhandenen Partitionen aufgeteilt und neue Computer gekauft werden, um sie zu hosten, was die Kosten von Edgestore verdoppeln und jährlich Millionen von Dollar zusätzlich kosten würde. Darüber hinaus war es nicht mehr sinnvoll, kalte Metadaten in derselben Datenbank wie heiße – oder häufig verwendete – Metadaten zu speichern. „Wenn Sie Daten schreiben, die nicht oft gelesen werden sollen, ist ihre Verwendung auf Medien, die für die Abrufgeschwindigkeit optimiert sind, extrem teuer – ganz zu schweigen davon, sie zu speichern“, sagt Jonathan Lee, technischer Leiter des Alki-Teams von Dropbox.
Zwei Mitglieder des Datenbankteams konzentrierten sich dann nur darauf, Alki zu entwickeln, die Lösung, die Metadaten kostengünstig speichern würde. Ihr Fokus lag insbesondere auf Auditprotokollierungsdaten, den wichtigsten Anwendungsfall für Metadaten bei Edgestore. Da das kleine Alki-Team vor einer engen Frist stand, die, sollte sie nicht eingehalten werden, möglicherweise zum Verlust von Benutzermetadaten führen könnte, entschied es sich, Managed Services von AWS zu implementieren. Mithilfe von Amazon DynamoDB und Amazon S3 hat Dropbox innerhalb von nur einem Jahr schnell einen Prototyp für einen kalten Metadatenspeicher auf AWS entwickelt und bereitgestellt. AWS Solutions Architects fungierten wie eine Erweiterung des Alki-Teams von Dropbox und boten einen präskriptiven Leitfaden und Hilfe bei der Implementierung.
„Beim Aufbau eines Speichersystems müssen Sie über viele Komponenten nachdenken, darunter Replikation, Backups und Kapazitätsmanagement. Amazon DynamoDB und Amazon S3 erfüllen diese Anforderungen gut – sie sind Industriestandards“, sagt Lee. „Das sind Probleme, für deren Lösung große Teams mehrere Jahre benötigen. Durch die Verwendung von Amazon DynamoDB und Amazon S3 vereinfachen wir diese Probleme jedoch, da AWS viele der komplexen Aufgaben wie Datenreplikation, Datenbeständigkeitsmanagement und Hardwarebereitstellung übernimmt. Sowohl Amazon DynamoDB als auch Amazon S3 wachsen automatisch mit unseren Kapazitätsanforderungen. Wir müssen nicht mehr für On-Premises-Kapazitäten planen und Budgets für Hardwarekäufe aufstellen, um dann vier Jahre lang an unsere Entscheidungen gebunden zu sein.“
Beim Aufbau eines Speichersystems müssen Sie an Komponenten wie Replikation, Backups und Kapazitätsmanagement denken. Durch die Verwendung von Amazon DynamoDB und Amazon S3 vereinfachen wir diese Probleme, da AWS viele der komplexen Aufgaben bewältigt.“
Jonathan Lee
Alki Team Tech Lead, Dropbox
Aufbau von Hot- und Cold-Metadatenspeichern mit AWS-Lösungen
Das Alki-Team entwickelte mit Unterstützung von AWS Solutions Architects ein auf Log-Structured Merge-Tree (LSM Tree) basierendes Metadaten-Speichersystem, das über zwei Datenspeicherebenen verfügt: eine obere Ebene für heiße Metadaten und eine untere Ebene für kalte Metadaten. Amazon DynamoDB fungiert als Hot-Storage-Layer und überträgt Prüfprotokollierungsdaten in sechs DynamoDB-Tabellen mit 4 000–6 000 Schreibvorgängen pro Sekunde pro Tabelle. Dann speichert jede dieser Tabellen täglich 50-80 GB. Am Ende eines jeden Tages lädt das Team die Metadaten aus diesen Tabellen zur dauerhaften Speicherung in Amazon S3 aus, woraufhin die Tabellen in Amazon DynamoDB gelöscht werden.
Anfang 2019, weniger als sechs Monate nachdem sich das Alki-Team für Amazon DynamoDB und Amazon S3 entschieden hatte, befand sich Alki in der Beta-Phase der Produktion, in der alle Daten aufgenommen und eine Teilmenge der Lesungen bereitgestellt wurden. Bis Oktober 2019 wurden etwa 300 TB an Audit-Protokolldaten - ein Viertel aller in Edgestore gespeicherten Daten - nach Alki migriert, das nun voll in Betrieb war.
Dank der Skalierbarkeit von Amazon DynamoDB und Amazon S3 konnte das Dropbox-Team diese Datenmigration in weniger als zwei Wochen abschließen. „Normalerweise könnte man ein System für das Zehnfache der Skalierung entwerfen, die man im stationären Zustand erwarten würde“, erklärt Lee. „Aber wir könnten auf AWS das 100- bis 1 000-fache skalieren, ohne das System im Voraus zu entwerfen.“ Das Alki-Team erwartete einen stabilen Zustand von 4 000 Abfragen pro Sekunde, konnte Amazon DynamoDB jedoch während der Migration für 600 000 Abfragen pro Sekunde bereitstellen.
Laut Lee haben AWS Solutions Architects dem Alki-Team während der gesamten Migration erstklassigen Support geboten. „Wir können nur positive Dinge über unsere Zusammenarbeit mit dem AWS-Team sagen, das an Alki arbeitet. Es war immer sehr proaktiv und hat uns dabei geholfen, Probleme zu finden, wie wir die Dinge schneller machen können, oder Bereiche identifiziert, in denen wir operativ vorsichtiger sein sollten“, sagt Lee. Das Alki-Team und die AWS Solutions Architects waren in der Lage, über Echtzeitkanäle in ständiger Kommunikation zu bleiben. Und das Alki-Team wird weiterhin die Vorteile dieser Zusammenarbeit durch die Managed Services von AWS nutzen. „Der dauerhafte Betrieb eines Systems erfordert Fachwissen, und dieses Fachwissen hatten wir nicht“, sagt Stas Ilinskiy, Softwareingenieur im Alki-Team. „Aber durch den Einsatz von Amazon DynamoDB gewinnen wir auch die Mitarbeiter, die über das nötige Fachwissen verfügen, um es zu betreiben.“
Mit Alki sparte Dropbox Millionen von Dollar an Erweiterungskosten und senkte die Gigabyte-Kosten pro Benutzer durch den Einsatz von Amazon DynamoDB und Amazon S3 erheblich. Der Edgestore von Dropbox würde Nutzer 5,5-mal mehr kosten als Alki pro Benutzer-Gigabyte und Jahr.
Wir setzen unsere Bemühungen fort, ein erstklassiges Speichererlebnis für Benutzer zu schaffen
Das Alki-Team untersucht, wie es Amazon EMR nutzen könnte, um die Daten effizienter von Amazon DynamoDB nach Amazon S3 auszulagern, ein Prozess, der derzeit vom eigenen Batchverarbeitungssystem von Dropbox abgewickelt wird. Um mit Alki weitere Kosteneinsparungen zu erzielen, hat Dropbox im Oktober 2020 außerdem eine weitere Datenbank mit 300 TB an kalten Metadaten von Edgestore nach Alki migriert. Dies schafft die Voraussetzungen dafür, wie Dropbox Alki in Zukunft nutzen könnte, um die Kosten zu optimieren und weiter zu senken: Das Unternehmen könnte es als universellen kalten Metadatenspeicher verwenden. „Könnten wir Alki in Edgestore integrieren und Daten transparent zwischen den beiden verschieben, anstatt bestimmte Anwendungsfälle zu verschieben?“ fragt Lee. „Das ist die nächste Vision.“
Durch die Verwendung von Amazon DynamoDB und Amazon S3 konnte das Alki-Team schnell einen dauerhaften, skalierbaren Metadatenspeicher auf den Markt bringen, der zu massiven Kosteneinsparungen für Dropbox geführt hat. Die von AWS angebotenen verwalteten Services machen die Aufrechterhaltung dieses Speichers zu einer nachhaltigen, langfristigen Option. Die Lösung hat es Dropbox auch ermöglicht, mehrere Projekte zu starten, die im Edgestore nicht möglich waren. „Das gesamte Alki-Projekt wurde vom gesamten oberen Management sehr aufmerksam verfolgt“, sagt Lee. „Wir sind sehr zufrieden mit der Leistung von Alki und damit mit der Leistung von Amazon DynamoDB und Amazon S3.“
Über Dropbox
Dropbox mit Hauptsitz in San Francisco bietet einen zentralen Ort, um das Leben zu organisieren und die Arbeit am Laufen zu halten. Mit mehr als 600 Millionen registrierten Nutzern in 180 Ländern ist Dropbox auf der Mission, eine aufgeklärtere Art des Arbeitens zu schaffen.
Verwendete AWS-Services
Amazon S3
Amazon Simple Storage Service (Amazon S3) ist ein Objektspeicher-Service mit branchenführender Skalierbarkeit, Datenverfügbarkeit, Sicherheit und Leistung.
Amazon DynamoDB
Amazon DynamoDB ist eine Schlüsselwert- und Dokumentendatenbank, die für beliebig große Datenmengen Antwortzeiten im einstelligen Millisekundenbereich bereitstellt.
Weitere Informationen »
Amazon EMR
Amazon EMR ist die branchenführende Cloud-Big-Data-Plattform für die Verarbeitung riesiger Datenmengen mit Open-Source-Tools wie Apache Spark, Apache Hive, Apache HBase, Apache Flink, Apache Hudi und Presto.
Weitere Informationen »
Weitere Kundengeschichten zu Software und Internet
Erste Schritte
Organisationen aller Größen aus verschiedenen Sektoren transformieren ihre Unternehmen und erfüllen ihre Missionen täglich mithilfe von AWS. Kontaktieren Sie unsere Experten und begeben Sie sich noch heute Ihren Weg zu AWS.