33 0 210KB
SQL-NoSQL-NewSQL
ACID by unit transaction 1970 Jim Gray;
1983 Andreas & Theo Atomic –>all-done/none-done Consistency->I always stay on rules Isolation->we don’t share stuff Durability->I stand on my words
CAP Theorem 2012 Brewer
Distributed Consistency- we all lie the same Availability- good/no-good I’ll tell ya Partition tolerance- I’ll cover my buddies
BASE A & P at the cost of C
Basically Available-> am there Soft state->kitty cache Eventually Consistency-> last writer wins Conflict Resolution Achieved replica convergence
After-all its-all relational data Multiple queries
Cache/more flat data All in a single packet
Big… Bigger… Data
No-SQL Flexible
Schema-less data models
Types Column: Accumulo, Cassandra, Druid, HBase, Vertica
Document: Clusterpoint, Apache CouchDB, Couchbase, MarkLogic, MongoDB
Key-value: Dynamo, FoundationDB, MemcacheDB, Redis, Riak, FairCom c-treeACE, Aerospike
Graph: Allegro, Neo4J, InfiniteGraph, OrientDB, Virtuoso, Stardog
Multimodel Databases: ArangoDB, Alchemy Database, CortexDB
Vroom… http://en.wikipedia.org/wiki/Comparison_of_structured_storage_software
Data Model
Performanc e
Complexity
Functionalit y
Key–Value Store
high
high
high
none
variable (none)
ColumnOriented Store
high
high
moderate
low
minimal
DocumentOriented Store
high
variable (high)
high
low
variable (low)
Graph Database
variable
variable
high
high
graph theory
Relational Database
variable
variable
low
moderate
relational algebra
Scalability
Flexibility
Couchbase
Action RW
++/- Touch CAS Lock Async Observe Flush
Packet Metadata
TTL CAS Flags Sequence number
Key String; special chars as separators 250bytes All in RAM
Document Memcached-1MB; Persisted-20MB