Seminar Cloud Data Management WS09/10 - dbs.uni … · mehr Verantwortung beim Admin ......

28
Seminar Cloud Data Management WS09/10 18.01.2010 Sebastian Wienecke 1 Tabelle1 Tabelle2

Transcript of Seminar Cloud Data Management WS09/10 - dbs.uni … · mehr Verantwortung beim Admin ......

Seminar Cloud Data Management

WS09/10

18.01.2010 Sebastian Wienecke 1

Tabelle1 Tabelle2

Einführung

DBMS in der Cloud ◦ Vergleich verschiedener DBMS

Beispiele ◦ Microsoft Azure

◦ Amazon RDS

◦ Amazon EC2 Relational Databases AMIs

Was gibt es noch? ◦ HadoopDB

Wie geht es weiter?

18.01.2010 Sebastian Wienecke 2

Einführung

18.01.2010 Sebastian Wienecke 3

18.01.2010 Sebastian Wienecke 4

Quelle: Microsoft

Disaster Recovery High Availability

18.01.2010 Sebastian Wienecke 5

Quelle: Microsoft

Vorteile Nachteile

vollständige Kontrolle über das System

Unabhängigkeit gegenüber Dritten

Daten bleiben im Unternehmen → Datenschutz

teure Hardware Lizenzgebühren Platzbedarf Mitarbeiterschulungen Verantwortung für DR

und HA Patches einspielen Skalierung planen Performanz- und

Stabilitätstests

18.01.2010 Sebastian Wienecke 6

18.01.2010 Sebastian Wienecke 7

Quelle: Microsoft

Vorteile Nachteile

keine Kosten für Soft- und Hardware

u.U. Patches und DR durch Dienstleister

neuere oder bessere Software

SLAs

kein voller Systemzugriff eigene Administration →

Mitarbeiterschulungen monatliche Gebühren Abhängigkeit vom

Internet und Dienstleister Verantwortung für HA

bleibt Performanztests Datenschutz

18.01.2010 Sebastian Wienecke 8

18.01.2010 Sebastian Wienecke 9

Quelle: Microsoft

FT - Fault Tolerance

Vorteile Nachteile

keine Kosten für Soft- und Hardware

Patches durch Dienstleister kein/kaum

Administrationsaufwand DR und HA SLAs optimierte Technik, bessere

Skalierung Performanzsteigerung per

Mausklick Daten mehrfach repliziert kein Fachwissen nötig

kein voller Systemzugriff

monatliche Gebühren Abhängigkeit vom

Internet und Dienstleister

Verantwortung für Performanztests

Datenschutz

18.01.2010 Sebastian Wienecke 10

DBMS in der Cloud

18.01.2010 Sebastian Wienecke 11

Tabelle1 Tabelle2

Frameworks ◦ Google: MapReduce ◦ Apache: Hadoop ◦ Facebook: Hive

Key-Value-Stores ◦ Google: BigTable ◦ Amazon: SimpleDB ◦ Facebook: Cassandra

RDBMS in der Cloud ◦ Microsoft: SQL Azure ◦ Amazon RDS ◦ Virtuelle Maschinen

Hybridsysteme ◦ HadoopDB

18.01.2010 Sebastian Wienecke 12

Daten in mehreren Durchgängen vorverarbeiten (Map) und zusammenfassen (Reduce)

Beispiel: Worthäufigkeit 1. Parallel Texte durchgehen (Map) 2. Ergebnisse austauschen 3. Wortanzahl aufsummieren (Reduce)

Aufgabe in Teilaufgaben zerlegen: ◦ dynamische Lastverteilung ◦ Parallelverarbeitung möglich ◦ Fehlerresistend

Analyse teilstrukturierter Daten

kein DBMS

18.01.2010 Sebastian Wienecke 13

DS besteht aus Index und Attributen

weniger Features zugunsten der Performanz ◦ keine Joins, keine FKs, kein ACID, keine Transaktionen

Synergien mit Cloud-Dateisystemen

direkt für hohe Skalierbarkeit entwickelt ◦ skaliert fast linear auf 1000te Rechner

i.d.R. nicht normalisiert

Verwendung: ◦ Log-Daten (im PetaBytes-Bereich)

◦ DWH

◦ Quelle für MapReduce

18.01.2010 Sebastian Wienecke 14

fast alle SQL-Funktionen nutzbar ◦ Joins, Grouping, FKs, Stored Procedures, Caching,

Trigger

RDBMS weit verbreitet

größtenteils standardisiert

ACID-Eigenschaften

Daten normalisiert

Relationen abbildbar

viele Anwendungsgebiete ◦ CRM, WaWi, Buchhaltung

18.01.2010 Sebastian Wienecke 15

Indexstrukturen und FKs erhöhen Datenmenge

ACID erschwert Clustering und Parallelisierung

nicht für Clouds optimiert ◦ Skalierbarkeit auf 100te Rechner nie vorgesehen

◦ Grundannahmen: Fehler selten, High-End-Server, Performanz vor Fehlertoleranz

häufig in VMs betrieben ◦ normale BS (Linux, Unix, Windows)

◦ keine Synergien mit verteilten Cloud-Dateisystemen

◦ keine dynamische Lastverteilung auf beliebig viele Rechner

◦ Ausnahme: SQL Azure, (Amazon RDS)

18.01.2010 Sebastian Wienecke 16

Beispiele

18.01.2010 Sebastian Wienecke 17

direkte Integration in Azure Plattform

18.01.2010 Sebastian Wienecke 18

Quelle: Microsoft

basiert auf SQL-Server ◦ nahezu vollständiger Befehlssatz

für Betrieb in Microsoft-Cloud optimiert ◦ in Azure Plattform integriert

◦ Datenzugriffe prinzipiell wie bei lokalem DBMS

nutzt Lastkontrolle und Replikationen der Cloud ◦ bis zu 3 Replikate pro Instanz

◦ Globaler Load Balancer verteilt Zugriffe

◦ bei Ausfall springt andere Instanz ein Fehlertoleranz

18.01.2010 Sebastian Wienecke 19

Zugriffe von extern (außerhalb Cloud) oder intern möglich

bis 10 GB pro Instanz, mehrere buchbar ◦ keine automatische Partitionierung wie bei K-V-S

(aber geplant) ◦ Parallelisierung durch mehrere DB-Instanzen ◦ Implementierung in Anwendung selbst (manuell

durch Programmierer)

Abrechnung nach Anzahl, Speicherplatz, Transaktionen

Technischer Hintergrund unbekannt, wahrscheinlich VMs

18.01.2010 Sebastian Wienecke 20

vollständiges MySQL 5.1 DBMS Teil der Amazon Web Services Steuerbar mit API-Calls/WebServices nur lückenhafte Integration in Cloud

◦ Replikation noch in Planung ◦ regelmäßige Back-Ups im Amazon S3, als Recovery

einsetzbar

Betrieb in variabler VM (Max. 68 GB RAM, 8 Cores mit ≈ 4 GHz)

Skalierung und Abrechnung wie bei SQL Azure

18.01.2010 Sebastian Wienecke 21

AMIs (Amazon Machine Image) als VM in EC2 betrieben

zahlreiche Varianten verschiedener DBMS ausführbar ◦ IBM DB2, Oracle Database 11g, MS SQL Server,

MySQL…

mehr Konfigurationsaufwand

mehr Verantwortung beim Admin

Integration in Cloud geringer

18.01.2010 Sebastian Wienecke 22

Was gibt es noch?

18.01.2010 Sebastian Wienecke 23

Ansatz: Vorteile von MapReduce und RDBMS kombinieren ◦ Such-/Filteralgorithmen im RDBMS i.d.R. schneller

als eigene Implementierungen

Ziel: Clustering und Lastkontrolle des RDMBS umgehen ◦ Daten in Cloud verteilt

◦ Partitionierung global bekannt

◦ Anfragen an Instanzen aufteilen → Parallelverarbeitung

Geeignet für Nur-Lese-Zugriffe

18.01.2010 Sebastian Wienecke 24

entwickelt an Yale University Open Source Projekt Aufbau

◦ MySQL oder PostgreSQL-Instanzen auf Rechnern ◦ Hadoop als Kommunikationslayer ◦ SQL-2-Hadoop-Connector auf jedem Knoten

Funktionsweise ◦ Hadoop erstellt globalen Ausführungsplan ◦ delegiert möglichst viel Arbeit ab ◦ (Teil-) Ergebnisse in Hadoop aufbereiten

Vorteile ◦ Parallelverarbeitung in RDBMS ◦ Fehlertoleranz von Hadoop ◦ Geschwindigkeit von RDBMS

18.01.2010 Sebastian Wienecke 25

Wie geht es weiter?

18.01.2010 Sebastian Wienecke 26

Trend derzeit „in die Cloud“ → EaaS

Zukünftig: ◦ spezielle Cloud-RDBMS und/oder Cloud-

Erweiterungen von RDBMS

◦ Hybridansatz mit MapReduce weiterentwickelt

◦ VMs in der Cloud eher weniger

18.01.2010 Sebastian Wienecke 27

Zeit für Diskussionen!

18.01.2010 Sebastian Wienecke 28

Vielen Dank für Ihre

Aufmerksamkeit!