160 likes | 322 Views
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
E N D
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
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/wp-content/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-cluster-technical-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.