-
Notifications
You must be signed in to change notification settings - Fork 0
/
Kategorien.txt
71 lines (54 loc) · 2.22 KB
/
Kategorien.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Key-/Value
---------------
Daten werden gruppiert und sind optional mit Schema versehen
Zugriff über Schlüssen (eventuell mehrere Versionen)
schnell, da nur Schlüssel eindeutig sein muss und Zugriiff des (hash) keys performant
Redis, Chordless, Riak, MEMBASE, Tyrant, Voldemort
keine einheitliche und komplexe Abfragesprache
Document
---------------
einzig Dokumente - tupel, tabelle, collections
innerhalb von Dokumenten sind felder aus key/value
values sind strukturiert und versioniert
ausgabe und speicherung in JSON, XML oder YAML
meist ohne Join
vertreter: MongoDB, CouchDB, Amazon SimpleDB, IBM Lotus Notes, Terrastore, ThruDB, OrientDB, RavenDB
(XML-Datenbanken zählen dazu)
Ziel: unstrukturierte Daten speichern, Zugriff ermöglichen und Skalierbarkeit
Column-orientated
----------------
Attribute werden je in einer eigenen Tabelle hintereinander abgelegt (pro Zeit ein eigener Eintrag) - eig. objekt mit name, attribute und Zeitstempel
beispiel: Speicherung relational: 1, Alex, 32, 2, Jessy, 55, 3, Josh, 12
Speicherung spaltenorientiert: 1,2,3,Alex,Jessy,Josh,32,55,12
Sybase IQ, FluidDB, C-Store und MonetDB
Nachteile:
aufwendiges suchen und einfügen sowie schrieben und lesen von objektstrukturen(zusammenhängenden Spaltendaten)
Vertica
Vorteile:
Spalteneinfügungen sind kostengünstig
Garbage collection effektiv
Datenanalyse, Datenkompression und Caching
OLAP und Data warehouse
Cassandra und Projekt Voldemort: consistence hashing
amazon simple db
wide-column / BigTable: HBase, Cassandra, Hypertable;
Schlüssel zeigt auf mehrere Tupel bzw. versionen; -> alter werden automatisch gelöscht
Tabellen werden in tablets unterteilt (wonach tabelle automatisch bei bestimmter Größe aufteteilt wird)
...
-> BigTable:
Zugriff über row, column und time
-> Cassandra, Amazon SImpleDB und HBase:
mehrdimensionale Tabellen
Format: n*[Domain / Keyspace] x [item / Column Family] x [Key x] n*[key+Value]
Graphendatenbanken
----------------
Knoten=Objekte
Kanten=Beziehungen
key/vaue auf beidem
graphenoptimales Format
mit optionalem Schema
Kanten können typisiert sein
keine einheitliche Abfragesprache
teilweise ACID
geeignet semantische Beziehungen zwischen Objekten darzustellen -> semantic web
keine joins