2. Riak
• Entwickelt von Basho
• Open-Source mit kommerziellen Erweiterungen für Multi-Datenzentren
Betrieb
• verteilte Key-Value Datenbank
• Peer-to-Peer Replikation
• Konfigurierbare Leistungsparameter
• Definierbar auf wievielen Nodes ein Datensatz gespeichert wird
3. Konzepte
• Buckets
• Alle Datensätze sind in Buckets, wirken wie Namespaces
• Objects
• meistens JSON, besitzen eindeutige ID im Bucket
• Metadata
• Key-Value Paare, ala Content-Type: image/jpg
• Oder Links...
4. Links
• Links funktionieren wie in Link Tags in HTML
• Gerichtet
• Ermöglichen das Modellieren von Beziehungen
13. Link Walking
Venue
User key: String
key: String name: String
email: String lat: float
long: float
("venues", "...", "venue")
bucket ID tag
("check_ins", "...", "check_ins")
bucket ID tag
CheckIn
created: Time
14. Link Walking
Venue
User key: String
key: String name: String
email: String lat: float
long: float
("venues", "...", "venue")
bucket ID tag
("check_ins", "...", "check_ins")
bucket ID tag
CheckIn
created: Time
15. has_many :check_ins, :conditions => “created > ?”
• Einsatz von MapReduce
User
key: String
email: String
CheckIn CheckIn CheckIn CheckIn
created: Time created: Time created: Time created: Time
map map map map
reduce