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.