TAMEX: a Task-Based Query Execution Framework for Mixed Enterprise Workloads on In-Memory Databases

In-memory database management systems (DBMS) have been proposed to run transactional and analytical applications on a single database instance and to reduce the execution time of complex analytical queries to seconds. The two main reasons for this dramatic performance increase are massive intra-query parallelism on many-core CPUs and primary data storage in main memory. The benefits of these in-memory DBMS for enterprises are huge: analytical applications become largely independent of data staging delays, opening the way for real-time analytics. However, this promising approach will only be adopted, if DBMS can execute dynamically arriving transactional queries in a timely manner, even while complex analytical queries are executed. We believe that two system properties are key to achieve this objective: (1) splitting queries into fine granular atomic tasks and (2) efficiently assigning these tasks to a large number of processing units, thereby considering priorities of query classes. In this paper, we propose TAMEX, a framework for the execution of multiple query classes, designed for executing queries of heterogeneous workloads of enterprise applications on in-memory databases. The basic idea is to generate a task graph for each query during query compilation and assign these tasks to processing units by a user-level scheduler based on priorities. We evaluate the concept using a mix of transactional and join-heavy queries and focus on the impact of task sizes on load balancing and responsiveness of the system.

[1]  Luc Bouganim,et al.  Dynamic Load Balancing in Hierarchical Parallel Database Systems , 1996, VLDB.

[2]  Erhard Rahm,et al.  Dynamic Multi-Resource Load Balancing in Parallel Database Systems , 1995, VLDB.

[3]  Joos-Hendrik Böse,et al.  Efficient logging for enterprise workloads on column-oriented in-memory databases , 2012, CIKM '12.

[4]  Kevin Wilkinson,et al.  Adaptive query scheduling for mixed database workloads with multiple objectives , 2010, DBTest '10.

[5]  Daniel Bauer,et al.  A survey of concurrent priority queue algorithms , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[6]  Adam Wierman,et al.  How to Determine a Good Multi-Programming Level for External Scheduling , 2006, 22nd International Conference on Data Engineering (ICDE'06).

[7]  Chetan Gupta,et al.  Fair, effective, efficient and differentiated scheduling in an enterprise data warehouse , 2009, EDBT '09.

[8]  Erich M. Nahum,et al.  Achieving Class-Based QoS for Transactional Workloads , 2006, 22nd International Conference on Data Engineering (ICDE'06).

[9]  Alexander Zeier,et al.  A case for online mixed workload processing , 2010, DBTest '10.

[10]  Alexander Zeier,et al.  Xsellerate: supporting sales representatives with real-time information in customer dialogs , 2011, IMDM.

[11]  Mor Harchol-Balter,et al.  Priority mechanisms for OLTP and transactional Web applications , 2004, Proceedings. 20th International Conference on Data Engineering.

[12]  Kenneth A. Ross,et al.  Improving Database Performance on Simultaneous Multithreading Processors , 2005, VLDB.

[13]  Harumi A. Kuno,et al.  The mixed workload CH-benCHmark , 2011, DBTest '11.

[14]  Pradeep Dubey,et al.  Fast Updates on Read-Optimized Databases Using Multi-Core CPUs , 2011, Proc. VLDB Endow..

[15]  Hasso Plattner,et al.  SanssouciDB: An In-Memory Database for Processing Enterprise Workloads , 2011, BTW.

[16]  Hasso Plattner,et al.  A common database approach for OLTP and OLAP using an in-memory column database , 2009, SIGMOD Conference.

[17]  Sivaramakrishnan Narayanan,et al.  Dynamic prioritization of database queries , 2011, 2011 IEEE 27th International Conference on Data Engineering.

[18]  Gustavo Alonso,et al.  Main-memory hash joins on multi-core CPUs: Tuning to the underlying hardware , 2012, 2013 IEEE 29th International Conference on Data Engineering (ICDE).

[19]  Hongjun Lu,et al.  Dynamic and Load-balanced Task-Oriented Datbase Query Processing in Parallel Systems , 1992, EDBT.

[20]  Patrick Martin,et al.  Towards Autonomic Workload Management in DBMSs , 2009, J. Database Manag..

[21]  Babak Falsafi,et al.  Database Servers on Chip Multiprocessors: Limitations and Opportunities , 2007, CIDR.

[22]  Miron Livny,et al.  Priority in DBMS Resource Scheduling , 1989, VLDB.

[23]  Alexander Zeier,et al.  HYRISE - A Main Memory Hybrid Storage Engine , 2010, Proc. VLDB Endow..

[24]  James Demmel,et al.  the Parallel Computing Landscape , 2022 .

[25]  Kevin Wilkinson,et al.  Managing Dynamic Mixed Workloads for Operational Business Intelligence , 2010, DNIS.

[26]  Tei-Wei Kuo,et al.  Scheduling of query execution plans in symmetric multiprocessor database systems , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[27]  Patrick Martin,et al.  Poster Session: Adapting Mixed Workloads to Meet SLOs in Autonomic DBMSs , 2007, 2007 IEEE 23rd International Conference on Data Engineering Workshop.

[28]  Alexander Zeier,et al.  Available-To-Promise on an In-Memory Column Store , 2011, BTW.

[29]  Martin L. Kersten,et al.  Breaking the memory wall in MonetDB , 2008, CACM.