Advanced Block Nested Loop Join for Extending SSD Lifetime

Flash technology trends have shown that greater densities between flash memory cells increase read/write error rates and shorten solid-state drive (SSD) device lifetimes. This is critical for enterprise systems, causing such problems as service instability and increased total cost of ownership (TCO) because of SSD replacement. Therefore, numerous studies have focused on decreasing the amount of the DBMS writes. However, there has been no research that focused on decreasing the amount of temporary writes, which are primarily created by join processing. In DBMSs, there are two major join-processing algorithms, i.e., hybrid hash join (HHJ) and sort merge join (SMJ), proven to be the best according to DBMS workload; however, the two algorithms produce temporary writes of intermediate results. Therefore, we instead look to the block-nested loop join (BNLJ); it is well-known that the two algorithms are better than BNLJ, but BNLJ creates no intermediate result writes. It is reasonable to use BNLJ for a major join algorithm if its performance can be enhanced similar to those of HHJ and SMJ, considering BNLJ's advantage of extending SSD lifetimes. Therefore, in this paper, we propose an advanced BNLJ (ANLJ) algorithm that can match the performance of the two main join algorithms.

[1]  Betty Jane Gassner Sorting by replacement selecting , 1967, CACM.

[2]  David J. DeWitt,et al.  Turbocharging DBMS buffer pool using SSDs , 2011, SIGMOD '11.

[3]  Tilmann Rabl,et al.  CaSSanDra: An SSD boosted key-value store , 2014, 2014 IEEE 30th International Conference on Data Engineering.

[4]  Sven Helmer,et al.  Diag-Join: An Opportunistic Join Algorithm for 1:N Relationships , 1998, VLDB.

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

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

[7]  Patrick E. O'Neil,et al.  The log-structured merge-tree (LSM-tree) , 1996, Acta Informatica.

[8]  Jae-Myung Kim,et al.  A case for flash memory ssd in enterprise database applications , 2008, SIGMOD Conference.

[9]  Sang-Won Lee,et al.  Dynamic in-page logging for flash-aware B-tree index , 2009, CIKM.

[10]  Sang-Won Lee,et al.  B+-tree Index Optimization by Exploiting Internal Parallelism of Flash-based Solid State Drives , 2011, Proc. VLDB Endow..

[11]  Sang-Won Lee,et al.  Design of flash-based DBMS: an in-page logging approach , 2007, SIGMOD '07.

[12]  Tei-Wei Kuo,et al.  An efficient B-tree layer implementation for flash-memory storage systems , 2007, TECS.

[13]  Michael Stonebraker,et al.  Implementation techniques for main memory database systems , 1984, SIGMOD '84.

[14]  Steven Swanson,et al.  The bleak future of NAND flash memory , 2012, FAST.

[15]  Sudipta Sengupta,et al.  The Bw-Tree: A B-tree for new hardware platforms , 2013, 2013 IEEE 29th International Conference on Data Engineering (ICDE).

[16]  Sang-Won Lee,et al.  X-FTL: transactional FTL for SQLite databases , 2013, SIGMOD '13.

[17]  R. Schaller,et al.  Moore's law: past, present and future , 1997 .

[18]  M. W. Blasgen,et al.  Storage and Access in Relational Data Bases , 1977, IBM Syst. J..

[19]  William W. Hooker On the expected lengths of sequences generated in sorting by replacement selecting , 1969, CACM.

[20]  Kenneth A. Ross,et al.  Making Updates Disk-I/O Friendly Using SSDs , 2013, Proc. VLDB Endow..

[21]  Goetz Graefe,et al.  Sort versus Hash Revisited , 1994, IEEE Trans. Knowl. Data Eng..

[22]  Jianliang Xu,et al.  Optimizing Nonindexed Join Processing in Flash Storage-Based Systems , 2013, IEEE Transactions on Computers.

[23]  Hidehiko Tanaka,et al.  Application of hash to data base machine and its architecture , 1983, New Generation Computing.

[24]  Abraham Silberschatz,et al.  Database Systems Concepts , 1997 .

[25]  Jignesh M. Patel,et al.  Design and evaluation of main memory hash join algorithms for multi-core CPUs , 2011, SIGMOD '11.

[26]  David J. DeWitt,et al.  Practical Skew Handling in Parallel Joins , 1992, VLDB.

[27]  Laura M. Haas,et al.  Seeking the truth about ad hoc join costs , 1997, The VLDB Journal.

[28]  Jin-Soo Kim,et al.  mu-tree: an ordered index structure for NAND flash memory , 2007, EMSOFT.

[29]  Abraham Silberschatz,et al.  Database System Concepts , 1980 .