CSC-557 Cassandra Report

advertisement
A Survey of
Distributed Database
Management
Systems
Brady Kyle
CSC-557
4-27-14
Overview
•
•
•
•
•
•
Cassandra
Hbase
Voldemort
Redis
VoltDB
MySQL
Apache Cassandra
• Developed by Google, Amazon, Facebook, Apache Foundation
• Highly Available, Highly Reliable, Highly Scalable NoSQL
• Used by eBay Netflix Hewlett Packard, etc.
Apache Cassandra
• Fault Tolerance
• Peer-to-peer architecture
• Data Replication
• Ring of Nodes
• Data Integrity
• Atomic, Isolated, Durable
• Logs
• Concurrent read
• Customizable Synchronization
• Linear scalability
Apache HBase
•
•
•
•
HDFS-based
Open-sourced
Column-oriented
HDFS
• Uses master-slave architecture
• Name Node
• Data Node
• Good for Batch Operations
Apache HBase
• Master-slave architecture
• Master Node – administrative tasks
• Region Servers
• Regions – handle data
• Automatic splitting
• Client requests
• Concurrency Control
• Better for operations on individual records
Voldemort
•
•
•
•
•
•
•
Developed by LinkedIn
Highly scalable
NoSQL
Not ACID compliant
Key-value system
Transparent Replication
Can be integrated with other DBMS’s for increased persistence
Voldemort
• Nodes
• Each maintain unique subset of data
• Allows cluster expansion without node reconfiguration
• Data maintained in “stores”
• Tables, lists, mappings
• Key-value system
• Only simple Queries
• Inconsistencies resolved at read time
Redis
• ANSI C
• Most POSIX systems
• Key-Value Store
• Keys – Strings, Hashes, Lists, Sets, Sorted Sets
• “In-memory” data
• Persistence – Logs and Snapshots
Redis
• Master-slave architecture
• Numerous master nodes
• Slave Nodes – interconnected
•
•
•
•
Non-blocking data replication and synchronization
Scalability
API
Concurrency Control can be implemented
VoltDB
• RDBMS
• “In-memory”
• Reduce Load times
• ACID compliant
• Disjoint sets of data assigned to each node
• SQL queries executed only at target node
VoltDB
• Stored procedure interface
• Multiple partitions
• Data and processing structures
• CPU Cores
• Single threaded
• Sequential execution – Transactional consistency
• Scalable – “up” and “out”
• Fault tolerance
•
•
•
•
•
•
K-safety
Network Fault Detection
Live Node Rejoin
Snapshots
Logs
Database Replication
• API
MySQL
•
•
•
•
•
•
Open-source
ACID Compliant
RDBMS
Quicker and more flexible version of mSQL
Standalone part of client-server system or linkable library
Named after co-founder’s daughter, My
MySQL
• Nodes
• Storage Nodes
• Management Server Nodes
• MySQL Server Nodes
•
•
•
•
High Availability through failure of any node type
Shared-nothing architecture
Transparency
Fault Tolerance
• Communication Loss
• Heartbeat
• Failure Order
Comparison
DBMS
Heterogeneity
Openness
Security
(Integrity)
Scalability
Fault
Handling
Concurrency
Transparency
Cassandra
X
X
X
X
X
X
X
Hbase
X
X
X
X
X
Voldemort
X
X
X
X
Redis
X
X
X
X
X
VoltDB
X
X
X
X
X
MySQL
X
X
X
X
X
X
X
X
X
References
• Campanelli, Piero. "The Architecture of REDIS." REDIS Architecture. N.p., 2011. Web. 29 Apr. 2014.
• Chanan, Gregory. "The Apache Software FoundationBlogging in Action." Apache HBase Internals:
Locking and Multiversion Concurrency Control : Apache HBase. N.p., 11 Jan. 2013. Web. 29 Apr.
2014.
• "Chapter 9. Architecture." Chapter 9. Architecture. N.p., n.d. Web. 29 Apr. 2014.
• "Comparing the Hadoop Distributed File System (HDFS) with the Cassandra File System (CFS)."
Comparing the Hadoop Distributed File System (HDFS) with the Cassandra File System (CFS).
DataStax Corporation, Aug. 2013. Web. 29 Apr. 2014. <http://www.datastax.com/wpcontent/uploads/2012/09/WP-DataStax-HDFSvsCFS.pdf>.
• "Design." - Voldemort. N.p., n.d. Web. 29 Apr. 2014.
• Karnataki, Vivek. "Netwoven Blogs." Netwoven Blogs. N.p., 10 Oct. 2013. Web. 29 Apr. 2014.
• Rabl, Tilmann, et al. "Solving big data challenges for enterprise application performance
management." Proceedings of the VLDB Endowment 5.12 (2012): 1724-1735.
• "Replication." â€
“Redis. Pivotal, n.d. Web. 29 Apr. 2014.
• Ronstrom, Mikael, and Lars Thalmann. "MySQL Cluster Architecture Overview."MySQL Cluster
Architecture Overview. MySQL, 2004. Web. 29 Apr. 2014.
<https://confluence.oceanobservatories.org/download/attachments/16418744/mysql-clustertechnical-whitepaper.pdf>.
• "VoltDB Technical Overview." VoltDB Technical Overview. VoltDB, Inc., n.d. Web. 29 Apr. 2014.
<http://www.odbms.org/wp-content/uploads/2013/11/VoltDBTechnicalOverview.pdf>.
• Wagstaff, Geoff. "Distributed Locks Using Redis - GoSquared Engineering."GoSquared Engineering.
N.p., 21 Mar. 2014. Web. 29 Apr. 2014.
Download