CrateDB

CrateDB

Copyright © Shutterstock/ eamesBOT

1. Was ist CrateDB?

Bei CrateDB handelt es sich um eine SQL-Datenbank aus dem Hause Crate.io. CrateDB ist auf das Internet der Dinge (IoT) ausgelegt. Anwendung findet das Datenbanksystem beispielsweise im Management von Maschinendaten und Sensordaten. Die Entwickler verfolgen einen Open-Source-Ansatz auf Basis der NoSQL-Architektur.

2. CrateDB im Überblick

CrateDB ist als Produkt von Crate.io speziell für Data Stores zum Management von Sensor- und Maschinendaten gedacht. Crate.io begann seine Arbeit als Start-up und ist mit seinen Büros inzwischen in Berlin, Dornbirn (Österreich) und San Francisco (Kalifornien) ansässig.

Die Open-Source-basierte SQL-Datenbank baut auf einer NoSQL-Architektur auf und ist auf die Verarbeitung großer Mengen von Daten ausgelegt. Die Entwickler setzen auf schnelle Textsuchen und Analysen.

Das Angebot an NoSQL-Datenbanken ist groß, doch unterscheidet sich CrateDB durch seine Ausrichtung auf große Maschinendatenmengen. Die Nachfrage nach dem Produkt stammt vorrangig aus der Industrie. CrateDB setzt insbesondere auf eine hohe Geschwindigkeit im Management der Datenbanken.

Ebenso legen die Entwickler besonderen Wert auf ausgezeichnete Skalierbarkeit. Seit Gründung im Jahr 2014 ist die Nachfrage laut Crate.io fortwährend hoch, was sich anhand der steigenden Downloadzahlen zeigt. Die Entwickler betonen, dass CrateDB nicht nur SQL-Datenbanken ersetzt. Auch andere NoSQL Datenbanken wie MongoDB lassen sich durch Crate ersetzen, das sich durch Einfachheit und Benutzerfreundlichkeit auszeichnet.

Das Projekt ist im Jahr 2014 von Jodok Batlogg im österreichischen Dornbirn ins Leben gerufen worden. Die erste Finanzierungsrunde fand im April 2014 statt. Weitere Runden folgten im März 2016 sowie im Januar 2017. Zu den Financiers gehörten Dawn Capital, Speedinvest, Draper Esprit und Sunstone Capital.

3. Die Architektur von CrateDB

Die Architektur der Datenbank ist ihre Besonderheit. Es handelt sich um eine in der Programmiersprache Java geschriebene Open-Source-Datenbank, die mit SQL-Befehlen arbeitet, mit denen das Daten-Management vonstattengeht.

Ungewöhnlich ist daher der NoSQL-Ansatz des Aufbaus der Datenbank. Der Aufbau integriert vollumfänglich durchsuchbare sowie dokumentenorientierte Data-Stores. Dies eignet sich beispielsweise für strukturierte Daten, semi-strukturierte Daten oder Geodaten.

Im Zusammenhang mit Crate kommt der von Presto stammende SQL Parser zum Einsatz. Dieser stellt eine von Facebook entworfene Analyse-Engine sowie verteilte Abfrage-Engine dar, die für das Management von Big Data zum Einsatz kommt. Die Datenbank bedient sich weiterhin des Transport-Protokolls sowie der Cluster-Erkennung der Suchmaschine Elasticsearch.

Ebenso integriert die Datenbank die Programmbibliothek von Apache Lucene. Außerdem kommt das Client-Server-Framework Netty zum Einsatz, ein nicht-blockierendes, asynchrones Framework speziell zur Entwicklung von Java-Anwendungen im Netzwerk.

Crate.io entschied sich für den SQL-Ansatz, da es sich um eine der am weitesten verbreiteten Abfragesprachen unter Datenbank-Entwicklern handelt. Damit versprechen sich die Betreiber einen demokratischeren Ansatz als einige Wettbewerber unter vergleichbaren Datenbanken.

Mitte 2018 kündigten die Entwickler von Crate.io eine spezielle Machine Data Platform an, mit der sich Maschinendaten noch schneller bearbeiten lassen. Es handelt sich um einen Cloud-Native-Stack. Die Verfügbarkeit der Plattform wird als gehostete Lösung via Microsoft Azure sowie alternativ als On-Premise-Modell gewährleistet.

Die Zeitersparnis wird realisiert durch eine Vereinfachung des bis dato zeitintensiven Aufbaus der Sensorenanbindungen. Auch der Betrieb des Echtzeit-Datenmanagement-Systems wird vereinfacht. Unternehmen sollen auf diese Weise einen deutlichen zeitlichen Vorteil gewinnen. Sowohl Zeit als auch Kosten, die beim Aufbau der technischen Infrastruktur anfallen, sollen entfallen. Insbesondere kommerzielle Anbieter von IoT-Plattformen sollen auf diese Weise dabei unterstützt werden, ihre Produkte und Lösungen schneller entwickeln und auf den Markt bringen zu können.

Die Crate Machine Data Platform verfügt über eine Reihe von Funktionen. Die in Hochgeschwindigkeit erfolgende Datenübermittlung ermöglicht es, pro Minute mehrere Millionen Datenpunkte (SQL, JSON oder MQTT) in die Plattform zu laden. Dies funktioniert unabhängig von der Datenstruktur. Auch aufwändigere Objekte mit komplexen Arrays sind über den skalierbaren Service in Hochgeschwindigkeit Übermittelbar.

Eine weitere wichtige Funktion betrifft die Datenanreicherung. Die rohen Daten gelangen in die Plattform, bevor sie über eine vom Benutzer zu definierende Logik konvertiert werden. Auf diese Weise ist gewährleistet, dass in Echtzeit ein konvertierter und bereinigter Datensatz zur Verfügung steht. Dieser ist mit bestimmten berechneten Werten und Summen angereichert.

Auch die Analyse der Daten erfolgt in Echtzeit. Im Zusammenspiel mit der Data Platform lassen sich mit CrateDB in Echtzeit Textsuchen, Zeitreihen sowie Analysen von Maschinendaten durchführen. Ebenfalls unterstützt die Plattform die Visualisierung der Daten.

Verschiedene Visualisierungs-Softwares lassen sich in der Plattform hosten und skalieren, darunter Grafana, Klimt oder beliebige andere Lösungen. Weiterhin lassen sich verschiedene operationale Alarme nach benutzerdefinierten Regeln einrichten. Auf Basis dieser Regeln lassen sich Workflows initiieren, die unmittelbar zur Verbesserung der betrieblichen Effizienz beitragen.

Die Daten-Plattform verfügt weiterhin über eine Auswahl an Administrationsfunktionen. Administratoren haben die Möglichkeit, die Plattform zu skalieren und zu orchestrieren. Die Data Plattform hat eine Clous-native Microservice-Architektur als Basis. Diese lässt sich über ein Kubernetes-System verwalten und sichern.

Die Verfügbarkeit der Daten wird durch regelmäßige Back-ups sichergestellt. Hierzu bedient sich die Data Plattform dem Konzept der inkrementellen Datensicherung. Dies erfolgt automatisch und die Daten lassen sich wiederherstellen.

Eine weitere administrative Funktion betrifft die Aufgaben der Daten-Archivierung. Aufgrund der Tatsache des Data-Agings, also der Veraltung von Daten, nimmt ihre Relevanz in Echtzeit-Systemen immer weiter ab. Aufgrund dessen kann die Data Plattform dafür sorgen, dass Daten automatisiert in kostengünstigeren Speichern archiviert werden. Das archivierte Datenmaterial lässt sich jederzeit mit wenigen Handgriffen wiederherstellen, wenn etwa neue Analysen mit historischen Datensätzen gefragt sind.

Die Zugänge zur Daten-Plattform lassen sich vollständig in Echtzeit nachvollziehen und prüfen. Zu diesem Zweck kommen die Techniken des Monitorings und Loggings zum Einsatz.

Die Datensicherheit wird durch Verschlüsselungen gewährleistet. Die Data Plattform hält eine Zugangskontrolle bereit, die bei jedem Zugriff eine Authentifizierung erfordert.

Die Daten-Plattform istn grudsätzlich seit Dezember 2016 allgemein verfügbar. Zu dieser Zeit erschien CrateDB 1.0, das bereits einige zentrale Funktionen beinhaltet. Dazu gehören Outer Joins sowie Subselects und Schnittstellen für Metadaten und Schemadaten. Die Entwickler von Crate.io unterstützen den Installationsprozess sowie die Konfiguration durch eine umfangreiche Dokumentation auf der Internetseite.

Im Hinblick auf die Support-Levels arbeitet Crate.io mit verschiedenartigen Preismodellen. Preisinformationen erhalten Support-Interessenten im direkten Kontakt mit Crate.io. Die Daten-Plattform von CrateDB lässt sich vollständig kostenlos auf der Internetseite herunterladen. Die Plattform findet Unterstützung auf den gängigen lokalen Betriebssystemen von Microsoft Windows, Mac OS X sowie Linux (darunter auch Arch Linux und Ubuntu).

Unabhängig von der Installation auf einem lokalen Rechner können Anwender auch eine Cloud-Plattform nutzen. Unter anderem finden Microsoft Azure, Amazon Web Service sowie IBM SoftLayer Unterstützung. Ebenso ist es möglich, CrateDB in Form eines Images in einen Container einzusetzen.

Die jüngste Produktgeneration 3.0 basiert auf Lucene 7.1.0 sowie Elasticsearch 6.1.4. Zu höherer Flexibilität und Leistungsfähigkeit tragen neue Algorithmen sowie eine Verbesserung des SQL-Sprachumfangs bei. Dank Algorithmen wie Hash-Joins sowie HyperLogLog soll eine um das 200-fache beschleunigte Query-Performance möglich sein. Zu den Neuerungen gehören weiterhin optimierte Sicherheitsoptionen. Dazu gehören verbesserte Nutzerverwaltung und Zugangskontrollen. Die Version 3.0 bietet weiterhin Unterstützung für Virtual Tables sowie Sub-Queries. Zur Vereinfachung der Datenbank trägt der Sharding Visualizer bei.

Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte