Upload
truongquynh
View
218
Download
2
Embed Size (px)
Citation preview
Cloud Data Management
Kapitel 1: Einführung
Dr. Anika Groß
Wintersemester 2016
Universität Leipzig
http://dbs.uni-leipzig.de/
Gartner Hype Cycle for Emerging Technologies 2015
Bildquelle: http://2s7gjr373w3x22jf92z99mgm5w-wpengine.netdna-ssl.com/wp-content/uploads/2015/08/Hype-Cycle_2015_1.png
Gartner Emerging Technology Hype Cycle
Cloud Computing 2008-2014
http://venturebeat.com/2014/05/29/augmented-reality-wheres-the-venture-capital/
„Technologischer Auslöser“
„Gipfel der überzogenen Erwartungen“
„Tal der Enttäuschungen“
„Pfad der Erleuchtung“
„Plateau der Produktivität“
156%
(40%)
(20%)
0%
20%
40%
60%
80%
100%
120%
140%
160%
180%
200%
220%
01.01.2011 01.01.2012 01.01.2013 01.01.2014 01.01.2015 01.01.2016
BVP Cloud Index42 Publicaly Traded Companies
Indexed as of Jan. 2011 | @ 10/05/2016
BVP Cloud Index Nasdaq Index S&P Index Dow Jones
BVP Cloud Computing Index
https://www.bvp.com/strategy/cloud-computing/index
• Verfolgt die wöchentlichen Marktschwankungen der
führenden Public Cloud Unternehmen
• Top Public Cloud Unternehmen > 100 Milliarden USD Marktkapital
Cloud Computing: Definition
• “Cloud computing is a model for enabling convenient, on-demand network
access to a shared pool of configurable computing resources (e.g.,
networks, servers, storage, applications, and services) that can be rapidly
provisioned and released with minimal management effort or service
provider interaction.” [NIST Definition of Cloud Computing]
• “Cloud computing is using the internet to access someone else's software
running on someone else's hardware in someone else's data center”
(Lewis Cunningham)
• Externe Bereitstellung von IT-Infrastrukturen sowie Applikations-Hosting
über das Internet (bzw. Intranet)
Cloud Computing: “Definition”
• "The interesting thing about cloud computing is that we've redefined cloud computing to
include everything that we already do. I can't think of anything that isn't cloud computing
with all of these announcements. The computer industry is the only industry that is more
fashion-driven than women's fashion. Maybe I'm an idiot, but I have no idea what anyone
is talking about. What is it? It's complete gibberish. It's insane. When is this idiocy going
to stop?” (Larry Ellison, CEO Oracle)
• “Cloud computing is simply a buzzword used to repackage grid computing and utility
computing, both of which have existed for decades.” (whatis.com)
03/2011
04/2015
Cloud Computing: Eigenschaften
• On-demand self-service
– automatisches und bedarfsorientertes Mieten/Bereitstellen von Ressourcen
– Illusion “unendlicher” verfügbarer Ressourcen
• Broad network access
– standardisierter Zugriff über Internet für heterogene Clients
• Ressource pooling (Virtualisierung)
– gemeinsame Nutzung von Ressourcen durch viele Nutzer (multi-tenant)
– Nutzer hat i.Allg. kein Wissen über exakten Ort der genutzten Ressourcen
• Rapid elasticity (“Elastizität”)
– schnelle (z.T. automatische) Belegung/Freigabe von Ressourcen nach Bedarf
(„Hinzuschalten“ weiterer Rechner)
• Measured service
– Protokollierung (und Optimierung) der Ressourcennutzung
– Bezahlmodelle auf Nutzungsbasis möglich (CPU Zyklen, Speicherplatz, ...)
Elastizität
• Dynamische Anpassung der Ressourcen an Bedarf
Quelle: Eran Levin: Running Your Database in the Cloud
Cloud Computing: Vorteile
• Vorteile Cloud User
– Kein Einrichten/Betreiben eigener Rechenzentren
– Keine langfristige Ressourcenplanung
– Keine hohen Vorabinvestitionen - pay per use
– Verspricht wesentliche Kosteneinsparungen (u.a. für Startups)
• Vorteile Cloud Provider
– Aufteilung verfügbarer Ressourcen auf mehrere Kunden
– Große Rechenzentren (50.000 Server) haben im Vergleich zu mittelgroßen (1000
Server) nur 1/5 - 1/7 der Kosten (pro Server)
– Standortvorteile: Elektrizitätspreise, Löhne, Steuern, ...
– „Green Computing“
– Bessere Auslastung der Clouds gegenüber lokalen Rechenzentren
Quelle: Skript zur Vorlesung “Mehrrechner-Datenbanksysteme” (Prof. Rahm, WS09/10, Uni Leipzig)
Cloud Computing: Service Modelle
• Infrastructure as a Service (IaaS)
– Bereitstellung (Mieten) von CPU, Storage, Network ,... + Infrastruktur-Tools
– früher: Utility Computing
– Beispiele: Amazon Elastic Compute Cloud, Amazon Simple Storage Service
• Platform as a Service (PaaS)
– Framework zur Entwicklung und Bereitstellung von Applikationen
– Beispiele: Amazon Elastic MapReduce, Google App Engine
• Software as a Service (SaaS)
– Bereitstellung von (Web)-Applikationen zur sofortigen Nutzung,
– Standardisierte Software (z.B. Office-Produkte, CRM, ...)
– Beispiele: Google Apps (Docs, Mail, ...)
Cloud Provider Beispiel - Amazon Web Services (AWS)
• Seit Herbst 2014 neue Region in Frankfurt (weitere in Brasilien, China,
USA…): Datenschutz → Speichern innerhalb von Deutschland
• Services:– Compute
• Elastic Compute Cloud (EC2): anpassbare Rechenkapazität in der Cloud
• Elastic Load Balancing (ELB): verteilt eingehenden Anwendungsverkehr automatisch auf
mehrere EC2-Instanzen in der Cloud
– Networking
• Amazon Virtual Private Cloud (VPC): log. Isolierter Bereich in AWS Cloud, vollständige
Kontrolle über eigenes virtuelles Netzwerk
– Storage and Content Delivery Network
• Amazon Simple Storage Service (S3): Speicherung großer Datenmengen
– Database
• Amazon Relational Database Service (RDS): rel. DB Zugang, autom. Backups etc.
• Dynamo DB: NoSQL database service (key-value store)
– Analytics
• Elastic MapReduce: verwaltetes Hadoop Framework für „BigData“ Verarbeitung
– …
Cloud Computing: Deployment Modelle
• Private Cloud
– Infrastruktur gehört Kunden (Firma/Organisation)
– Beispiel: VMWare Cloud, MS Hyper-V
• Community Cloud
– Infrastruktur gehört mehreren Organisationen einer Community
– Beispiele: Google's "Gov Cloud“, OpenCirrus
• Public Cloud
– Infrastruktur gehört Cloud-Anbieter, Kunde mietet Infrastruktur
– Beispiel: Amazon Web Services, Google App Engine
• Hybrid Cloud
– z.B. Teile der Infrastruktur privat, Teile public
Weitere Aspekte der Cloud
• Datenschutz und Compliance
– Wer hat Zugriff auf die Daten?
– Welche Gesetze gelten für “deutsche Daten” auf “amerikanischen Servern”?
• Datensicherheit und Zuverlässigkeit
– Was passiert wenn ein Cloud-Anbieter pleite geht?
– Ist ein Cloud-Data-Center ein lohnendes Angriffsziel?
• Open Source und offene Standards
– Wie kann man innerhalb der Cloud “umziehen”?
– Wie kann man verschiedene Cloud-Anbieter “verknüpfen”?
• Weitere: Geschäftsmodelle, Nachhaltigkeit, ...
Weiterer Stromausfall in Amazons Cloud (Heise Online; 30.06.2012)
Innerhalb von kurzer Zeit hat Amazons Cloud-Computing-Dienst AWS (Amazon Web Services) erneut mit
einem Ausfall zu kämpfen: Wie schon vor zwei Wochen fiel in Amazons Rechenzentrum im Norden Virginias
am Freitag Abend (29.6. Ortszeit) der Strom aus. US-Berichten zufolge waren etliche Dienste, die Amazon
hostet, nicht mehr erreichbar, darunter der Streaming-Video-Anbieter Netflix, die Cloud-Entwicklungs-
Plattform Heroku und der Social-Media-Dienst Pinterest. …
http://www.heise.de/ix/meldung/Weiterer-Stromausfall-in-Amazons-Cloud-1629610.html
Facebook in Zahlen
• Nutzer (02/2015) – 1.4 Milliarden monatlich aktive Nutzer; >60% davon täglich eingeloggt
– 19% US, 81% Non-US; durchschnittlich 190 Freunde (11/2011)
• Durchschnittliche Aktivitäten (05/2013)– 300 Millionen Foto-Uploads pro Tag (ca. 3.500 pro Sekunde)
– 4.5 Milliarden „Likes“ pro Tag (ca. 52.000 pro Sekunde)
– 500 Millionen Terabyte Daten pro Tag verarbeitet
– Peaks: Olympia, Silvester, ….
• Infrastruktur: 180.000 Server (Schätzung 08/2012)
• Fragen– Wie groß wäre eine minimale Repräsentation des Freundschafts-Graphen?
– Welche Datenmenge an Fotos werden pro Sekunde hochgeladen?
https://zephoria.com/social-media/top-15-valuable-facebook-statistics/
http://www.facebook.com/press/info.php?statistics
http://www.datacenterknowledge.com/archives/2012/08/15/estimate-facebook-running-180000-servers/
http://allfacebook.de/zahlen_fakten/big-data-diese-datenmengen-verarbeitet-facebook-taglich/
http://www.datacenterknowledge.com/the-facebook-data-center-faq-page-2/
http://www.jodyjelas.com/wp-content/uploads/2011/02/facebook-stats.png
Verarbeitung großer Datenmengen
– 400 Millionen Tweets pro Tag
(ca. 4.500 pro Sekunde) (07/2012)
– >10.000 Tweets pro Sekunde
(Superbowl 2012)
• Ebay
– 2 Milliarden Seitenaufrufe pro Tag
– 10 PB Daten, u.a. zur Geschäftsanalyse (6/2012)
• CERN’s LHC (Large Hadron Collider)
– „Physicists must sift through the 30 petabytes or so of data produced annually to determine if
the collisions have thrown up any interesting physics.“
Bildquelle: https://community.hpe.com/t5/image/serverpage/image-id/32999iD48A69B4124853D6?v=v2
http://socialmediatoday.com/bradfriedman/469107/twitter-facts-and-stats
http://www.mediabistro.com/alltwitter/twitter-400-million-tweets_b23744
http://hughewilliams.com/2012/06/26/the-size-scale-and-numbers-of-ebay-com/
http://www.sourcelink.com/blog/guest-author-series/2012/08/18/the-5ws-and-
1h-of-big-data-%28part-2-of-2%29
http://home.web.cern.ch/about/computing
5 Vs - Big Data
Bildquelle: http://2.bp.blogspot.com/-y4TsfPRCL_c/U98ZY8Uh_OI/AAAAAAAAAIA/haZ63aHO-9E/s1600/Big-Data-5V.gif
Cloud Data Management
• Effiziente Verarbeitung großer Datenmengen in der Cloud, d.h.
– in einer preiswerten, verteilten (heterogenen) Infrastruktur
– mit konkurrierenden Schreib- und Lesezugriffen
– unter Berücksichtigung von Knoten- bzw. Netzwerkausfällen
– für beliebige Daten (unstrukturiert, semi-strukturiert, strukturiert)
• Parallele Datenbanksysteme ungeeignet ...
– teure, homogene Infrastrukur
– geringe Fehlertoleranz (z.B. Query-Restart)
– nur für strukturierte Daten (statisches Schema)
– begrenzte Skalierbarkeit (ca. 100 Knoten)
• ... dafür
– mächtige, einfache Anfragesprache
– ACID-Eigenschaften
– Datenunabhängigkeit
Inhalt der Vorlesung
• Kennenlernen von CDM-Techniken im Hinblick auf folgende Kriterien
• Skalierbarkeit: Anzahl der Nutzer (Sessions) oder Operationen die
gleichzeitig bedient/ausgeführt werden können
• Performanz: Optimale Ausnutzung der Ressourcen
• Antwortzeiten: Zeit pro Operation
• Verfügbarkeit: Wahrscheinlichkeit, dass System/Anwendung für
Nutzer/Operation verfügbar ist
• Fehlertoleranz: Einfluss von Ausfall von Ressourcen auf Nutzer/Operation
• Weitere
– Kosten
– Wartungsaufwand
Inhalt der Vorlesung
• Techniken zum effizienten Management großer un-/semi-strukturierter
Datenmengen
• Verteilte Architekturen zum
– Storage (Speicherung)
– Retrieval/Querying (Anfrageverarbeitung)
– Processing (Weiterverarbeitung)
• Algorithmen zur
– Optimierung von Joins
– Lastbalancierung
Inhaltsverzeichnis (vorläufig)
1. Einführung
• Cloud Computing
• Cloud Data Management
2. Infrastruktur und Dienste
• Hardware-Infrastrukur
• Software-Infrastruktur
• Cloud-Dienste
• IaaS, Virtualisierung
3. Verteilte Dateisysteme
• Google File System (GFS)
• Hadoop File System (HDFS)
4. MapReduce (MR)
• Konzept
• Hadoop
• Algorithmen in “MR-Form”
5. MapReduce und Datenbanken
• SQL und MR
• Effiziente Joins in MR
• Datenanalyse mit MR
• Kopplung von RDBMS mit MR
6. Optimierungstechniken für MapReduce
• Fehlerbehandlung
• Indexierung
• Lastbalancierung
7. Large-scale Datenanalyse
• YARN / MRv2
• Google Dremel
• Apache Spark
Literatur
• Tom White: Hadoop: The Definitive Guide, 4th Edition, O'Reilly Media, März 2015– Open Source Software-Framework für skalierbare, verteilte,
datenintensive Software
– Bausteine u.a. MapReduce, HBase, Hive und Pig
• Weitere, z.B.– Jimmy Lin, Chris Dyer: Data-Intensive Text Processing with
MapReduce, Morgan & Claypool,
• Einsatz von MapReduce für NLP
• u.a. Inverted Index, Graph Algorithmen, Expectation MaximationAlgorithmen
• Weitere Referenzen an jeweiliger Stelle– Wissenschaftliche Veröffentlichungen
– Vortragsfolien (z.B. SlideShare)