A Hybrid Partitioning Strategy for NewSQL Databases: The VoltDB Case

Several application domains deal with the management of massive data volumes and thousands of OLTP transactions per second. Traditional relational databases cannot cope with these requirements. NewSQL is a new generation of databases that provides both high scalability and availability and ACID properties support. Besides, it is a promising solution to handle these application data management needs. Although data partitioning is an essential feature for tuning relational databases, stills an open issue for NewSQL systems. In this paper, we propose a hybrid partitioning approach for NewSQL databases that allows the user to define the vertical and horizontal data partitions. In order to determine what site will store each data fragment, we propose a hash function that considers schema information and data access statistics. Our experimental evaluation compares our hybrid VoltDB version against the standard VoltDB. The results highlight that our strategy increases the number of single-site transactions from 37% to 76%.

[1]  Andrew Pavlo,et al.  Bridging the Archipelago between Row-Stores and Column-Stores for Hybrid Workloads , 2016, SIGMOD Conference.

[2]  Pankaj Deep Kaur,et al.  Architecting Solutions for Scalable Databases in Cloud , 2015, WCI '15.

[3]  Divyakant Agrawal,et al.  Squall: Fine-Grained Live Reconfiguration for Partitioned Main Memory Databases , 2015, SIGMOD Conference.

[4]  Patrick Valduriez,et al.  Principles of Distributed Database Systems , 1990 .

[5]  E. Brewer,et al.  CAP twelve years later: How the "rules" have changed , 2012, Computer.

[6]  Carlo Curino,et al.  OLTP-Bench: An Extensible Testbed for Benchmarking Relational Databases , 2013, Proc. VLDB Endow..

[7]  Michael Stonebraker,et al.  SciDB DBMS Research at M.I.T , 2013, IEEE Data Eng. Bull..

[8]  Tilmann Rabl,et al.  Query Centric Partitioning and Allocation for Partially Replicated Database Systems , 2017, SIGMOD Conference.

[9]  Martin Fowler,et al.  NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence , 2012 .

[10]  Rasmus Resen Amossen Vertical partitioning of relational OLTP databases using integer programming , 2010, 2010 IEEE 26th International Conference on Data Engineering Workshops (ICDEW 2010).

[11]  Shamkant B. Navathe,et al.  Vertical partitioning algorithms for database design , 1984, TODS.

[12]  Carlo Curino,et al.  Skew-aware automatic database partitioning in shared-nothing, parallel OLTP systems , 2012, SIGMOD Conference.

[13]  Li-Yan Yuan,et al.  A Demonstration of Rubato DB: A Highly Scalable NewSQL Database System for OLTP and Big Data Applications , 2015, SIGMOD Conference.

[14]  Michael Stonebraker,et al.  E-Store: Fine-Grained Elastic Partitioning for Distributed Transaction Processing , 2014, Proc. VLDB Endow..

[15]  Andrew Pavlo,et al.  What's Really New with NewSQL? , 2016, SGMD.

[16]  Miriam A. M. Capretz,et al.  Data management in cloud environments: NoSQL and NewSQL data stores , 2013, Journal of Cloud Computing: Advances, Systems and Applications.

[17]  PavloAndrew,et al.  What's Really New with NewSQL? , 2016 .

[18]  Grace Au,et al.  Hybrid Row-Column Partitioning in Teradata , 2016, Proc. VLDB Endow..

[19]  Patrick Valduriez,et al.  Principles of Distributed Database Systems, Third Edition , 2011 .

[20]  Michael Stonebraker,et al.  S-Store: A Streaming NewSQL System for Big Velocity Applications , 2014, Proc. VLDB Endow..

[21]  Ashraf Aboulnaga,et al.  Accordion: Elastic Scalability for Database Systems Supporting Distributed Transactions , 2014, Proc. VLDB Endow..

[22]  Carlo Curino,et al.  Schism , 2010, Proc. VLDB Endow..

[23]  Michael Stonebraker,et al.  New opportunities for New SQL , 2012, CACM.

[24]  Michael Stonebraker,et al.  H-store: a high-performance, distributed main memory transaction processing system , 2008, Proc. VLDB Endow..

[25]  Abraham Silberschatz,et al.  HadoopDB: An Architectural Hybrid of MapReduce and DBMS Technologies for Analytical Workloads , 2009, Proc. VLDB Endow..

[26]  Michael Stonebraker,et al.  The VoltDB Main Memory DBMS , 2013, IEEE Data Eng. Bull..

[27]  Michael Stonebraker,et al.  Clay: Fine-Grained Adaptive Partitioning for General Database Schemas , 2016, Proc. VLDB Endow..

[28]  Michael Stonebraker,et al.  S-Store: Streaming Meets Transaction Processing , 2015, Proc. VLDB Endow..