Open-Source-Datenbank fürs Internet der Dinge Riak – die Big-Data-Datenbank

Von Thomas Joos

Anbieter zum Thema

Mit der Open-Source-Datenbank Riak können Unternehmen NoSQL-, Zeitreihen- und Objekt-Speicher realisieren, vor allem im Zusammenspiel mit IoT-Szenarien (Internet of Things). Die Lösung arbeitet mit Apache Spark, Redis und Apache Solr zusammen. In Big-Data-Umgebungen und Hybrid-Clouds werden darüber hinaus ebenfalls leistungsstarke und skalierbare Datenbanken benötigt. Auch hier kann Riak interessant sein.

Das Basho-Riak-Logo
Das Basho-Riak-Logo
(Bild: Basho)

Die NoSQL-Open-Source-Datenbank Riak wird vom Unternehmen Basho entwickelt. Dieses kam Ende 2014 in die Schlagzeilen, da ein großer Teil des Managements das Unternehmen verlassen hatte. Nun versucht der Hersteller wieder Fuß zu fassen und bietet seine Datenbank mit erweitertem Support an.

Mittlerweile gehören NoSQL-Datenbanken zum Standard in Big-Data-Umgebungen, da herkömmliche, relationale Datenbanken die Datenmengen und -arten in Big-Data-Infrastrukturen kaum mehr verarbeiten können. Herkömmlichen, relationalen Datenbanken fehlt es vor allem an Flexibilität und Skalierbarkeit. Hinzu kommt, dass in Big-Data-Umgebungen der Ausfall von Knoten verschmerzbar und die Datenbank rund um die Uhr abfragebereit sein muss.

Drei Versionen

Riak wird in drei verschiedenen Versionen angeboten: Riak KV, Riak TS und Riak S2. Die Datenbank ist generell vergleichbar mit Hbase, Postgres, Cassandra, Redis, MongoDB oder Couchbase. Durch den verteilten, fehlertoleranten Key Value Store ist die Datenbank vor allem im Big-Data-Bereich sehr beliebt. Auch zum Speichern von Benutzerdaten wird die Datenbank gerne verwendet, vor allem wenn es um größere Umgebungen geht.

Riak bietet die Möglichkeit, Cluster auf Basis von physischen Knoten bereitzustellen, ist aber für den Betrieb in virtuellen Maschinen optimiert. Vor allem der Betrieb in Microsoft Azure oder Amazon Web Services wird von den Entwicklern empfohlen. Die Umgebung lässt sich schnell und einfach skalieren, indem zusätzliche Clusterknoten implementiert werden.

Diese Möglichkeiten bietet Riak

Entwickelt wurden die Datenbanken in der Programmiersprache Erlang. Die Datenbank-Server lassen sich entweder auf Linux oder Mac OS X betreiben und sind schemafrei. Vorteil der Datenbank ist die Unterstützung zahlreicher Programmiersprachen, zum Beispiel C, C#, C++, Clojure, Dart, Erlang, Go, Groovy, Haskell, Java, JavaScript, Lisp, Perl, PHP, Python, Ruby, Scala und Smalltalk.

Der Entwickler bietet die verschiedenen Datenbanken als Open Source unter der Apache-2-Lizenz, aber auch als Kauf-Software an. Außerdem ist Support für die kostenlose Version verfügbar. Unternehmen, die zu den Kauf-Versionen wechseln, erhalten auf Wunsch noch mehr Support, auf Wunsch 24/7.

Riak lässt sich effizient überwachen. Das ist vor allem dann wichtig, wenn zahlreiche Clusterknoten im Einsatz sind. Dazu stellt die Datenbank verschiedene Endpunkte zur Verfügung, die den Status der Daten und der Knoten anzeigen können. Darüber hinaus lässt sich die Lösung mit Überwachungs-Programmen wie Nagios, Zabbix und weiteren Tools überwachen.

Verteilte NoSQL-Datenbank Riak KV

Bei Riak KV handelt es sich um eine verteilte NoSQL-Datenbank. Die Datenbank wird als Open Source angeboten. Diese lässt sich hochverfügbar betreiben und kann Daten über einen Cluster im Netzwerk replizieren. Neben der Open-Source-Version steht auch eine Enterprise-Version zur Verfügung. Diese bietet Replikation über mehrere Cluster hinweg. Dadurch lassen sich auch Geo-Positionsdaten oder ausfallsichere Geo-Cluster realisieren.

Durch das Key Value Design sowie die Replikation der Daten zwischen den Clusterknoten ist die Stabilität der Datenbank auch dann gewährleistet, wenn Clusterknoten ausfallen. Riak KV bietet verschiedene Möglichkeiten der Datenabfrage. Bevorzugt werden die Solr-Volltextsuche, Sekundärindizes und MapReduce.

Die Datenbank ist Inhaltsunabhängig und dafür optimiert, Sensordaten in Internet-of-Things-Umgebungen zu speichern. Durch die flexible Skalierbarkeit lassen sich auch wachsende Datenmengen schnell und einfach implementieren. Neue Knoten können mit Standard-Hardware hinzugefügt werden. Fügen Administratoren neue Knoten hinzu, werden diese sofort in die Berechnung mit einbezogen. Neben IoT-Daten können Unternehmen aber auch Daten von Messaging- und Chat-Anwendungen speichern und verarbeiten. Grundsätzlich lassen sich diese Datenbanken auch in der Cloud betreiben.

Riak TS – Zeitreihendaten im Internet of Things

Die Version Riak TS ist optimiert für Zeitreihendaten. Dadurch lassen sich also dauerhaft eintreffende Daten schnell und einfach verarbeiten. Vor allem in IoT-Szenarien, wenn Sensoren dauerhaft ausgewertet werden müssen, kann Riak TS eine echte Hilfe sein. Generell basiert TS auf KV, wurde aber für den Betrieb in IoT-Szenarien optimiert: Bereits beim Schreiben der eingehenden Daten werden diese so abgelegt, dass Abfragen schneller durchgeführt werden können. Dazu kann TS die Daten auch gruppieren. Hier lassen sich zum Beispiel bestimmte Zeiträume oder Regionen zusammenlegen. Entwickler können Zeit, Ort und Daten so konfigurieren, dass sich eine Sortierreihenfolge ergibt, die auf den Verwendungszweck optimal zugeschnitten ist.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Big Data, Analytics & AI

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Auch hier werden die Daten also in einer NoSQL-Datenbank gespeichert. In dieser Datenbank lassen sich Zeitreihendaten auch zusammenlegen und optimiert speichern. Das erleichtert die Abfrage und beschleunigt die Verarbeitung der Daten. Die Datenbank lässt sich, genauso wie KV, ebenfalls replizieren und in einem Cluster betreiben. Im Gegensatz zu KV und S2 steht diese Datenbank nicht kostenlos zur Verfügung. Wer TS mit Systemen wie Apache Spark, Redis oder Solr verbinden will, kann spezielle Konnektoren verwenden, die durch die Entwickler zur Verfügung gestellt werden.

Riak S2 – Objektspeicher in der Cloud

Die dritte Variante von Riak ist S2. Dabei handelt es sich um einen Objektspeicher, der auch in der Cloud verwendet werden kann. Unternehmen können hier ihre Daten in privaten oder in Hybrid-Clouds ablegen. Die Datenbank ist kompatibel mit Amazon S3 und OpenStack. Wie KV, so stellen die Entwickler auch S2 als Open-Source-Lösung zur Verfügung.

Fazit

Basho bietet mit Riak verschiedene Formen von NoSQL-Datenbanken an. Diese werden als Open-Source-Lösungen zur Verfügung gestellt. Im Gegensatz zu anderen Open-Source-Entwicklern steht bei Basho aber das Verkaufen von Enterprise-Lösungen im Vordergrund: Basho möchte vor allem am Support Geld verdienen. Leider ist Basho in den vergangenen Jahren oft durch Probleme im Management aufgefallen. Die Technik hinter der Datenbank kann dagegen durchaus mit MongoDB mithalten.

Generell sollten sich vor allem Unternehmen für Riak entscheiden, die sich auch mit den anderen Datenbanksystemen auseinandergesetzt haben, und für die Riak eindeutige Vorteile bietet. Auch MongoDB ist nicht unbedingt die beste Wahl, denn auch Postgres bietet in neuen Versionen durchaus interessante Zusatzfunktionen. Es lohnt sich also, möglichst viele Datenbanken miteinander zu vergleichen, bevor die Entscheidung für den einen oder anderen Anbieter fällt.

(ID:44060583)