Explore Architecture Tactics for Big Data Systems

From QuABaseBD - Quality Architecture at Scale for Big Data
Jump to: navigation, search
The table below lists the design tactics that are described in the QuABAse
Tactic Supported Quality Attributes Database
Anti-entropy repair Consistency
Performance
Riak
Cassandra
Asynchronous replica update Performance
Availability
Cassandra
MongoDB
Riak
HBase
Accumulo
CouchDB
FoundationDB
Neo4j
VoltDB
Automatically maintain cluster membership list (gossip) Scalability
Availability
Cassandra
Riak
Automatically rebalance data across nodes in the cluster Availability
Performance
MongoDB
Cassandra
Riak
Accumulo
FoundationDB
HBase
VoltDB
Conflict resolution Consistency
Performance
Availability
Cassandra
Riak
CouchDB
FoundationDB
HBase
Decentralized request routing Scalability
Availability
Cassandra
RIak
MongoDB
VoltDB
Distributed transactions Consistency Neo4j
Elastically expand and contract resources as the load changes Scalability
Ensure read/write quorums Consistency Cassandra
Riak
FoundationDB
Hinted handoffs Consistency
Performance
Availability
Riak
Cassandra
Load balance across replicas (multiple data centers) Performance
Availability
Scalability
Cassandra
MongoDB
Accumulo
FoundationDB
HBase
Riak
Load balance across replicas (one data center) Performance
Availability
Scalability
Riak
MongoDB
VoltDB
FoundationDB
Nested/Embedded Objects (Denormalization) Consistency
Performance
MongoDB
Cassandra
CouchDB
FoundationDB
Neo4j
Queued Writes Consistency VoltDB
Read from master only Consistency MongoDB
Neo4j
Accumulo
CouchDB
HBase
Request Router Availability MongoDB
Shard data set across multiple servers (Consistent Hashing) Performance
Scalability
Cassandra
Riak
Shard data set across multiple servers (Range-based) Performance MongoDB
Accumulo
CouchDB
FoundationDB
HBase
Synchronize background activities Performance
Versioned objects Performance
Availability
Riak
Cassandra
CouchDB
FoundationDB
HBase
Write to all replicas Consistency Cassandra
MongoDB
Riak
FoundationDB
VoltDB