In der ersten Vorlesung von Big Data Technologien besprechen wir einleitend die kommenden Themen fürs Semester und beginnen mit dem Einstieg zu NoSQL.
Anfang
BigData-SoSe16-1-Intro – Seite 1
Ende
BigData-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)
Herzlich willkommen! Ich bin Max, ein Informatiker mit über 15 Jahren Berufserfahrung. Hier teile ich meine Leidenschaften, Erlebnisse und Perspektiven. Ich lade dich ein, gemeinsam mit mir auf eine Entdeckungsreise zu gehen.
Um dir ein optimales Erlebnis zu bieten, verwenden wir Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wenn du diesen Technologien zustimmst, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn du deine Zustimmung nicht erteilst oder zurückziehst, können bestimmte Merkmale und Funktionen beeinträchtigt werden.
Funktional
Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt.Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.