big data, nosql und web of things
TRANSCRIPT
Web IntelligenceResearch and Engineering Corsin Capol
Einführung in Web Science
Big Data, NoSQL und Web of Things
AgendaThema
Vorstellung
BigData
NoSQL
Pause
Webof Things
WorkshopMapReduce
Vorstellung
«We create value from data by providing innovative, data driven software»
Software Development | Media Monitoring | Big Data Analytics
[email protected]://muncca.com
Lernziele• Ich kann
– erläutern, was unter dem Begriff Big Data verstanden wird
– erläutern, was der Begriff NoSQL bedeutet– den Begriff Web of Things positionieren
• Ich kenne das Grundprinzip von Map Reduce und die Bedeutung von NoSQL Datenbanken für die Web-Programmierung
BIG DATA«Big Data: The next frontier for innovation, competition, and productivity»
Was ist Big Data
«Big data is high-volume, high-velocity and/or high-variety information assets that demand cost-effective, innovative forms of information processing that
enable enhanced insight, decision making, and process automation.»
3V’s nach Gartner• Grosse Datenmengen• Verarbeitungsgeschwindigkeit• Verschiedene Quellen und Formate Volume
Variety
Velocity
4V’s gemäss IBM Data Scientists
• Grosse Datenmengen• Verarbeitungsgeschwindigkeit• Verschiedene Quellen und Formate• Unsicherheit, Ungewissheit,
Risiko der Daten
Volume
Variety
Velocity
Veracity
Volume• Datenmengen im Petabyte Bereich• Beispiele
– World of Warcraft 1.3PB zur Speicherungdes Game States
– Avatar 3D CGI Effekte > 1 PB
– DeutschesKlimarechenzentrum60 PB Klimadaten
http://www.ibmbigdatahub.com/infographic/four-vs-big-dataTomczyk,M.(2014). Nanoinnovation: WhatEveryManagerNeedstoKnow.JohnWiley&Sons.
Variety• Verschiedene Quellen und Formate
– Polystrukturierte Daten• Beispiele
– Sprache– Tabellen– HTML, XML, JSON– Bilder– Logdateien– Sensordaten
Velocity• Verarbeitungsgeschwindigkeit• Beispiel
– LHC Cern (25GB/s)– 50’000 Google Suchen
pro Sekunde
http://home.cern/about/computing/processing-what-recordhttp://www.internetlivestats.com/google-search-statistics/
Veracity• Uncertainty
Map Reduce• Von Google eingeführtes Programmiermodell zur
Verarbeitung von grossen polystrukturierte Daten• Aufteilung der Berechnungen auf mehrere
Recheneinheiten– Parallele Ausführung (zeitgleich)– Aggregation der Ergebnisse
• Verwendung von handelsüblichen Computern möglich• Einfach Schnittstelle• Open Source Implementierungen
– Hadoop (Map/Reduce)
http://research.google.com/archive/mapreduce.html
Map Reduce
Map ReduceShuffleInput Output
BeispielMap Reduce: Input
• Polystrukturierte Daten einlesen• Zuordnung von Datei-Inhalten zu Position• Starten der Map Prozesse• Beispiel
– Lebendgeburten pro Jahr (Schweiz)
201001011507000822011070117000000520120801050000043 201204031445000822010010115070008220100101150700082 2013011010090008220140101150700013
01.07.201117:005Kindergeboren
Map ReduceShuffleInput Output
BeispielMap Reduce: Map
• Mapping zu Schlüssel/Wert Paare• Extraktion benötigter Daten
Map ReduceShuffleInput Output
Jahr AnzahlGeburten
2011 5
2011 82
2010 33
2012 44
… …
BeispielMap Reduce: Shuffle
• Sortieren der Schlüssel• Duplikate zu einem
Schlüssel zuordnen• Pro Jahr Reducer
Prozess starten
Map ReduceShuffleInput Output
Jahr AnzahlGeburten
2011 5
82
2010 33
2012 44
… …
BeispielMap Reduce: Reduce
• Werte zusammenfassen• In diesem Beispiel summiert die
Reduce Funktion alleGeburtenpro Jahr
Map ReduceShuffleInput Output
Jahr AnzahlGeburten
2010 80’290
2011 80’808
2012 82’164
2013 82’731
2014 82’287
2015 85’287
BeispielMap Reduce: Output
• Ausgabe in eine Datei
Map ReduceShuffleInput Output
Jahr Anzahl Geburten
2010 80’290
2011 80’808
2012 82’164
2013 82’731
2014 82’287
2015 85’287
NOSQL
NoSQL• Not Only SQL• Nischenprodukte• Typische Eigenschaften– Open Source– Schemafrei– Horizontale Skalierung– Nicht relational
• Motivation– Skalierbarkeit– Flexibilität– Impedance Mismatch
CAP Theorem«In einem verteilten System ist es unmöglich gleichzeitig die drei
Eigenschaften Konsistenz, Verfügbarkeit und Partitionstoleranz zugarantieren»
Konsistenz
VerfügbarkeitPartitionstoleranz
Beispiel• MongoDB• BerkeleyDB• BigTable
Beispiel• Postgres• Greenplum• Vertica
http://blog.nahurst.com/visual-guide-to-nosql-systems
Beispiel• AmazonDynamoDB• Cassandra• CouchDB
CAP Theorem• Konsistenz
– Alle Nodes haben die selbe Sicht auf die Daten– Replikate des manipulierten Datensatzes zur gleichen Zeit
durchgeführt• Verfügbarkeit
– Jede Anfrage zu einem funktionierenden Node muss korrektbeantwortet werden
• Partitionstoleranz– System arbeitet auch bei Verlust von Nachrichten, einzelner
Knoten oder Partition weiter
Relationales Datenbanksystem gewährleistet ACID Eigenschaften für Transaktion
BASE
• Alternatives Modell• Basically
AvailableSoft StateEventually Consistent
Key Value Stores
• Schlüssel zur Indizierung von Daten• Struktur der Daten nicht vorgegeben• Queries auf Key• Beispiel– Redis– Oracle Berkely DB– Amazon DynamoDB
Column Stores
• Mehrdimensionale Schlüssel• Spaltenorientiert– Relationale Datenbank ist Zeilenorientiert
• Beispiel– Google BigTable– HBase– Cassandra
Document Stores• Dokumente in bestimmten Datenformat– XML– JSON
• Tiefe Verschachtelung und komplexeStrukturen möglich
• Abfrage nach Schlüssel und Inhalt möglich• Beispiel– SimpleDB– CouchDB– MongoDB
Graph Databases
• Daten werden als Knoten dargestellt• Beziehungen zwischen den Daten als
Kanten• Beispiel– Neo4J– OrientDB
WEB OF THINGS
Internet of Things
«The Internet of Things is a system of physical objects that can be discovered, monitored,
controlled or interacted with by electronic devices which communicate over various networking
interfaces, and eventually can be connected to the wider Internet.»
Guinard, D.,Trifa,V.(2015).BuildingtheWebofThings,Manning.
Internet of Things
Tags Devices Machines Environments
Herausforderung• Heute ist das Internet of Things lediglich eine Sammlung
von isolierten Intranet of Things– Verschiedene nicht standardisierte und generische
Protokolle– Interaktion zwischen Intranet of Things aufwendig– Zahlreiche gescheiterte Versuche ein neues Protokoll zu
etablieren• Integration von Geräten oder Applikationen
unterschiedlicher Hersteller sehr aufwendig
Web of Things• Application Layer für das Internet of Things• Basierend auf etablierten Web…
– Standards– Protokollen– Blueprints
• Verbindung zum Internet– Direkt– Smart-Gateways
Beispiel Architektur
WebServer&RESTful WebAPI EmbeddedWebServer&RESTful WebAPI
Guinard,D.(2011).Awebofthingsapplicationarchitecture-Integratingthereal-worldintotheweb(Doctoraldissertation,ETHZurich).
BTProfile DPWS OPC-UA
IEEE802.15.4 Bluetooth …
DiscoveryUnit
SearchService
StorageService
…
WebSockets
RESTFramework
Gateway
AtomServer
IPConnectivity
CoreServices
PluggableServices
WORKSHOP MAP REDUCE40 Minuten Workshop / 20 Minuten Präsentation