Database Techniques for New Hardware

In the last decade, computer hardware progresses with leaps and bounds. The advancements of hardware include: widely application of multi-core CPUs, using of GPUs in data intensive tasks, bigger and bigger main memory capacity, maturity and production use of non-volatile memory etc. Database systems immediately benefit from faster CPU/GPU and bigger memory, and run faster. However, there are some pitfalls. For example, database systems running on multicore processors may suffer from cache conflicts when the number of concurrently executing DB processes increases. To fully exploit advantages of new hardware to improve the performance of database systems, database software should be more or less revised (Ailamaki, 2004). This chapter introduces some efforts of database research community in this aspect. And the following section gives a brief introduction to some new hardware technologies that database systems could utilized.

[1]  Kenneth A. Ross,et al.  Making B+-Trees Cache Conscious in Main Memory , 2000, SIGMOD Conference.

[2]  Wolfgang Lehner,et al.  Towards a web-scale data management ecosystem demonstrated by SAP HANA , 2015, 2015 IEEE 31st International Conference on Data Engineering.

[3]  Gunter Saake,et al.  Database Scan Variants on Modern CPUs: A Performance Study , 2013, IMDM@VLDB.

[4]  Jens Teubner,et al.  FPGA: what's in it for a database? , 2009, SIGMOD Conference.

[5]  Martin L. Kersten,et al.  Adaptive query parallelization in multi-core column stores , 2016, EDBT.

[6]  Sam Lightstone,et al.  In-memory BLU acceleration in IBM's DB2 and dashDB: Optimized for modern workloads and hardware architectures , 2015, 2015 IEEE 31st International Conference on Data Engineering.

[7]  Peter Lindstrom,et al.  Optimal hierarchical layouts for cache-oblivious search trees , 2014, 2014 IEEE 30th International Conference on Data Engineering.

[8]  Dinesh Das,et al.  Oracle Database In-Memory: A dual format in-memory database , 2015, 2015 IEEE 31st International Conference on Data Engineering.

[9]  Hideaki Kimura,et al.  FOEDUS: OLTP Engine for a Thousand Cores and NVRAM , 2015, SIGMOD Conference.

[10]  Gang Chen,et al.  “Anti-Caching”-based elastic memory management for Big Data , 2015, 2015 IEEE 31st International Conference on Data Engineering.

[11]  Adolf Hohl,et al.  Hyrise-NV: Instant Recovery for In-Memory Databases Using Non-Volatile Memory , 2016, DASFAA.

[12]  Jens Krüger,et al.  Fast Column Scans: Paged Indices for In-Memory Column Stores , 2013, IMDM@VLDB.

[13]  Ahmed Eldawy,et al.  Trekking Through Siberia: Managing Cold Data in a Memory-Optimized Database , 2014, Proc. VLDB Endow..

[14]  Wolfgang Lehner,et al.  ERIS: A NUMA-Aware In-Memory Storage Engine for Analytical Workload , 2014, ADMS@VLDB.

[15]  Alfons Kemper,et al.  Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems , 2015, SIGMOD Conference.

[16]  Peter Benjamin Volk,et al.  GPU join processing revisited , 2012, DaMoN '12.

[17]  Michael Stonebraker,et al.  OLTP through the looking glass, and what we found there , 2008, SIGMOD Conference.

[18]  Daniel J. Abadi,et al.  Column-stores vs. row-stores: how different are they really? , 2008, SIGMOD Conference.

[19]  Viktor Leis,et al.  Massively Parallel NUMA-aware Hash Joins , 2013, IMDM@VLDB.

[20]  Bingsheng He,et al.  Relational joins on graphics processors , 2008, SIGMOD Conference.

[21]  R. Tibshirani,et al.  An introduction to the bootstrap , 1993 .

[22]  Heon Young Yeom,et al.  Scalable serializable snapshot isolation for multicore systems , 2014, 2014 IEEE 30th International Conference on Data Engineering.

[23]  Lu Li,et al.  Optimizing B+-Tree for PCM-Based Hybrid Memory , 2016, EDBT.

[24]  Alfons Kemper,et al.  HyPer: A hybrid OLTP&OLAP main memory database system based on virtual memory snapshots , 2011, 2011 IEEE 27th International Conference on Data Engineering.

[25]  Daniel J. Abadi,et al.  Column oriented Database Systems , 2009, Proc. VLDB Endow..

[26]  Xiaohui Yu,et al.  CSR+-tree: Cache-conscious Indexing for High-dimensional Similarity Search , 2007, 19th International Conference on Scientific and Statistical Database Management (SSDBM 2007).

[27]  Nikita Shamgunov The MemSQL In-Memory Database System , 2014, IMDM@VLDB.

[28]  Steffen Zeuch,et al.  Selection on Modern CPUs , 2015, IMDM '15.

[29]  Daniel J. Abadi,et al.  Low overhead concurrency control for partitioned main memory databases , 2010, SIGMOD Conference.

[30]  Haruo Yokota,et al.  CARIC-DA: Core Affinity with a Range Index for Cache-Conscious Data Access in a Multicore Environment , 2014, DASFAA.

[31]  Abraham Silberschatz,et al.  Incremental Recovery in Main Memory Database Systems , 1992, IEEE Trans. Knowl. Data Eng..

[32]  Jignesh M. Patel,et al.  High-Performance Concurrency Control Mechanisms for Main-Memory Databases , 2011, Proc. VLDB Endow..

[33]  Daniel J. Abadi,et al.  Lightweight Locking for Main Memory Database Systems , 2012, Proc. VLDB Endow..

[34]  Alfons Kemper,et al.  Massively Parallel Sort-Merge Joins in Main Memory Multi-Core Database Systems , 2012, Proc. VLDB Endow..

[35]  Per-Åke Larson,et al.  Evolving the architecture of SQL Server for modern hardware trends , 2015, 2015 IEEE 31st International Conference on Data Engineering.

[36]  Ippokratis Pandis,et al.  ERMIA: Fast Memory-Optimized Database System for Heterogeneous Workloads , 2016, SIGMOD Conference.

[37]  Hasso Plattner,et al.  Leveraging Compression in In-Memory Databases , 2012, DBKDA 2012.

[38]  Philippas Tsigas,et al.  GPU-Quicksort: A practical Quicksort algorithm for graphics processors , 2010, JEAL.

[39]  Guy M. Lohman,et al.  Optimizing GPU-accelerated Group-By and Aggregation , 2015, ADMS@VLDB.

[40]  Mark de Berg,et al.  Cache-Oblivious R-Trees , 2007, Algorithmica.

[41]  Martin Grund,et al.  Concurrent Execution of Mixed Enterprise Workloads on In-Memory Databases , 2014, DASFAA.

[42]  Günther Specht,et al.  The DCB-Tree: A Space-Efficient Delta Coded Cache Conscious B-Tree , 2013, IMDM@VLDB.

[43]  Pradeep Dubey,et al.  Sort vs. Hash Revisited: Fast Join Implementation on Modern Multi-Core CPUs , 2009, Proc. VLDB Endow..

[44]  Dinesh Manocha,et al.  GPUTeraSort: high performance graphics co-processor sorting for large database management , 2006, SIGMOD Conference.

[45]  Jun-Lin Lin,et al.  Segmented fuzzy checkpointing for main memory databases , 1996, SAC '96.

[46]  Alexander Zeier,et al.  Optimizing Write Performance for Read Optimized Databases , 2010, DASFAA.