Date post: | 11-Aug-2015 |
Category: |
Internet |
Upload: | majid-fatemian |
View: | 116 times |
Download: | 0 times |
1. Document
2. Key-Value
3. Graph
4. Column
MongoDB, CouchBase
Memcache, Redis
Neo4J, OrientDB
Cassandra, HBase
Consistency vailabilityA
artitionPConsistency
vailabilityA artitionP
MongoDB
MySQL
Postgres
CouchBase
Cassandra
Riak
SchemaRelational
{ player_id: 1234, * calories: 40, * duration: 75, * activity: jumping_ropes, game_id: 4001, platform: WiiU, difficulty_level: medium, repetition: 178, score: 450, endurance:3}
{ player_id: 1234, calories: 75, duration: 120, activity: boxing }
Player Game Cals Duration Activity Difficulty Score Reps.
1000 1 100 80 Box - - -
2000 2 90 100 Jump H 4.5 180
1000 2 80 120 Pushup M 4 130
2000 1 120 110 Situps - - -
Player Game Cals Duration Activity Difficulty Score Reps.
1000 1 100 80 Box - - -
2000 2 90 100 Jump H 4.5 180
1000 2 80 120 Pushup M 4 130
2000 1 120 110 Situps - - -
ACID Transaction Partitioning Replication
Tools OPs
Data Volume Fixed Schema Scale Up Manual Sharding
+ -
SchemalessNon-Relational
player_id: 1234, * calories: 40, * duration: 75, * activity: jumps, game_id: 4001, platform: WiiU, difficulty_level: 2, repetition: 178, score: 450, endurance:3
player_id: 1234, calories: 75, duration: 120, activity: boxing
• DB Managed
• Balanced Load
ShardingNon-Relational
• Sharding key
• Bouncing
• Decreased resilience
Denormalized data Disk Space Expertise Complex QueryingEventual Consistency Resource Usage DB-Level Locking
-
Schema-Less Aggregated Data Large Scale Data
Sharding Map/Reduce
Memory Storage Journaling
+
Random ProfileSearch(1M)
Full History Retrieval(6M)
Insert(6M)
AggregationMap/Reduce
(6M)
0
0.003
0.005
0.008
0.01
MySQLMongoDB
Profile
Activity }3rd Party
{ profile: { GUID:…, platform: { name:’xbox’, xuid:… } }, activity:…, duration:…, datetime:… }
> Go Hybrid, wisely!
Denormalized dataEventual Consistency
Evolving
Schema-Less Large Scale Data
Sharding Map/Reduce
ACID Transaction Replication Tools, OPs
Data Volume Fixed Schema Scaling