The Community for Technology Leaders
Green Image
Issue No. 04 - April (2017 vol. 29)
ISSN: 1041-4347
pp: 743-756
Hongchan Roh , SK Telecom, Seoul, Korea
Mincheol Shin , Department of Computer Science, Yonsei University, Seoul, Korea
Wonmook Jung , Department of Computer Science, Yonsei University, Seoul, Korea
Sanghyun Park , Department of Computer Science, Yonsei University, Seoul, Korea
ABSTRACT
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.
INDEX TERMS
Indexes, Random access memory, Market research, Writing, Error analysis, Flash memories, Nonvolatile memory
CITATION

H. Roh, M. Shin, W. Jung and S. Park, "Advanced Block Nested Loop Join for Extending SSD Lifetime," in IEEE Transactions on Knowledge & Data Engineering, vol. 29, no. 4, pp. 743-756, 2017.
doi:10.1109/TKDE.2017.2651803
202 ms
(Ver 3.3 (11022016))