Cloud Data Management Kapitel 1: Einführung Dr. Anika Groß Sommersemester 2015 Universität Leipzig http://dbs.uni-leipzig.de/
Cloud Computing: Hype Google Trends Interesse im zeitlichen Verlauf
Gartner Hype Cycle for Emerging Technologies 2014 http://na2.www.gartner.com/imagesrv/newsroom/images/hc_et_2014.jpg;pv4cc7877f7de80268
http://venturebeat.com/2014/05/29/augmented-reality-wheres-the-venture-capital/ Gartner Emerging Technology Hype Cycle Cloud Computing 2008-2004 Gipfel der überzogenen Erwartungen Plateau der Produktivität Pfad der Erleuchtung Technologischer Auslöser Tal der Enttäuschungen
BVP Cloud Computing Index Verfolgt die wöchentlichen Marktschwankungen der führenden Public Cloud Unternehmen Top Public Cloud Unternehmen > 100 Milliarden USD Marktkapital http://www.bvp.com/sites/default/files/img/cloud_index_1_03172015.jpg
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,...)
Gartner "Cloud Infrastructure as a Service" 2014 Cloud Computing Plattformen, Bsp.:
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 Twitter Ebay 400 Millionen Tweets pro Tag (ca. 4.500 pro Sekunde) (07/2012) >10.000 Tweets pro Sekunde (Superbowl 2012) 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. 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
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, Third Edition, O'Reilly Media, Mai 2012 Open Source Software-Framework für skalierbare, verteilte, datenintensive Software Bausteine u.a. MapReduce, HBase, Hive und Pig 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 Maximation Algorithmen Weitere Referenzen an jeweiliger Stelle Wissenschaftliche Veröffentlichungen Vortragsfolien (z.b. SlideShare)