NoSQL-Überblick - Elasticsearch und Redis
()
About this ebook
Related to NoSQL-Überblick - Elasticsearch und Redis
Titles in the series (100)
Einstieg in Google Go Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsSharePoint-Entwicklung für Einsteiger Rating: 0 out of 5 stars0 ratingsC++: Kurzportträt einer zeitlosen Sprache Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsF#: Ein praktischer Einstieg Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5Erfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsUser Experience Testing 3.0: Status Quo, Entwicklung und Trends Rating: 0 out of 5 stars0 ratingsJavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsIT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsUX Design - Definition und Grundlagen: Definition und Grundlagen Rating: 4 out of 5 stars4/5Algorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsWebentwicklung mit dem Play Framework Rating: 0 out of 5 stars0 ratingsTFS 2012 Anforderungsmanagement: Work Items und Prozessvorlagen Rating: 0 out of 5 stars0 ratingsTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsMobile Business: Was Entscheider morgen wissen müssen Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsSpring: Vier Perspektiven auf Framework und Ökosystem Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratingsBig Data: Executive Briefing 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 ratings
Related ebooks
NoSQL-Überblick: Couchbase, Riak, MongoDB Rating: 0 out of 5 stars0 ratingsNoSQL-Überblick - Neo4j, Apache Cassandra und HBase: Neo4j, Apache Cassandra und HBase 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: 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 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 ratingsNeo4j 2.0: Eine Graphdatenbank für alle Rating: 0 out of 5 stars0 ratingsOpenLaszlo: schnell + kompakt 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 ratingsSQL Server 2014: Ein Blick in die Datenzukunft 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 ratingsBig Data - Apache Hadoop Rating: 0 out of 5 stars0 ratingsCouchDB mit PHP Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsDatenbanken: Grundlagen und Entwurf Rating: 0 out of 5 stars0 ratingsApache Tamaya: Einstieg in die Konfiguration in Java Rating: 0 out of 5 stars0 ratingsDRBD-Kochbuch: Hochverfügbarkeitslösungen selbst erstellen - ohne SAN oder NAS! Rating: 0 out of 5 stars0 ratingsElasticsearch: Clientnutzung, Datenvisualisierung und Apache Lucene Rating: 0 out of 5 stars0 ratingsDie Oracle Datenbank 19c: Eine Einführung für DBAs 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 ratingsMicroservices: Der Hype im Realitätscheck Rating: 0 out of 5 stars0 ratingsSQL Server: Performanceprobleme analysieren und beheben Rating: 0 out of 5 stars0 ratingsLDAP für Java-Entwickler: Einstieg und Integration (Neuauflage) Rating: 0 out of 5 stars0 ratingsBig Data: Executive Briefing Rating: 0 out of 5 stars0 ratingsCSS: Best Practices und Wartbarkeit Rating: 0 out of 5 stars0 ratings
Databases For You
SQL von Kopf bis Fuß Rating: 4 out of 5 stars4/5Linux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Rating: 0 out of 5 stars0 ratingsKeine Angst vor Microsoft Access!: Datenbanken verstehen, entwerfen und entwickeln - Für Access 2007 bis 2019 Rating: 0 out of 5 stars0 ratingsDokumentenmanagement mit Microsoft Access: Vollwertiges DMS mit Quellcode und Erläuterungen 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 ratings
Reviews for NoSQL-Überblick - Elasticsearch und Redis
0 ratings0 reviews
Book preview
NoSQL-Überblick - Elasticsearch und Redis - Christian Meder
Eberhard Wolff, Christian Meder, Bernhard Pflugfelder
NoSQL-Überblick
Elasticsearch und Redis
ISBN: 978-3-86802-503-3
© 2014 entwickler.press
Ein Imprint der Software & Support Media GmbH
1 Wie können Datenbanken verglichen werden?
NoSQL führt eine Vielzahl neuer Technologien in die Datenbankszene ein. Dieser shortcut wird einen genauen Blick darauf werfen, was es alles gibt und wie sich die Datenbanken unterscheiden.
Ein technischer Überblick über die Konzepte und Modelle von NoSQL-Datenbanken findet sich schon unter [1]. Wir fassen die Kernpunkte des Kapitels zusammen:
Als Gründe 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 Workarounds – 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