Databases Reference
In-Depth Information
FIGURE 4.22
Cassandra architecture.
Key-value pair: Voldemort
Voldemort is a project that originated in LinkedIn. The underlying need at LinkedIn was a highly
scalable lightweight database that can work without the rigidness of ACID compliance. Dynamo
and Memcached inspired the database architecture. Data is stored as a key with values in conjunc-
tion as a pair. Data is organized in a ring topology with redundancy and range management built
into each node of the ring. The architecture is very niche in solving problems and therefore did not
get wide adoption outside of LinkedIn. It is still being evolved and updated at the time of writing
this topic.
Column family store: Cassandra
Facebook in the initial years had used a leading commercial database solution for their internal archi-
tecture in conjunction with some Hadoop. Eventually the tsunami of users led the company to start
thinking in terms of unlimited scalability and focus on availability and distribution. The nature of
the data and its producers and consumers did not mandate consistency but needed unlimited avail-
ability and scalable performance. The team at Facebook built an architecture that combines the data
model approaches of BigTable and the infrastructure approaches of Dynamo with scalability and per-
formance capabilities, named Cassandra. Cassandra is often referred to as hybrid architecture since
it combines the column-oriented data model from BigTable with Hadoop MapReduce jobs, and it
implements the patterns from Dynamo like eventually consistent, gossip protocols, a master-master
way of serving both read and write requests. Cassandra supports a full replication model based on
NoSQL architectures. Figure 4.22 shows the conceptual architecture of Cassandra.
The Cassandra team had a few design goals to meet, considering the architecture at the time of
first development and deployment was primarily being done at Facebook. The goals included:
High availability
Eventual consistency
Incremental scalability
Optimistic replication
Tunable trade-offs between consistency, durability, and latency
 
Search WWH ::




Custom Search