Open Source im professionellen Einsatz
Linux-Magazin 03/2014
© Chiya Li, 123RF.com

© Chiya Li, 123RF.com

Riak CS als S3-kompatibler Cloudspeicher

Starker Speicherring

Amazons Onlinestorage-API S3 kann man auch ohne den Internetkonzern verwenden: Das freie Riak CS baut auf einer verteilten Datenbank auf und bringt flexiblen Cloudspeicher auf die eigenen Server.

659

Amazons Cloudstorage-Dienst S3 (Simple Storage Service) ist bei Website-Betreibern und SaaS-Anbietern beliebt. Beispielsweise speichern Tumblr und Pinterest ihre Bilddateien dort, und der Contentmanager Alfresco nutzt es ebenfalls. Ruby on Rails schickt mit der Erweiterung Paperclip Uploads nach S3, und der Amazon-Speicher kann sogar Apache-Hadoop-Dateisysteme für Analysen vorhalten. Es gibt kaum ein Framework, das nicht einen Adapter zu S3 anbietet.

Speichern ohne Amazon

Es gibt allerdings Szenarien, bei denen es nicht opportun ist, Daten auf Amazons Servern abzulegen. Dazu gehört der Umgang mit Business-kritischen Daten, die in der Firma bleiben sollen, sowie das Speichern von personenbezogenen Informationen, die das Land nicht verlassen dürfen. Für diese Fälle muss der Nutzer die Anwendung an eine alternative Lösung anpassen – oder er greift zu Riak CS (Cloud Storage, [1]). Die Apache-lizenzierte Software des US-Unternehmens Basho bildet einen Großteil der Funktionalität und der REST-Schnittstelle von S3 nach.

Mit Riak CS lassen sich aber nicht nur die Daten im Hause halten. Ein lokaler S3-artiger Speicher hilft auch Anwendungsentwicklern, denn sie haben den Server im Griff und können zum Beispiel Ausfälle simulieren. Zum Umstellen auf den Amazon-Dienst für den Produktiveinsatz reicht dann unter Umständen eine alternative Konfigurationsdatei.

Die Basis von Riak CS bildet Riak ([2], [3]), ein verteilter und hochverfügbarer Key-Value-Store, der große Datenmengen zum schnellen Zugriff bereithält und dem Ausfall einzelner Server trotzt. Diese Eigenschaften sowie einfache Administration, Skalierbarkeit und Unabhängigkeit von einem Masterserver sind auch für Dateispeicher wünschenswert.

Riak vereint eine Datenbank mit einem Peer-to-Peer-Netzwerk. Es legt die Daten nicht auf einem einzelnen Server ab, sondern verteilt sie bestmöglich über mehrere Rechner (Nodes) im Netzwerk. Dazu verwendet die Software ein Verfahren namens Consistent Hashing (konsistente Hashfunktion): Legt ein User unter dem Schlüssel »Essen« den Text »Salami-Pizza« ab, erzeugt Riak aus dem Schlüssel einen Hashwert. Dabei stellt es sicher, dass der Schlüssel im Zahlenraum von 0 bis 2160 – 1 liegt. Um die Daten gleichmäßig über den so genannten Ring zu verteilen, unterteilt es den Raum in eine feste Anzahl von Behältern, beispielsweise 32.

Betrachtet man eine Installation mit den Nodes A, B, C und D, so erhält jeder Server möglichst die gleiche Menge an Daten. Da die Schlüssel im Zahlenraum gleichmäßig verteilt sind, kann Riak die Behälter einfach nach dem Round-Robin-Prinzip den beteiligten Servern zuweisen: Jeder ist für 25 Prozent des Hashringes verantwortlich. Fällt beispielsweise der Hash von »Essen« in das erste Viertel, wird der Text auf Server A abgelegt.

Replikation

Das allein sorgt aber nicht für hohe Verfügbarkeit oder Datenredundanz. Um dem Ausfall von Servern zu widerstehen, repliziert Riak die Daten, legt also Kopien auf weiteren Servern ab. Es speichert die Daten nicht nur in jenem Behälter, der laut Hashfunktion dafür zuständig ist, sondern zusätzlich in den beiden folgenden. Durch die Verteilung der Behälter auf die vorhandenen Server befinden sich die Daten nun auf drei Servern, in Abbildung 1 liegt jedes Schlüssel-Daten-Paar von A auch als Kopie auf den Servern B und C. Die Verantwortung für die Daten obliegt damit nicht einem, sondern mehreren Servern. Fällt einer aus, sind die Daten nach wie vor verfügbar.

Abbildung 1: Riak verteilt die Daten mittels einer konsistenten Hashfunktion und speichert zusätzliche Sicherheitskopien auf mehreren Rechnern des Clusters.

Je nachdem, welche Ansprüche der Anwender an Verfügbarkeit und Konsistenz stellt, kann er die Schreib- und Lese-Einstellungen von Riak anpassen. Im Standardsetup verteilt Riak alle Daten auf drei Server, diese Zahl ist der so genannte N-Value. Ein Schreibvorgang gilt als erfolgreich, wenn die Datenbank auf mindestens zwei dieser drei Rechner geschrieben hat, das regelt der W-Value. Ähnliches gilt für den Lesevorgang, hier beträgt der R-Value standardmäßig zwei. Weitere Hintergründe zu Riak vermittelt das englischsprachige Onlinedokument "A little Riak Book" (Abbildung 2, [4]).

Abbildung 2: "A Little Riak Book" macht die Prinzipien hinter der Datenbank anschaulich.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • No-SQL-Datenbank Riak 2.0 mit neuen Features

    Mit Version 2.0 erfährt die No-SQL-Datenbank Riak zahlreiche Neuerungen und Änderungen, die sämtliche Bereiche betreffen. Dazu gehören unter anderem die Suche, die Sicherheit und die Konsistenz der Daten.

  • Web-Crawler Ebot 0.3 spricht mit Datenbank Riak

    Der verteilte Web-Crawler Ebot ist in Version 0.3 verfügbar.

  • 1000 VM-Images für Azure

    VM Depot, die von Microsoft Open Technologies gepflegte Sammlung von virtuellen Maschinen für Azure, umfasst mittlerweile 1000 VM-Images. Zum Durchforsten gibt es eine erweiterte Suchfunktion.

  • Datenbanken 2011

    Frischkost gibts für Datenbank-Anwender, seit MySQL, PostgreSQL, Ingres und Firebird neue Versionen aufgelegt haben. Neu mischt MySQL-Fork Maria DB mit. Revolutionäres Verweigern von SQL ist das Kennzeichen von Redis, Riak und Cassandra. Die replizierende Couch DB komplettiert den Magazin-Schwerpunkt.

     

  • Einführung

    Frischkost gibts für Datenbank-Anwender, seit MySQL, PostgreSQL, Ingres und Firebird neue Versionen aufgelegt haben. Neu mischt der MySQL-Fork Maria DB mit. Revolutionäres Verweigern von SQL ist das Kennzeichen von Redis, Riak und Cassandra. Die replizierende Couch DB komplettiert den Magazin-Schwerpunkt.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.