Menu Close

Big Data Technologien (Vorlesung 1)

In der ersten Vorlesung von Big Data Technologien besprechen wir einleitend die kommenden Themen fürs Semester und beginnen mit dem Einstieg zu NoSQL.

AnfangBigData-SoSe16-1-Intro – Seite 1
EndeBigData-SoSe16-2-NoSQL – Seite 13

Einleitung

Wofür wird Big Data grundlegend benötigt?

  • Sensorik
  • Analyse

Welche Charakteristika hat Big Data?

  • Es lässt sich nicht ausschließlich an Datenvolumen, wie GB oder TB, festmachen
  • Begrifflichkeit ist von Volume, Velocity, Variety und Veracity (Four V’s) geprägt
  • Je nach Anwendungsfall stehen unterschiedliche Faktoren im Vordergrund
  • Veracity ist der neueste Faktor davon und zieht den Wahrheitsgehalt der Informationen hinzu
  • Das fünfte V entspricht dem Wert der Information bzw. den Mehrwerten, die daraus geschöpft werden
  • Die Begrifflichkeit Open Source sollte allerdings nicht Bestandteil einer Definition sein

Was hat es mit dem Hype zu Big Data auf sich?

  • Dies bezieht sich auf den Hype Cycle von Gartner
  • Während der Hype Cycle bereits die produktive Nutzung von Big Data Technologien andeutet, steht das Thema noch in den Kinderschuhen
  • Tatsächlich kristallisieren sich erst noch Systeme aus den entstandenen Feldern heraus, welche stark diversifiziert sind und keine einheitlichen Standards besitzen
  • Der Reifegrad dieser Lösungen muss daher noch wachsen
  • Eine Trend von Big Data sind In-Memory Systeme, die alle Informationen im schnellen Arbeitsspeicher halten, um super-performante Auswertungen für transaktionales Prozessing und OLAP zu ermöglichen (Voraussetzung hierfür ist günstiger RAM und die Verfügbarkeit guter Kompressionstechniken)

Welchen Einfluss hat die Skalierbarkeit?

  • Scale up (Vertikale Skalierung): Ein großes monolithisches System (Teuer, spezialisierte Hardware und inflexible Skalierung), das durch neue Bauteile erweitert wird
  • Scale out (Horizontale Skalierung): Ein Cluster aus vielen kleinen Systemen (Günstig, standardisierte Hardware, leicht zu erweitern und parallelisierbare Prozesse), das durch Hinzufügen von Nodes erweitert wird
  • Ein vertikales System (scale out) ist optimal geeignet für das Hinzufügen und Entfernen von Nodes, da es Teil des Konzeptes ist
  • Verteilte Datenbanken (scale out) haben immer mit Systemausfällen und Konsistenzproblemen zu kämpfen
  • Big Data sollte für einen maximalen Nutzen auch nur dann eingesetzt werden, wenn man es wirklich braucht bzw. geeignete Daten besitzt
  • Eine absolute Aussage bezüglich einer Scaling-Grenze kann nicht ohne weiteres getroffen werden
Skizze zur horizontalen und vertikalen Skalierbarkeit

Warum wurden Cluster nicht schon früher genutzt?

  • Hohe Wartungskosten, da Ausfälle mit steigender Anzahl ebenso steigen und wechselseitig wirken
  • Das Datenvolumen war zu hoch und konnte nicht entsprechend zeitnah und zuverlässig transportiert werden
  • Verfahren zur Lokalisierung sowie Verteilung und Indexierung mussten noch entwickelt werden
  • Die Konsistenz der Daten konnte nur unter hohen Nachteilen gewährleistet werden
  • Transaktionskosten durch verteilte Transaktionen haben neue Protokolle benötigt (vgl. Abbildung 2)
Verteilte Repliken eines Datensatzes auf nahen und fernen Knoten

Praktikum

Was gibt es fürs Praktikum zu beachten?

  • Randthemen wie Erhebung, Analyse und sauberes Arbeiten sollen ebenfalls geschult werden
  • Der Praktikumsbericht muss eine Woche später abgeben werden

NoSQL

Was ist NoSQL?

  • Es steht für Not only SQL
  • Damit sind alle nicht-relationalen Datenbankarchitekturen, wie hierarchische oder objektorientierte Datenbanken, gemeint
  • Bei relationalen Datenbanken wird viel Vorplanung benötigt, dafür ist die Entwicklung und der Betrieb von Anwendungen einfach
  • Ändert man jedoch die Datenbankstruktur oder Merkmale von Attributen, so sind Änderungen aufwendig
  • NoSQL bietet Schemaflexibilität, d. h. es ist unerheblich, was in den Values steht
  • Diese Systeme fungieren daher mehr wie strukturierte Datenspeicher
  • Erste Trends zeigen jedoch, dass der Wunsch nach Schemata auch für diese Datenbanken gegeben ist

Welche Kategorien von NoSQL-Datenbanksystemen gibt es?

  • Key-Value
  • Document
  • Column Family

Welche Nachteile haben NoSQL-Datenbanksysteme?

  • Es gibt noch keine standardisierten Programmierschnittstellen und Sprachen

Was sind Key-Value Datenbanksysteme?

  • Stammen aus dem Caching-Bereich ab (vergleichbar zu Hash-Maps)
  • Die Daten werden in der Anwendung und nicht in der Datenbank ausgewertet
  • Das Ziel sind minimale Zugriffszeiten für unterschiedlichste Daten (Warenkorb von Amazon oder Speicherstände in Videospielen)
  • Sie eignen sich für Datenbanken bei denen viele verschiedene Schemata vorkommen (Value kann ein beliebiger Datentyp sein)
  • Sekundäre Indexe sind eher nicht anzutreffen
Einfache, indexbasierte Operationen zum Abfragen

Was sind Document Store Datenbanksysteme?

  • Bestehen ebenfalls aus Key-Value-Paaren
  • Die Daten sind semistrukturiert und hierarchisch schachtelbar in der Datenbank enthalten
  • Die eigentliche Datenstruktur ist innerhalb der Values enthalten, daher der Name
  • Die Attributbezeichnungen werden in der Regel durch IDs ersetzt, um Platz zu sparen
  • Es gibt keine festen Schemata, was flexibel ist, aber hohe Anforderungen an die Anwendungen stellt (einmal mit und einmal ohne Vornamen)
  • Sekundärindexe sind möglich, aber bei abweichenden Bezeichnungen (Preis/Price) nur schwer anzuwenden
  • Korrektur: CouchDB beherrscht nun doch ad-hoc Queries

Was sind Column Family Datenbanksysteme?

  • Daten werden spaltenweise gespeichert
  • Dies ist einfacher beim Aggregieren von gleichen Daten (weniger Lesezugriffe auf Spalten, die nicht benötigt werden, notwendig)
  • Daten müssen nicht angefasst werden, um neuen Value einzuführen (vgl. Seiten 8 bis 11)

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.

Table of Contents

Index