Technische Geschichten
10 min

Ein Startup, das den IoT-Markt aufmischt: crate.io

November 4, 2021
Ein Startup, das den IoT-Markt aufmischt: crate.io
Main clouds hero section image

In diesem Artikel stellen wir Ihnen ein IoT-Startup vor, das es in kurzer Zeit geschafft hat, mehrere Investitionsrunden, einen großen Kundenstamm sowie die erfolgreiche Etablierung auf dem internationalen Markt zu erreichen.

Wir werden über die Firma "CRATE Technology" ( crate.io ) sprechen, genauer gesagt über das Produkt CrateDB, das im IoT-Bereich aktiv eingesetzt wird. Darüber und über vieles mehr können Sie in diesem Artikel erfahren und herausfinden, wie geeignet diese Lösung für Ihr Projekt oder Unternehmen ist.

Einführung

CrateDB ist ein verteiltes SQL (Structured Query Language)-Datenbankmanagementsystem, das eine vollständig durchsuchbare dokumentenorientierte Datenbank integriert. Es ist quelloffen, in Java geschrieben, basiert auf einer nicht gemeinsam genutzten Architektur, ist für hohe Skalierbarkeit ausgelegt und enthält Komponenten von Facebook Presto, Apache Lucene, Elasticsearch und Netty.

Geschichte

Das CrateDB-Projekt wurde von Jodok Batlogg, einem Open-Source-Autor und -Ersteller, der an der OSIV (Open Source Initiative Vorarlber) mitgewirkt hat, und bei Lovely Systems in Dornbirn ins Leben gerufen. Die Software ist eine Open-Source-Cluster-Datenbank, die für die schnelle Textsuche und -analyse verwendet wird. Das Unternehmen, das jetzt Crate.io heißt, erhielt seine erste Finanzierungsrunde im April 2014, eine weitere Runde über 4 Millionen Dollar im März 2016 und 2,5 Millionen Dollar im Januar 2017 von Dawn Capital, Draper Esprit, Speedinvest und Sunstone Capital. Im Juni 2014 gewann Crate.io eine Jury's Choice-Nominierung beim GigaOm Structure Launchpad-Wettbewerb, und im Oktober 2014 gewannen sie die TechCrunch Disrupt Europe in London. CrateDB 1.0 wurde im Dezember 2016 veröffentlicht und hatte Berichten zufolge über eine Million Downloads. CrateDB 2.0 und die Enterprise Edition wurden im Mai 2017 veröffentlicht.

Überprüfung

Die Sprache von CrateDB ist SQL, aber es wird ein dokumentenorientierter, NoSQL-ähnlicher Ansatz für die Datenbank für Dokumente verwendet. Die Software verwendet den SQL-Parser von Facebook Presto, eine proprietäre Abfrageanalyse und eine verteilte Abfrage-Engine. Elasticsearch und Lucene werden zur Definition des Transportprotokolls und des Clusters verwendet, und Netty für asynchrone Netzwerkanwendungsumgebungen. CrateDB bietet automatische Datenreplikation und selbstheilende Cluster für hohe Verfügbarkeit.

CrateDB enthält eine integrierte Verwaltungsschnittstelle. Die Befehlszeilenschnittstelle (Crate Shell - CraSh) ermöglicht interaktive Abfragen. Der Python-Client ist der fortschrittlichste und verfügt über eine SQLAlchemy-Integration.

Im Juni 2016 testete Kyle Kingsbury die Gleichzeitigkeit und Konsistenz von CrateDB 0.54, um mehrere Fehlertoleranzprobleme aufgrund von Elasticsearch-Abhängigkeiten zu identifizieren. Er empfiehlt Crate nicht als primäres Repository, wenn jeder Datensatz wirklich wichtig ist, sondern hält die Datensätze in einer separaten Datenbank und verwendet Crate für schnelle Abfragen. Er präsentierte seine Ergebnisse erneut im April 2017 während einer Keynote-Präsentation auf der Scala Days-Konferenz.

Informationssicherheit

Der Schutz von IT-Systemen vor Cybersicherheitsbedrohungen ist eine der beliebtesten Anwendungen von CrateDB. CrateDB ist eine Cybersecurity-Datenbank, die eine Echtzeit-SQL-Engine auf NoSQL-Basis integriert. Dies bietet die Skalierbarkeit, Leistung und analytische Flexibilität von NoSQL-DBMS, ohne auf die Benutzerfreundlichkeit und Integration von SQL zu verzichten. Mit CrateDB können SQL-Entwickler Protokolle und Netzwerkverkehr in Echtzeit oder in großen Mengen verarbeiten, um eine breite Palette von Anwendungsfällen im Bereich der Cybersicherheit zu unterstützen. Hier sind einige der Cybersicherheitssysteme, die von CrateDB unterstützt werden:

• Skyhigh Networks - Cloud Services Access Security Broker (CASB)
• StackRox - adaptiver Bedrohungsschutz für Container
• Kryptos Logic - Schutz vor Bedrohungen und Gefahren

Lösungen wie diese sind in den Funktionen der Cyber Security CrateDB-Datenbank enthalten:

• Verarbeitung mehrerer Datenpunkte pro Sekunde

Elastische Skalierung ermöglicht es CrateDB, Daten mit hoher Geschwindigkeit auf Clustern von kostengünstigen Standardservern zu empfangen

• Abfragegeschwindigkeiten in Echtzeit

Spaltenbezogene Indizes und Feld-Caches bieten In-Memory-SQL-Leistung in Netzwerk- oder Protokolldatenströmen

• Textsuche, IP-Felder, AI, Zeitreihen

Dynamische Schemata und Optimierung für eine breite Palette von Daten und Cybersecurity-Analysen

• Kontinuierliche Einbeziehung

Integrierte Datenreplikation, Datenverteilung und Cluster-Balancing sorgen für kontinuierliche Bedrohungserkennung und Schutz

• ANSI SQL


Einfache Anwendung für jeden Entwickler und Integration mit Standarddatenquellen und Visualisierung

How the Thomas Concrete Group is adding value to its customers with IoT and  CrateDB (part II)


CrateDB-Vergleich

CrateDB ist eine verteilte SQL-Datenbank, die auf der Grundlage von NoSQL (für die Speicherung, Indizierung und Vernetzung) basiert, und sie ist die beste, wenn Sie sie brauchen:

• Verarbeitung großer Datenmengen - Millionen von Einfügungen pro Sekunde
• Vielfältige Abfragen - Echtzeit, Zeitreihen, Geodaten, Textsuche, AI
• Datenvielfalt - dynamische Muster von strukturierten oder unstrukturierten Daten
• SQL - für Benutzerfreundlichkeit und Integration ohne Sperren
• Einfache Skalierbarkeit - einfache Erstellung einer Datenbank zur Verarbeitung von mehr Daten oder Benutzern

Real-Time SQL Is What's Making CrateDB Such A Hit In The IoT Market

Wesentliche Merkmale

Skalierbar

Datenbankerweiterung sollte einfach sein, dann ist sie mit CrateDB leicht zu implementieren. Automatischer Datenabgleich und eine nicht gemeinsam genutzte Architektur machen die Skalierung einfach. Fügen Sie einfach neue Maschinen hinzu, um Ihren CrateDB-Cluster zu erstellen und zu erweitern. Sie müssen nicht wissen, wie Sie die Daten im Cluster umverteilen, denn CrateDB macht das für Sie.


Distributed SQL queries, accumulation and search

Die verteilte SQL-Abfrage-Engine von CrateDB umfasst spaltenförmige Feld-Caches und einen erweiterten Abfrageplaner. Dadurch verfügt CrateDB über die einzigartige Fähigkeit, Aggregationen, JOINs, Teilmengen und Ad-hoc-Abfragen mit Speichergeschwindigkeit durchzuführen. CrateDB integriert auch integrierte Volltextsuchfunktionen, mit denen Sie strukturierte oder unstrukturierte Daten gemeinsam speichern und abfragen können. Sie müssen also nicht mehr separate SQL- und Suchdatenbanken verwenden, um tabellarische und nicht-tabellarische Daten zu verwalten.

Hohe Verfügbarkeit

Selbst wenn im Rechenzentrum etwas schief läuft, funktioniert CrateDB weiter. Die automatische Datenreplikation in Ihrem Cluster und rollierende Software-Updates helfen, Hardwareausfälle und geplante Wartungsarbeiten zu vermeiden, ohne den Datenzugriff zu unterbrechen. Darüber hinaus sind CrateDB-Cluster selbstheilend. Wenn also Knoten zum Cluster hinzugefügt werden, lädt CrateDB sie automatisch mit Daten.


Datenerfassung in Echtzeit

Analytische Daten werden oft in Stapeln, mit Transaktionssperren und anderem Overhead geladen. Im Gegensatz dazu eliminiert CrateDB Overhead-Sperren, um eine Massenschreibleistung zu bieten (z. B. über 40.000 Einfügungen pro Sekunde pro Knoten auf Standardhardware). Darüber hinaus bietet CrateDB eine Abfrageleistung im Millisekundenbereich, selbst wenn Datensätze in Aktion sind.


Beliebige Daten und BLOBs

CrateDB unterstützt sowohl relationale Daten als auch verschachtelte JSON-Dokumente. Alle verschachtelten JSON-Attribute können in jeden SQL-Befehl aufgenommen werden. CrateDB bietet auch BLOB-Speicher, so dass Sie BLOB-Dateien wie Bilder, Videos oder große unstrukturierte Dateien speichern und abrufen können, was eine vollständig verteilte BLOB-Speicher-Cluster-Lösung darstellt.


Zeitreihenanalyse

Zeitreihendaten sind wichtig für die Erkennung von Trends und Anomalien. CrateDB macht die Zeitreihenanalyse schnell und einfach mit automatischen Tabellenpartitionen, die wie virtuelle Tabellen sind, die abgefragt, verschoben oder gelöscht werden können. Die Partitionierung der Daten nach Zeitintervallen gewährleistet eine sehr schnelle Zeitabfrage.


Geografische Abfragen

Der Standort ist für viele Maschinendatenanalysen wichtig. Aus diesem Grund kann CrateDB geografische Informationen mit den Typen geo_point und geo_shape speichern und abfragen. Sie können die Genauigkeit und Auflösung des geografischen Indexes steuern, um schnellere Abfrageergebnisse zu erhalten, und Sie können auch genaue Abfragen mit skalaren Funktionen wie Schnittpunkte, innerhalb und über Entfernungen durchführen.


Dynamische Patterns

Im Gegensatz zu vielen anderen SQL-Datenbanken sind die Schemata von CrateDB völlig flexibel. Es ist jederzeit möglich, Spalten hinzuzufügen, ohne die Leistung zu beeinträchtigen oder Ausfallzeiten zu verursachen. Dies ist großartig für eine flexible Entwicklung und schnelle Bereitstellung.


Transaktionsunterstützung

CrateDB ist konsistent, bietet aber eine transaktionale Semantik. CrateDB ist auf Zeilenebene konsistent, d.h. jede Zeile ist entweder vollständig geschrieben oder nicht. Durch die Post-Write-Konsistenz ist ein synchroner Echtzeit-Zugriff auf einzelne Datensätze unmittelbar nach dem Schreiben möglich. Obwohl CrateDB keine ACID-Transaktionen mit Rollbacks usw. unterstützt, bietet es eine optimistische Gleichzeitigkeitskontrolle durch eine interne Versionskontrolle, die es ermöglicht, Schreibkonflikte zu erkennen und aufzulösen.


Backups

CrateDB kann inkrementelle Datenbank-Snapshots für die Speicherung speichern. Die Snapshots enthalten den Zustand der Tabellen im CrateDB-Cluster zu dem Zeitpunkt, an dem der Snapshot erstellt wurde, und können jederzeit im Cluster wiederhergestellt werden.


Offenheit und Flexibilität

Es ist möglich, CrateDB überall zu betreiben, entweder im Rechenzentrum oder in der Cloud.

Schlussfolgerung

Die meisten CrateDB-Kunden nutzen die Datenbank für operative Analysen, die schnelle Ausführung von Zeitreihen, Textsuche, maschinelle Lernabfragen von Datenströmen und inaktiven Daten im industriellen IoT, Cybersicherheit in Unternehmen und Systemüberwachung in verschiedenen Branchen, intelligente Städte und Gebäudeinfrastruktur, Flottenverfolgung und -management sowie Marketinganalysen. Die Open-Source-SQL-Datenbank Crate.io verfügt über eine integrierte Suchmaschine für die Speicherung und Analyse von Machine-Learning-Daten in Echtzeit. Das Unternehmen wurde 2013 gegründet, um Entwicklern eine Open-Source-SQL-Datenbank zum Sammeln, Analysieren und Verwalten von Daten aus den Bereichen maschinelles Lernen und künstliche Intelligenz zur Verfügung zu stellen.

Wenn Sie beim Lesen dieser Zeilen Fragen zum Einsatz dieser Technologie in Ihrem Projekt haben, können wir Ihnen bei der Implementierung helfen. Unsere Entwickler haben unzählige Erfahrungen mit Azure, AWS DevOps sowie mit der Datenbankentwicklungstechnologie.

Wenn Sie interessiert sind, vereinbaren Sie einen Termin für ein Beratungsgespräch in unserem Kalender oder kontaktieren Sie uns über die in den Kontaktinformationen angegebene E-Mail.

Lassen Sie uns gemeinsam etwas Großartiges aufbauen!

In unserem Blog vorgestellt

Fallstudien

Unser Angebot

Technologie-Know-how

vuejs logoreact logo
laravel logodjango logosymfony logo
aws partners logo docker logo kafka logo
kubernetes logoatlassian logo