Web-Applikationen entwickeln mit NoSQL
eBook - ePub

Web-Applikationen entwickeln mit NoSQL

Das Buch für Datenbank-Einsteiger und Profis!

  1. 360 Seiten
  2. German
  3. ePUB (handyfreundlich)
  4. Über iOS und Android verfügbar
eBook - ePub

Web-Applikationen entwickeln mit NoSQL

Das Buch für Datenbank-Einsteiger und Profis!

Angaben zum Buch
Buchvorschau
Inhaltsverzeichnis
Quellenangaben

Über dieses Buch

Ohne Datenbanken geht nichts mehr im Web! Aber nach einer Phase fast uneingeschränkter Herrschaft der SQL-basierten Datenbanken findet im Moment ein Wandel in der Landschaft der Web-Applikationen statt. Teil dieses Wandels ist die vermehrte Verwendung von NoSQL-Datenbanken. NoSQL-Datenbanken sind nicht relational, können auf verteilten Systemen liegen und verzichten meist auf ACID-Eigenschaften (atomicity, consistency, isolation, durability). Die Vorteile liegen in einer besseren Skalierbarkeit und besserer Performance bei hoher Datenlast bzw. vielen Transaktionen. Für den gelungenen Einstieg wird hier mit CouchDB der angesagteste Vertreter aus der Riege der NoSQLDatenbanken verwendet.

Häufig gestellte Fragen

Gehe einfach zum Kontobereich in den Einstellungen und klicke auf „Abo kündigen“ – ganz einfach. Nachdem du gekündigt hast, bleibt deine Mitgliedschaft für den verbleibenden Abozeitraum, den du bereits bezahlt hast, aktiv. Mehr Informationen hier.
Derzeit stehen all unsere auf Mobilgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Mit beiden Aboplänen erhältst du vollen Zugang zur Bibliothek und allen Funktionen von Perlego. Die einzigen Unterschiede bestehen im Preis und dem Abozeitraum: Mit dem Jahresabo sparst du auf 12 Monate gerechnet im Vergleich zum Monatsabo rund 30 %.
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ja, du hast Zugang zu Web-Applikationen entwickeln mit NoSQL von Clemens Gull im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Informatik & Webprogrammierung. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.

Information

Jahr
2012
ISBN
9783645220224
1 Die Theorie hinter NoSQL
In diesem Kapitel lernen Sie die Hintergründe von NoSQL kennen. Falls Sie direkt ins kalte Wasser springen wollen, können Sie dieses Kapitel auch überspringen. Falls Sie sich aber mit Datenbanken und den dahinter stehenden Konzepten noch nicht so gut auskennen sollten, empfehle ich Ihnen, diesen Abschnitt in Ruhe durchzuarbeiten. Denn hier werde ich einige Dinge erklären, die später verwendet werden. Damit Sie aber die einzelnen Fachbegriffe schnell und einfach finden, habe ich die entsprechenden Definitionen am Ende des Buchs in einem Glossar zusammengefasst.
Nach mehr als 15 Jahren einer fast uneingeschränkten Herrschaft der SQL-basierten Datenbanken (SQL steht für Structured Query Language, also zu Deutsch »strukturierte Abfragesprache«) findet nun ein Wechsel in der Landschaft der Web-Applikationen statt. Und genau diese neuen Sichtweisen und Techniken werden Sie hier kennenlernen. Natürlich werden nicht alle SQL-Datenbanken über Nacht verschwinden, aber bei einigen großen Unternehmen vollzieht sich der Wandel dahingehend, dass in den einzelnen Nischen die entsprechenden und idealen Datenbanksysteme (auch parallel zueinander) eingesetzt werden.
1.1 Die Geschichte
Der Begriff NoSQL (eine Abkürzung für not only SQL) wurde zum ersten Mal 1998 verwendet. Carlo Strozzi[1] entwickelte zu dieser Zeit eine leichtgewichtige Open-Source-Datenbank, die bewusst keine Zugriffsmöglichkeit unter dem Standard SQL zur Verfügung stellte. Strozzi unterscheidet aber zwischen seiner NoSQL-Datenbank und der NoSQL-Bewegung. Diese verfolgt ein Konzept, das vom relationalen Datenbankmodell abstammt.
Erst mehr als zehn Jahre später wurde der Begriff NoSQL bekannter. Denn Johan Oskarsson verwendete ihn Anfang 2009 bei einem Treffen zum Thema strukturierte, verteilte Datenspeicher . Er bezeichnete damit Datenbanken, die nicht relational sind, auf verteilten Systemen liegen und meistens auf ACID-Eigenschaften XE„ACID“(Englisch für atomicity, consistency, isolation, durability) verzichten.
Das Konzept NoSQL
Diese Technologie hat prinzipiell ein Ziel: die Nachteile bestehender, eingeführter Datenbanksysteme auszugleichen. Die Technik soll besser skalierbar sein und eine bessere Performance bei hoher Datenlast mit vielen umfangreichen Transaktionen bieten. NoSQL-Datenbanken haben im Gegensatz zu relationalen Datenbanksystemen kein festes Schema zur Speicherung der Daten. Dies ist eine radikale Änderung zu SQL-Datenbanken, die auf eine strenge Struktur (oder ein strenges Schema) der gespeicherten Daten achten.
NoSQL-Datenbanken können folgende Eigenschaften besitzen:
  • nicht-relational
  • schemafrei
  • horizontal skalierbar
  • BASE
  • einfache Replikation
BASE – Basically Available, Soft State und Eventual Consistent
Da RDBMS (relationale Datenbankmanagementsysteme, also konventionelle Datenbanken) sehr streng auf die Konsistenz der Daten achten, kann es hier zu Problemen mit der Performance und Verfügbarkeit kommen. Dieses Konzept wird bei NoSQL zugunsten der besseren Skalierbarkeit und auch Verfügbarkeit aufgeweicht.
Man akzeptiert die »lose Konsistenz«. Dabei wird die Datenkonsistenz von nachfolgenden Datenoperationen immer wieder neu hergestellt. Die Datenbank wechselt dadurch immer wieder zwischen einem konsistenten und inkonsistenten Zustand. Im Gegensatz dazu müssen sich SQL-Datenbanken dauerhaft in einem konsistenten Zustand befinden. Werden durch verschiedene Datenbankoperationen Duplikate im Datenbestand angelegt, so wird die Datenbank durch eine zeitversetzte Synchronisierung immer wieder in einen konsistenten Teilzustand versetzt. Wobei der Begriff Eventual Consistent festlegt, dass alle Clients, die die Daten nutzen, nur in einem bestimmten Zeitfenster einen konsistenten (denselben) Datenbestand sehen.
CAP – Consistency, Availability und Partition Tolerance
Der Informatiker Eric Brewer vermutete im Jahr 2000, dass Systeme zum verteilten Rechnen nicht alle drei genannten Eigenschaften gleichzeitig erfüllen können. Diese Überlegung war und ist besonders wichtig fü...

Inhaltsverzeichnis

  1. Inhaltsübersicht
  2. Einführung
  3. 1  Die Theorie hinter NoSQL
  4. 2  Installation
  5. 3  Erste Übungen mit CouchDB
  6. 4  Die Beispielanwendung MIT – der Métro Information Tracer
  7. A  Dokumente im JSON-Format
  8. B  Glossar
  9. Stichwortverzeichnis
  10. Impressum