2. Seit Anbeginn der Zivilisation bis zum
Jahre 2003 haben die Menschen
fünf Exabytes an Daten produziert.
Seit Anbeginn der Zivilisation bis zum
Jahre 2003 haben die Menschen
fünf Exabytes an Daten produziert.
Mittlerweile produzieren wir
fünf Exabytes alle zwei Tage.
Mittlerweile produzieren wir
fünf Exabytes alle zwei Tage.
Eric Schmidt – Executive Chairman, Google
Eric Schmidt.jpg, Author: Gisela Giardino, Wikimedia Commons, 12 April2007,20:24:40
13. „Hab heute nen schönen Tag zs. mit meiner Mutter
in der Frankfurter Innenstadt verbracht, Pics folgen
später.“
Unstrukturierte DatenUnstrukturierte Daten
17. Big Data = Unklar
Volume Velocity Variety Veracity
18. Ich habe Elvis gesehenIch habe Elvis gesehen
Die Elbphilamonie wird 2016 eröffnetDie Elbphilamonie wird 2016 eröffnet
Merkel ist zurückgetretenMerkel ist zurückgetreten
Die Elbphilamobie
öffnet 2015
Die Elbphilamobie
öffnet 2015
20. Relationale Datenbanksysteme
ID Vorname Nachname Beruf Gehalt
1 Anna Schmidt Manager 60000
2 Jakob Heinz Programmierer 50000
3 Susanne Bäcker Programmierer 50000
4 Gregor Meyer Berater 60000
5 Carlo Franzen Programmierer 45000
21. SQL
ID Vorname Nachname Beruf Gehalt
1 Anna Schmidt Manager 60000
2 Jakob Heinz Programmierer 50000
3 Susanne Bäcker Programmierer 50000
4 Gregor Meyer Berater 60000
5 Carlo Franzen Programmierer 45000
SELECT vorname, nachname FROM
pers WHERE gehalt > 50000
SELECT vorname, nachname FROM
pers WHERE gehalt > 50000
22. SQL: DDL*
PrID Titel PrLeiter
100 Projekt X 5
101 DB-Projekt 1
CREATE TABLE proj (
PrID INT PRIMARY KEY,
Titel VARCHAR(100) NOT NULL,
PrLeiter INT REFERENCES pers(ID))
CREATE TABLE proj (
PrID INT PRIMARY KEY,
Titel VARCHAR(100) NOT NULL,
PrLeiter INT REFERENCES pers(ID))
* Data-DefinitionLanguage
23. SQL: Joins
ID Vorname Nachname Beruf Gehalt
1 Anna Schmidt Manager 60000
2 Jakob Heinz Programmierer 50000
3 Susanne Bäcker Programmierer 50000
4 Gregor Meyer Berater 60000
5 Carlo Franzen Programmierer 45000
SELECT proj.titel FROM pers, proj
WHERE proj.PrLeiter = pers.ID AND
pers.beruf = ‘Manager’
SELECT proj.titel FROM pers, proj
WHERE proj.PrLeiter = pers.ID AND
pers.beruf = ‘Manager’
PrID Titel PrLeiter
100 Projekt X 5
101 DB-Projekt 1
28. Key-Value Stores
Key Value
a 5
b 17
SET c 9SET c 9
c 9 GET aGET a
Key Value
pers:1:vorname Anna
pers:1:nachname Schmidt
pers:1:projekte [“DB-Projekt“]
INCR aINCR a
a 6
RPUSH pers:1:projekte
“Projekt Y”
RPUSH pers:1:projekte
“Projekt Y”
pers:1:projekte [“DB-Projekt“, “Projekt Y“]
29. Range Partitioning
Keys: a-e f-j k-n o-s t-z
Key Value
a 6
b 17
c 9
Key Value
pers:1:vorname Anna
pers:1:nachname Schmidt
pers:1:projekte [“DB-Projekt“, “Projekt Y“]
30. Range Partitioning
Keys: a-pers:0 pers:1-pers:500 … ... …
Key Value
a 6
b 17
c 9
Key Value
pers:1:vorname Anna
pers:1:nachname Schmidt
pers:1:projekte [“DB-Projekt“, “Projekt Y“]
31. Hash Partitioning
0 1 2 3 4
Key Value
a 6
c 9
Key Value
b 17
h(key) = … mod 5h(key) = … mod 5
32. Key Value
c 9
Hash Partitioning
0 1 2 3 4
Key Value
a 6
Key Value
b 17
h(key) = … mod 4h(key) = … mod 4
X
33. Consistent Hashing
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Key Value
a 6
c 9
Key Value
b 17
h(key) = … mod 20h(key) = … mod 20
34. Consistent Hashing
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Key Value
a 6
c 9
Key Value
b 17
X
h(key) = … mod 20h(key) = … mod 20
16 17 18 19
54. CAP-Theorem
In einem verteilten System gehen Nachrichten
verloren oder kommen verzögert an.
Nimm 2
Consistency
Availability
Partition
Tolerance
Muss!Muss!
entweder
… oder
entweder
… oder
entweder
… oder
entweder
… oder
58. Strong Consistency
a: 10 10 10 10 10
SET a 8SET a 8 SET a 8SET a 8 SET a 8SET a 8 SET a 8SET a 8 SET a 8SET a 8
N = 5
W = 5
R = 1
59. Strong Consistency
SET a 8SET a 8
GET aGET a GET aGET a GET aGET a GET aGET a GET aGET a
a: 8 10 10 10 10
N = 5
W = 1
R = 5
60. Strong Consistency: W+R>N
SET a 8SET a 8
GET aGET a GET aGET a GET aGET a
a: 8 8 8 10 10
N = 5
W = 3
R = 3
SET a 8SET a 8 SET a 8SET a 8
61. Eventual Consistency: W+R≤N
SET a 8SET a 8
GET aGET a GET aGET a GET aGET a
a: 8 8 10 10 10
N = 5
W = 2
R = 3
SET a 8SET a 8
62. Map Reduce
MapReduce
Wandle Datensatz für
Datensatz in Key-Value-Paare
Wandle Datensatz für
Datensatz in Key-Value-Paare
Sortiere alles
nach Key
Sortiere alles
nach Key
Verarbeite für jeden Key
die Liste der Values
Verarbeite für jeden Key
die Liste der Values
63. MapReduce
map(zeilennr, text):
for each word in text:
emit(word, 1)
reduce(word, values):
sum = 0
for each v in values:
sum = sum + v
emit(word, sum)
1: ich bin ich1: ich bin ich
(ich, 1)(ich, 1) (bin, 1)(bin, 1) (ich, 1)(ich, 1)
(ich, [1,1])(ich, [1,1])
(ich, 2)(ich, 2)
68. k-Anonymität
Ein sichtbares Ergebnis hat seinen
Ursprung in mind. k Datensätzen
Ein sichtbares Ergebnis hat seinen
Ursprung in mind. k Datensätzen
=> Verhindert, dass man auf die
Datensätze rückschließen kann
69. k-Anonymität
ID Name PLZ Geschl Geboren Krankheit
1 FrankaMeyer 67663 W 1988 Diabetes
2 Heinrich Schmidt 54550 M 1984 Magersucht
3 Peter Huber 67663 M 1984 Schizophrenie
4 Uta Thiel 54550 W 1988 Magersucht
5 Gregor Bauer 67653 M 1984 Diabetes
Identifier Quasi-Identifier Sensibles Attribut
Krankheit von Uta ThielKrankheit von Uta Thiel
X
Identifier
70. k-Anonymität
ID Name PLZ Geschl Geboren Krankheit
1 FrankaMeyer 67663 W 1988 Diabetes
2 Heinrich Schmidt 54550 M 1984 Magersucht
3 Peter Huber 67663 M 1984 Schizophrenie
4 Uta Thiel 54550 W 1988 Magersucht
5 Gregor Bauer 67653 M 1984 Diabetes
Krankheiten von Frauen aus
54550, die 1988 geboren sind
Krankheiten von Frauen aus
54550, die 1988 geboren sind
X
Identifier Quasi-Identifier Sensibles AttributIdentifier
71. k-Anonymität
ID Name PLZ Geschl Geboren Krankheit
1 FrankaMeyer 67663 W 1988 Diabetes
2 Heinrich Schmidt 54550 M 1984 Magersucht
3 Peter Huber 67663 M 1984 Schizophrenie
4 Uta Thiel 54550 W 1988 Magersucht
5 Gregor Bauer 67653 M 1984 Diabetes
Krankheiten von Frauen,
die 1988 geboren sind
Krankheiten von Frauen,
die 1988 geboren sind
Identifier Quasi-Identifier Sensibles AttributIdentifier
72. k-Anonymität
ID Name PLZ Geschl Geboren Krankheit
1 FrankaMeyer 67663 W 1988 Diabetes
2 Heinrich Schmidt 54550 M 1984 Magersucht
3 Peter Huber 67663 M 1984 Schizophrenie
4 Uta Thiel 54550 W 1988 Magersucht
5 Gregor Bauer 67653 M 1984 Diabetes
Keine Anonymität bzgl.
dieses Quasi-Identifiers
Keine Anonymität bzgl.
dieses Quasi-Identifiers
Quasi-Identifier
73. k-Anonymität
ID Name PLZ Geschl Geboren Krankheit
1 FrankaMeyer 67663 W 1988 Diabetes
2 Heinrich Schmidt 54550 M 1984 Magersucht
3 Peter Huber 67663 M 1984 Schizophrenie
4 Uta Thiel 54550 W 1988 Magersucht
5 Gregor Bauer 67653 M 1984 Diabetes
2-Anonymiät2-Anonymiät
74. k-Anonymität
ID Name PLZ Geschl Geboren Krankheit
1 FrankaMeyer 67663 W 1988 Diabetes
2 Heinrich Schmidt 54550 M 1984 Magersucht
3 Peter Huber 67663 M 1984 Schizophrenie
4 Uta Thiel 54550 W 1988 Magersucht
5 Gregor Bauer 67653 M 1984 Diabetes
2-Anonymiät2-Anonymiät
Äquivalenzklassen:
((W, 1988), {Diabetes, Magersucht}, 2)
((M, 1984), {Diabetes, Magersucht, Schizophrenie},3)
75. k-Anonymität
ID Name PLZ Geschl Geboren Gehalt
1 FrankaMeyer 67663 W 1988 50000
2 Heinrich Schmidt 54550 M 1984 40000
3 Peter Huber 67663 M 1984 50000
4 Uta Thiel 54550 W 1988 60000
5 Gregor Bauer 67653 M 1984 70000
2-Anonymiät2-Anonymiät
Äquivalenzklassen:
((W, 1988), AVG: 55000, 2)
((M, 1984), AVG: 50000, 3)
76. Zusammenfassung
• Big Data
• Volume
• Velocity
• Variety
• Veracity
• NoSQL
• Key-Value-, Wide-Column-, Dokumenten-, Graph-DBs
• BASE, CAP Theorem, Eventual Consistency
• MapReduce
• k-Anonymität
77. Quellen / Weitere Literatur
• NoSQL: Einstieg in die Welt nichtrelationaler Web
2.0 Datenbanken, Stefan Edlich, 2011
• http://nosql-database.org
• http://wwwlgis.informatik.uni-
kl.de/cms/courses/distributeddatamanagement
• http://www.ipd.uni-
karlsruhe.de/~buchmann/14SS-Datenschutz