NoSQL-Überblick - Neo4j, Apache Cassandra und HBase: Neo4j, Apache Cassandra und HBase
()
About this ebook
das erste Kapitel des shortcuts eine überblicksartige Einführung, der im Folgenden die unterschiedlichen Datenbanktechnologien erläutert. Von all den Informationen, die täglich verarbeitet werden, ist ein beträchtlicher Anteil nicht wegen des Umfangs interessant, sondern wegen der inhärenten Verknüpfungen. Der effektiven Handhabung vernetzter Daten mit Neo4j widmet sich das zweite Kapitel. Horizontale Skalierung und hoher Durchsatz sind die großen Stärken von Apache Cassandra, das im Zentrum des dritten Kapitels steht. Mit seinen Wurzeln in der BigTable-Technologie hat sich HBase über die Jahre zur Grundlage vieler Google-Produkte und -Dienste entwickelt. Welche Ideen, Architektur und welches Datenmodell stecken hinter HBase? Mit diesen Fragen beschäftigt sich abschließend Kapitel 4 des shortcuts.
Read more from Eberhard Wolff
shortcuts Microservices: Grundlagen flexibler Softwarearchitekturen Rating: 0 out of 5 stars0 ratingsContinuous Delivery: Der pragmatische Einstieg Rating: 0 out of 5 stars0 ratingsDas Microservices-Praxisbuch: Grundlagen, Konzepte und Rezepte Rating: 0 out of 5 stars0 ratings
Related to NoSQL-Überblick - Neo4j, Apache Cassandra und HBase
Titles in the series (100)
Algorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsTFS 2012 Anforderungsmanagement: Work Items und Prozessvorlagen Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5Überzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsGeolocation mit PHP: Foursquare-API, Google Places & Qype Rating: 0 out of 5 stars0 ratingsF#: Ein praktischer Einstieg Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsIT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsJava EE 7: Ein Ausblick Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsJavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsWebentwicklung mit dem Play Framework Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratingsZend Framework 2: Für Einsteiger und Umsteiger Rating: 0 out of 5 stars0 ratingsBig Data: Technologiegrundlagen Rating: 0 out of 5 stars0 ratingsQualitätssicherung mit JavaScript und PHP Rating: 0 out of 5 stars0 ratingsQualität in IT-Architekturen: Management Rating: 0 out of 5 stars0 ratingsAgile Architektur mit .NET - Grundlagen und Best Practices Rating: 0 out of 5 stars0 ratingsMobile Business: Was Entscheider morgen wissen müssen Rating: 0 out of 5 stars0 ratingsApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Rating: 0 out of 5 stars0 ratingsTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Rating: 0 out of 5 stars0 ratingsJava FX - Embedded Rating: 0 out of 5 stars0 ratings
Related ebooks
NoSQL-Überblick - Elasticsearch und Redis Rating: 0 out of 5 stars0 ratingsNoSQL-Überblick: Couchbase, Riak, MongoDB Rating: 0 out of 5 stars0 ratingsNoSQL Einführung: CouchDB, MongoDB und Regis Rating: 0 out of 5 stars0 ratingsRelationale Datenmodellierung: Eine Modellierungshilfe für DB-Designer Rating: 0 out of 5 stars0 ratingsStructr: Quelloffenes Daten-CMS auf Neo4j-Basis Rating: 0 out of 5 stars0 ratingsBig Data, Fast Data Rating: 0 out of 5 stars0 ratingsWeb-Applikationen entwickeln mit NoSQL: Das Buch für Datenbank-Einsteiger und Profis! Rating: 0 out of 5 stars0 ratingsBig Data: Datenverarbeitung basierend auf MOM und SQL Rating: 0 out of 5 stars0 ratingsEine Reise durch die Welt von NoSQL Rating: 0 out of 5 stars0 ratingsOpenLaszlo: schnell + kompakt Rating: 0 out of 5 stars0 ratingsNeo4j 2.0: Eine Graphdatenbank für alle Rating: 0 out of 5 stars0 ratingsSQL Server 2014: Ein Blick in die Datenzukunft Rating: 0 out of 5 stars0 ratingsSQL-Abfragen optimieren: Was Entwickler über Performance wissen müssen Rating: 0 out of 5 stars0 ratingsMicrosoft Azure: Cloud Entwicklung für lokale Applikationen Rating: 0 out of 5 stars0 ratingsMongoDB: Der praktische Einstieg Rating: 0 out of 5 stars0 ratingsBig Data - Apache Hadoop Rating: 0 out of 5 stars0 ratingsVerteilte Systeme mit Kubernetes entwerfen: Patterns und Prinzipien für skalierbare und zuverlässige Services Rating: 0 out of 5 stars0 ratingsCouchDB mit PHP Rating: 0 out of 5 stars0 ratingsEinführung in SQL: Daten erzeugen, bearbeiten und abfragen Rating: 0 out of 5 stars0 ratingsApache Tamaya: Einstieg in die Konfiguration in Java Rating: 0 out of 5 stars0 ratingsBigData mit JavaScript visualisieren: D3.js für die Darstellung großer Datenmengen einsetzen Rating: 0 out of 5 stars0 ratingsDie Oracle Datenbank 19c: Eine Einführung für DBAs Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsDRBD-Kochbuch: Hochverfügbarkeitslösungen selbst erstellen - ohne SAN oder NAS! Rating: 0 out of 5 stars0 ratingsKerberos: Single Sign-on in gemischten Linux/Windows-Umgebungen Rating: 0 out of 5 stars0 ratingsElasticsearch: Ein praktischer Einstieg Rating: 0 out of 5 stars0 ratingsPaaS - Die wichtigsten Java Clouds auf einen Blick: Die wichtigsten Java Clouds auf einen Blick Rating: 0 out of 5 stars0 ratingsDatenbanken: Grundlagen und Entwurf Rating: 0 out of 5 stars0 ratingsDatenbankentwicklung lernen mit SQL Server 2016: Der praxisorientierte Grundkurs Rating: 0 out of 5 stars0 ratingsSQL Server: Performanceprobleme analysieren und beheben Rating: 0 out of 5 stars0 ratings
Databases For You
Datenintensive Anwendungen designen: Konzepte für zuverlässige, skalierbare und wartbare Systeme Rating: 0 out of 5 stars0 ratingsEinführung in SQL: Daten erzeugen, bearbeiten und abfragen Rating: 0 out of 5 stars0 ratingsBlockchain: Praktische Anwendungen, Praktisches Verständnis Rating: 0 out of 5 stars0 ratingsSQL von Kopf bis Fuß Rating: 4 out of 5 stars4/5Keine Angst vor Microsoft Access!: Datenbanken verstehen, entwerfen und entwickeln - Für Access 2007 bis 2019 Rating: 0 out of 5 stars0 ratingsLinux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Rating: 0 out of 5 stars0 ratingsDokumentenmanagement mit Microsoft Access: Vollwertiges DMS mit Quellcode und Erläuterungen Rating: 0 out of 5 stars0 ratings
Reviews for NoSQL-Überblick - Neo4j, Apache Cassandra und HBase
0 ratings0 reviews
Book preview
NoSQL-Überblick - Neo4j, Apache Cassandra und HBase - Eberhard Wolff
Eberhard Wolff, Michael Hunger, Kai Spichale, Lars George
NoSQL-Überblick –
Neo4j, Apache Cassandra und HBase
ISBN: 978-3-86802-494-4
© 2013 entwickler.press
Ein Imprint der Software & Support Media GmbH
1 Die NoSQL-Übersicht – Wie können Datenbanken verglichen werden?
NoSQL führt eine Vielzahl neuer Technologien in die Datenbankszene ein. Der shortcut wird im Folgenden einen genauen Blick darauf werfen, was es alles gibt und wie sich die Datenbanken unterscheiden.
Einen technischen Überblick über die Konzepte und Modelle von NoSQL-Datenbanken findet sich schon unter [1]. Wir fassen die Kernpunkte dieses Kapitels zusammen:
Als Grund für das Entstehen der NoSQL-Bewegung werden oft das Wachstum der Datenmengen und die höheren Anforderungen an Performance vor allem aus dem Webbereich angeführt. Das ist sicher richtig, aber nur einer der Treiber. Bei der ersten Generation von Datenbanken haben sich nämlich die Internetriesen genau dem Problem der großen Datenmengen angenommen: Google mit BigTable, Amazon mit Dynamo und Facebook mit Cassandra.
Ein weiterer Treiber ist die Struktur der Daten: User-generated Content aus Social Networks ist nur wenig strukturiert und kann daher nur schwer in einer relationalen Datenbank mit festem Schema gespeichert werden. Aber auch Datenmodelle aus dem klassischen IT-Bereich beispielsweise für Finanzprodukte, Versicherungsverträge usw. sind sehr komplex – und können mit bestimmten NoSQL-Datenbanken einfacher bearbeitet werden. Einige vernetzte Strukturen, z. B. die Beziehungen in sozialen Netzwerken wie Facebook oder auch Verkehrs- oder Telekommunikationsnetze, sind mit relationalen Ansätzen nur mit sehr schlechter Performance abbildbar. Auch hier können NoSQL-Datenbanken helfen, und zwar vor allem die Graphendatenbanken.
Ein weiteres Problem ist die Flexibilität: Schemaänderungen bei relationalen Datenbanken sind insbesondere dann schwierig, wenn bereits große Datenmengen vorhanden sind. Durch Continuous Delivery werden viel öfter neue Softwareversionen mit ihren dazugehörigen Schemaänderungen deployt. So kann die Datenbank zu einem Flaschenhals für Änderungen an der Software werden. Um mit diesem Problem umzugehen, gibt es zahlreiche Work-Arounds – oft sind das interessante, manchmal aber auch einfach nur lustige Lösungen. Jeder hat wohl schon Schüssel-Wert-Tabellen oder Tabellen mit in XML serialisierten Java-Objekten gesehen. Außerdem gibt es Ansätze zum strukturierten Refactoring von Datenbanken [2].
NoSQL-Spielarten
Weil es so viele unterschiedliche Gründe für neue Persistenztechnologien gibt, ist NoSQL auch ein Sammelbegriff. Wesentliche Spielarten von NoSQL sind:
Key/Value Stores speichern unter einem Schlüssel einen Wert (beides binäre Blobs). Sie sind sehr einfach aufgebaut, aber das Datenmodell kann eine Herausforderung darstellen – Zugriff lediglich über einen Schlüssel ist eben für einige Anwendungen doch zu wenig. Einige Lösungen aus diesem Bereich skalieren sehr gut. Beispiele sind Redis als schnelle In-Memory-Datenbank mit eher begrenzter Skalierung bezüglich der Datenmenge und Riak als sehr skalierbare Lösung.
Wide Column Stores verwalten die Werte in Tabellen, die sowohl in der Anzahl Spalten als auch in der Anzahl Zeilen sehr groß werden können. Im Gegensatz zu relationalen Datenbanken dürfen die Tabellen aber keine Beziehungen zueinander haben. Beispiele sind HBase aus dem Apache-Hadoop-Projekt und Cassandra, ebenfalls ein Apache-Projekt.
Dokumentenorientierte Datenbanken speichern hierarchisch strukturierte Dokumente ab, meistens als JSON. Dadurch können auch sehr komplexe Datenstrukturen abgebildet werden. Typische Vertreter sind MongoDB und CouchDB.
Graphendatenbanken sind vor allem auf die effiziente Speicherung von komplexen, vernetzten Domänen ausgerichtet. In den Graphen sind die Entitäten als Knoten durch getypte Kanten miteinander verbunden. Beide können beliebige Attribute enthalten. Dieses Datenmodell unterscheidet sich fundamental von den anderen drei NoSQL-Varianten, die Beziehungen zwischen Datensätzen weitestgehend vermeiden. Wenn Datensätze