Auch wenn Big Data alles andere als ein neues Thema ist, so scheiden sich bei vielen Fragestellungen hierzu noch immer die Geister. Eine noch immer andauernde Diskussion ist die der bestmöglichen Speicherstrategie. Hier reden viele Experten einem Hybrid-Storage-Ansatz das Wort.
Warum vieles – aber eben nicht alles – dafür spricht, erläutert Stefan Käser, Solution Architect bei DoubleCloud. Das Unternehmen aus Berlin ist ein junger Anbieter eines modernen Data-Stacks für End-to-End-Analytik.
„In den Tagen, bevor es die Cloud gab, wussten die Menschen bereits, was Speicher ist und wie er nutzbar ist. Speicher konnte sehr schnell sein wie Ramdisks, sehr flexibel zu bewegen wie Floppy Disks, zuverlässig und einfach benutzbar wie Festplatten oder sehr groß und kostengünstig – in Bezug auf den Preis pro GB – bei der Verwendung von Bändern. Früher – und auch heute noch – musste man sich entscheiden zwischen einem schnellen Speicher, der teurer ist, oder einem großen Speicher, der billiger, aber auch langsamer ist.
Die Zeiten haben sich jedoch geändert. Anstelle von Bändern gibt es jetzt Objektspeicher wie Amazon S3, anstelle von Disketten gibt es USB-Sticks, und obwohl es immer noch Festplatten gibt, steht jetzt eine größere Vielfalt zur Verfügung, wenn man SSDs und NVMEs mitzählt. Gleichgeblieben ist, dass sehr schneller Speicher sehr teuer ist.
Was sich jedoch nicht geändert hat, ist die Logik hinter den verschiedenen Speichertypen. Unternehmen müssen immer noch entscheiden, ob sie mehr Geld ausgeben oder an bei der Geschwindigkeit Abstriche machen. Und noch etwas hat sich nicht geändert: Unternehmen müssen verwalten, welche Art von Daten welche Art von Speicher benötigt. In der Vergangenheit konnte dies bedeuten, dass Unternehmen eine Person brauchten, die die Bänder austauscht, dass sie Aufträge schreiben mussten, um Daten von einem System auf ein anderes zu verschieben, oder dass sie ihre Anwendung ändern mussten, um auf archivierte Daten anders zuzugreifen, etc.
An dieser Stelle kommt Hybrid-Storage, also die hybride Speicherung ins Spiel. Hybride Speicherung bedeutet, dass verschiedene Speichertypen in einen einzigen integriert werden, wodurch Unternehmen das Beste aus beiden Welten erhalten. Hybride Speicher versprechen Kosteneinsparungen, sind aber trotzdem meist schnell, da sie die Datenbewegungen im Hintergrund erledigen.
Bei Festplatten gibt es Hybridlaufwerke, die als Solid-State Hybrid Drive bezeichnet werden. Sie kombinieren eine herkömmliche Festplatte mit einer schnellen SSD im selben Gehäuse. Der integrierte Controller verschiebt die Daten zwischen den verschiedenen Teilen der Hardware auf der Grundlage von Regeln wie der Häufigkeit der Zugriffe oder der Zeit seit dem letzten Zugriff etc. Benutzer müssen sich nicht darum kümmern und nutzen das Laufwerk einfach als einen Speicher.
Ähnlich, aber natürlich auf einer größeren Ebene, ist die hybride Speicherung. Hier wird kostengünstiger, aber langsamer S3-Objektspeicher mit schnellem, aber teurem lokalem GP2-Speicher kombiniert. Auf diese Weise können Benutzer ihre Daten einfach in eine Tabelle schreiben und müssen sich nicht darum kümmern, alte Daten nach S3 zu verschieben, ihre Anwendung zu ändern, um andere Zugriffsmuster zu haben, etc.
Hybrid-Storage für Tabellen einrichten
Versuche, die wir in der Praxis umgesetzt haben zeigen: Bei Daten auf S3 dauern kalte Abfragen deutlich länger. Dies ist der Nachteil bei der Verwendung von Objektspeicher anstelle von lokalem Speicher. Wenn Benutzer jedoch dieselbe Abfrage zweimal ausführen, nutzt ClickHouse die interne Zwischenspeicherung, um die nachfolgenden Abfragen zu beschleunigen. Wie lauten die Endergebnisse?
Wenn der Cache genutzt werden kann, sind die Abfragen in der Regel 1,5 bis 3 Mal langsamer. Wenn die Caches jedoch kalt sind, kann sich die Abfragezeit sogar um den Faktor 10 erhöhen! Ist dies nun ein gutes Ergebnis oder nicht? Das hängt natürlich von der Arbeitslast ab. Werden ständig alte Daten abgefragt, dann ist ein Faktor von drei oder mehr kritisch. In anderen Fällen aber kann es mit S3 sogar zu einem kleinen Geschwindigkeitszuwachs kommen, da Abfragen auf alte Daten nicht mit den Caches des Dateisystems in Konflikt geraten würden.
Abschließende Überlegungen
In Anbetracht der Tatsache, dass die Kosten für S3-Objektspeicher etwa fünfmal niedriger liegen als für EBS-Speicher, ist die Verwendung einer hybriden Speicherlösung eine einfache Möglichkeit, Geld zu sparen. Da Benutzer hybriden Speicher auf Tabellenebene einrichten und unterschiedliche TTLs für verschiedene Tabellen konfigurieren können, können sie die Einstellung leicht an ihre Anwendungsfälle anpassen. Sie müssen zudem ihre Anwendung überhaupt nicht ändern, sondern optimieren einfach die monatlichen Kosten, indem sie die Einstellungen in ihren Clustern ändern. Natürlich ist hybrider Speicher aber kein Allheilmittel.
Wenn Unternehmen auf den Großteil ihrer Daten ständig zugreifen müssen, lohnt sich eine Geschwindigkeitsreduzierung um den Faktor drei vielleicht nicht. Die meisten Zugriffsmuster auf reale Daten tendieren jedoch dazu, aktive Daten 99 Prozent der Zeit zu nutzen und die restlichen Daten nur ein Prozent der Zeit. Daher lohnt es sich für dieses eine Prozent, ein wenig länger zu warten, wenn sich dadurch eine große Summe Geld sparen lässt.“