Interview mit Steffen Schneider, Senior Solutions Engineer bei Couchbase

NoSQL vs. SQL: „Bei unstrukturierten Daten haben NoSQL-Datenbanken ihren großen Auftritt“

Dominik Mohilo

© Shutterstock / Profit_Image

Die Frage, ob man eine sequentielle oder nicht-sequentielle Datenbank, also eine SQL- oder NoSQL-Datenbank, verwenden möchte, erhitzt nach wie vor die Gemüter. Steffen Schneider, Senior Solutions Engineer bei Couchbase, vergleicht in unserem Interview die beiden Ansätze und zeigt auf, welche Art von Datenbank sich für welche Anwendungen besser eignet. Außerdem geht er auf die Themen Big Data sowie Datenbanken in Containern ein und gibt einen Ausblick darauf, welche Technologie sich vielleicht durchsetzen wird.

JAXenter: Hallo und vielen Dank, dass du dir Zeit für dieses Interview genommen hast. Couchbase ist eine NoSQL-Datenbank, vielleicht daher zu Beginn die Frage: Was ist der genaue Unterschied zwischen einer SQL- und einer NoSQL-Datenbank?

Steffen Schneider: Traditionellen relationalen Datenbanken liegen normalisierte Tabellen zugrunde. Eine Tabellenzeile ist ein Datensatz. Mit der Abfragesprache SQL werden diese Datensätze der Reihe nach – daher das „sequentiell“ – ausgewertet. NoSQL-Datenbanken weichen von diesem Prinzip ab und lockern es auf. Sie erlauben freie Datenmodelle, können aufgrund des fehlenden Normalisierungszwangs besser skalieren und sind performanter.

JAXenter: Für welche Art von Anwendungen eignet sich eine NoSQL-Datenbank besser als die SQL-Variante?

Steffen Schneider: Da sind zunächst Anwendungen für die Verarbeitung semi- und unstrukturierter Daten, also jener Daten, die sich nicht oder nicht so einfach in Tabellen bringen lassen. Ansonsten sind auch Anwendungen im Fokus, bei denen sich das Datenmodell häufig ändert. Da gibt es In-Memory-Anwendungen und Key-Value-Store sowie dokumentenorientes Speichern und Graph-Datenbanken. Außerdem eignen sich NoSQL-Datenbanken für Echtzeit-Anwendungen.

Ein weiterer Use Case für NoSQL-Lösungen: sie sind bei der Datenaggregation flexibler, weil sie mit Objekten anstelle von festen Tabellen arbeiten und diese mit einem objektorientierten Format verarbeitet werden können.

NoSQL-Lösungen sind bei der Datenaggregation flexibler, weil sie mit Objekten anstelle von festen Tabellen arbeiten.

E-Commerce ist ein konkretes Beispiel für den Bedarf einer hohen Skalierbarkeit. NoSQL-Datenbanken sind hier prädestiniert, weil sie feingranular über Server, auch Nodes genannt, skalieren, die in Clustern organisiert sind. Das erlaubt eine fast grenzenlose Flexibilität. Online-Shops locken zum Beispiel immer wieder mit Sonderaktionen wie Black Friday oder Cyber Monday. Da explodieren die Userzahlen und die Datenmenge wächst entsprechend an. Hier spielen NoSQL-Datenbanken ihre Vorteile aus, da man ganz einfach das Cluster vergrößern und nach der Arbeitslastspitze auch wieder reduzieren, also atmen lassen kann.

JAXenter: Datenbanken in Container zu packen ist ein noch relativ unerforschtes Gebiet, ist die Containerisierung und damit auch der Sprung in die Cloud oder hin zu Serverless mit NoSQL-Datenbanken möglich?

Steffen Schneider: Da muss ich widersprechen: Dem Thema Containerisierung widmet sich Couchbase mit Unterstützung seiner Kunden seit 2015. Verfügbar ist das Container-Modell bei Couchbase jetzt seit zwei Jahren. Wir waren damit als erster NoSQL-Anbieter am Markt und haben einen Operator für Kubernetes und OpenShift, den Couchbase Autonomous Operator, gelauncht. Jetzt, wo es die großen Cloud-Anbieter propagieren, setzt sich das Konzept auch in der Breite durch. Couchbase ist dadurch Plattform-agnostisch und Multi-Cloud-fähig.

Couchbase ist eine distribuierte Datenbank, Container per se dagegen sind monolithische Struktur, für relationale Datenbanken, die ebenfalls monolithisch sind, ist es kein Problem in die Container integriert zu werden. Für NoSQL hingegen schon, weil sie mit anderen Containern kommunizieren und interagieren müssen – deshalb haben wir den Autonomous Operator entwickelt.

Couchbase verfügt in diesem Zusammenhang über weitere interessante Features wie Self Healing, automatisches Fail-over und Neu-Provisionierung von Instanzen und Cluster.

Java Whitepaper

Gratis-Dossier: Java 2020 – State of the Art

GraalVM, Spring Boot 2.2, Kubernetes, Domain-driven Design & Machine Learning sind einige der Themen, die Sie in unserem brandneuen Dossier 2020 wiederfinden werden!

JAXenter: Was genau sind die Vorteile von Couchbase gegenüber anderen Mitbewerbern im weiten Feld der NoSQL-Datenbanken?

Steffen Schneider: Zunächst ist da die Abfragesprache N1QL zu nennen. Couchbase ist die einzige NoSQL-Datenbank mit einer vollständig Ansi-92-SQL kompatiblen Abfragesprache. Unsere Lösung ist auch für den Einsatz auf Mobilgeräten geeignet und löst automatisiert im vollständigen End-to-End-Prozess typische bei mehreren mobilen Endgeräten vorkommende Schreibkonflikte – eine große Problematik und Herausforderung am Markt. Zudem verfügt Couchbase über eine bereits integrierte Full-Text-Search. Andere Datenbanken benötigen hier fast immer eine zweite Lösung. Couchbase liefert eine implizite Hochverfügbarkeit, weil sich Daten leicht auf andere Data Center spiegeln lassen. Die Entwickler können aber auch bestimmen, welche Daten granular, wohin gespiegelt werden, unsere Datenbank-Plattform gibt hier volle Kontrolle.

JAXenter: Gibt es Features in Couchbase oder generell der NoSQL-Variante, die sich Entwickler vielleicht wünschen würden?

NoSQL wird sich auf dem Markt noch stärker durchsetzen.

Steffen Schneider: Viele Entwickler sind an ihre eingesetzte Lösung „gefesselt“, weil diese nur mit dem mitgelieferten SDK programmiert werden kann. Wir wollten den Entwicklern aber ermöglichen, mit ihrem SDK auf Couchbase zu entwickeln. Daher unterstützen wir die gängigen Developer-Frameworks auf dem Markt.

Außerdem gibt es Transaktionssicherheit durch unser Multi Document ACID Compliance: Eine Transaktion wird entweder vollständig in alle Dokumente geschrieben oder es erfolgt ein automatisches Roll-back im Falle einer Störung während des Schließens der Transaktion. Das soll sicherstellen, dass mehrere Dokumente nicht nur übertragen, sondern transaktionssicher gespeichert, werden. Dadurch wird die Konsistenz, die man von der relationalen Datenbank-Welt kennt, erreicht.

JAXenter: Big Data wird speziell in Europa teilweise sehr kritisch gesehen. Welche Initiativen unternehmt ihr, um für eine größtmögliche Datensicherheit bei den Kunden und Usern zu sorgen?

Steffen Schneider: Wir unterstützen Anliegen durch Security-by-Design und die Datensicherheit, die wir mittels Integration von Best-Practices via Tools anderer Anbietern schaffen. Wir ermöglichen so eine komplette Verschlüsselung der Daten auf der gesamten Datenstrecke und bei Speicherung. Intern wird ebenso verschlüsselt wie bei der Datenübertragung in und aus Couchbase. TLS und SSL sind hier die Standards.

JAXenter: Wie ist es um die Zukunft von Datenbanken bestellt, welche Technologie wird sich durchsetzen, welche neuen Entwicklungen können wir in den nächsten Jahren erwarten?

Steffen Schneider: NoSQL wird sich auf dem Markt noch stärker durchsetzen. Vor zehn Jahren gab es noch keine NoSQL-Lösungen, und jetzt sehen wir immer noch neue Anbieter hinzukommen. Mit IoT-Anwendungen und Industrie 4.0 wächst die Datenmenge immer stärker an und dem kann nur mit NoSQL-Datenbanken begegnet werden.

Daten liegen heute nicht mehr ausschließlich statisch an einem Platz, sondern werden zwischen Anwendungen und sogar von Cloud zu Cloud verschoben.

Es ist auch keine Frage von „Entweder-Oder“, sondern der Koexistenz mit relationalen Datenbanken. Daten liegen heute nicht mehr ausschließlich statisch an einem Platz, sondern werden zwischen Anwendungen und sogar von Cloud zu Cloud verschoben.

Es entstehen zudem immer mehr Anwendungen für mobile Geräte, was ein großer Trend ist: Jede Bewegung und Interaktion des Anwenders wird gescreent, jede Aktion gespeichert und ausgewertet. Dazu werden sehr viele Daten aus unterschiedlichen Quellen für ganz verschiedene Aufgaben zwischen Maschinen und Maschinen und zwischen Maschinen und Personen ausgetauscht. Das gilt auch für Social Networks, wenn es darum geht „über sieben Ecken“ die Verbindungen zwischen Objekten und Personen zu identifizieren. Das ist einer der prädestinierten Anwendungsfälle, bei dem der große Auftritt der NoSQL-Datenbanken kommt.

Steffen Schneider ist Senior Solutions Engineer bei Couchbase.
 
 
 
 
Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: