Skip to main content
Erschienen in: The VLDB Journal 5/2016

01.10.2016 | Special Issue Paper

Read/write-optimized tree indexing for solid-state drives

verfasst von: Peiquan Jin, Chengcheng Yang, Christian S. Jensen, Puyuan Yang, Lihua Yue

Erschienen in: The VLDB Journal | Ausgabe 5/2016

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Flash-memory-based solid-state drives (SSDs) are used widely for secondary storage. To be effective for SSDs, traditional indices have to be redesigned to cope with the special properties of flash memory, such as asymmetric read/write latencies (fast reads and slow writes) and out-of-place updates. Previous flash-optimized indices focus mainly on reducing random writes to SSDs, which is typically accomplished at the expense of a substantial number of extra reads. However, modern SSDs show a narrowing gap between read and write speeds, and read operations on SSDs increasingly affect the overall performance of indices on SSDs. As a consequence, how to optimize SSD-aware indices by reducing both write and read costs is a pertinent and open challenge. We propose a new tree index for SSDs that is able to reduce both writes and extra reads. In particular, we use an update buffer and overflow pages to reduce random writes, and we further exploit Bloom filters to reduce the extra reads to the overflow nodes in the tree. With this mechanism, we construct a read/write-optimized index that is capable of offering better overall performance than previous flash-aware indices. In addition, we present an analysis of the proposed index and show that the read and write costs of the operations on the index can be balanced by only tuning the false-positive rate of the Bloom filters. Our experimental results suggest that our proposal is efficient and represents an improvement over existing methods.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Anhänge
Nur mit Berechtigung zugänglich
Fußnoten
3
FTL is designed for address translation between block addresses in file systems and physical cells on flash chips.
 
Literatur
1.
Zurück zum Zitat Agrawal, D., Ganesan, D., Sitaraman, R., Diao, Y., Singh, S.: Lazy-adaptive tree: An optimized index structure for flash devices. In: Proceedings of the VLDB Endowment, vol. 2(1), pp. 361–372 (2009) Agrawal, D., Ganesan, D., Sitaraman, R., Diao, Y., Singh, S.: Lazy-adaptive tree: An optimized index structure for flash devices. In: Proceedings of the VLDB Endowment, vol. 2(1), pp. 361–372 (2009)
2.
Zurück zum Zitat Ahn, J.S., Kang, D., Jung, D., Kim, J.S., Maeng, S.: \(\mu \)*-Tree: an ordered index structure for nand flash memory with adaptive page layout scheme. IEEE Trans. Comput. 62(4), 784–797 (2013)MathSciNetCrossRef Ahn, J.S., Kang, D., Jung, D., Kim, J.S., Maeng, S.: \(\mu \)*-Tree: an ordered index structure for nand flash memory with adaptive page layout scheme. IEEE Trans. Comput. 62(4), 784–797 (2013)MathSciNetCrossRef
3.
Zurück zum Zitat Athanassoulis, M., Ailamaki, A.: BF-Tree: approximate tree indexing. In: Proceedings of the VLDB Endowment vol. 7(14), pp. 1881–1892 (2014) Athanassoulis, M., Ailamaki, A.: BF-Tree: approximate tree indexing. In: Proceedings of the VLDB Endowment vol. 7(14), pp. 1881–1892 (2014)
6.
Zurück zum Zitat Bloom, B.H.: Space/time trade-offs in hash coding with allowable errors. Commun. ACM 13(7), 422–426 (1970)CrossRefMATH Bloom, B.H.: Space/time trade-offs in hash coding with allowable errors. Commun. ACM 13(7), 422–426 (1970)CrossRefMATH
7.
Zurück zum Zitat Bonomi, F., Mitzenmacher, M., Panigrahy, R., Singh, S., Varghese, G.: An improved construction for counting Bloom filters. In: ESA, pp. 684–695 (2006) Bonomi, F., Mitzenmacher, M., Panigrahy, R., Singh, S., Varghese, G.: An improved construction for counting Bloom filters. In: ESA, pp. 684–695 (2006)
8.
Zurück zum Zitat Canim, M., Mihaila, G.A., Bhattacharjee, B., Lang, C.A., Ross, K.A.: Buffered Bloom filters on solid state storage. In: VLDB Workshop on ADMS, pp. 1–8 (2010) Canim, M., Mihaila, G.A., Bhattacharjee, B., Lang, C.A., Ross, K.A.: Buffered Bloom filters on solid state storage. In: VLDB Workshop on ADMS, pp. 1–8 (2010)
9.
Zurück zum Zitat Debnath, B., Sengupta, S., Li, J., Lilja, D.J., Du, D.H.C.: BloomFlash: Bloom filter on flash-based storage. In: ICDCS, pp. 635–644 (2011) Debnath, B., Sengupta, S., Li, J., Lilja, D.J., Du, D.H.C.: BloomFlash: Bloom filter on flash-based storage. In: ICDCS, pp. 635–644 (2011)
10.
Zurück zum Zitat Dirik, C., Jacob, B.: The performance of PC solid-state disks (SSDs) as a function of bandwidth, concurrency, device architecture, and system organization. In: ISCA, pp. 279–289 (2009) Dirik, C., Jacob, B.: The performance of PC solid-state disks (SSDs) as a function of bandwidth, concurrency, device architecture, and system organization. In: ISCA, pp. 279–289 (2009)
11.
Zurück zum Zitat Fang, H., Yeh, M., Suei, P., Kuo, T.: An adaptive endurance-aware B+-Tree for flash memory storage systems. IEEE Trans. Comput. 63(11), 2661–2673 (2013)MathSciNetCrossRef Fang, H., Yeh, M., Suei, P., Kuo, T.: An adaptive endurance-aware B+-Tree for flash memory storage systems. IEEE Trans. Comput. 63(11), 2661–2673 (2013)MathSciNetCrossRef
12.
Zurück zum Zitat Graefe, G.: A survey of B-tree locking techniques. ACM Trans. Database Syst. 35(3), 16 (2010)CrossRef Graefe, G.: A survey of B-tree locking techniques. ACM Trans. Database Syst. 35(3), 16 (2010)CrossRef
13.
Zurück zum Zitat Graefe, G., Halim, F., Idreos, S., Kuno, H., Manegold, S.: Concurrency control for adaptive indexing. In: Proceedings of the VLDB Endowment vol. 5(7), pp. 656–667 (2012) Graefe, G., Halim, F., Idreos, S., Kuno, H., Manegold, S.: Concurrency control for adaptive indexing. In: Proceedings of the VLDB Endowment vol. 5(7), pp. 656–667 (2012)
14.
Zurück zum Zitat Graefe, G., Halim, F., Idreos, S., Kuno, H., Manegold, S., Seeger, B.: Transactional support for adaptive indexing. VLDB J. 23(2), 303–328 (2014)CrossRef Graefe, G., Halim, F., Idreos, S., Kuno, H., Manegold, S., Seeger, B.: Transactional support for adaptive indexing. VLDB J. 23(2), 303–328 (2014)CrossRef
15.
Zurück zum Zitat Graefe, G., Kimura, H., Kuno, H.: Foster B-trees. ACM Trans. Database Syst. 37(3), 17 (2012)CrossRef Graefe, G., Kimura, H., Kuno, H.: Foster B-trees. ACM Trans. Database Syst. 37(3), 17 (2012)CrossRef
18.
Zurück zum Zitat Jaluta, I., Sippu, S., Soisalon-Soininen, E.: Concurrency control and recovery for balanced B-link trees. VLDB J. 14(2), 257–277 (2005)CrossRef Jaluta, I., Sippu, S., Soisalon-Soininen, E.: Concurrency control and recovery for balanced B-link trees. VLDB J. 14(2), 257–277 (2005)CrossRef
19.
Zurück zum Zitat Jin, P., Ou, Y., Härder, T., Li, Z.: AD-LRU: an efficient buffer replacement algorithm for flash-based databases. Data Knowl. Eng. 72, 83–102 (2012)CrossRef Jin, P., Ou, Y., Härder, T., Li, Z.: AD-LRU: an efficient buffer replacement algorithm for flash-based databases. Data Knowl. Eng. 72, 83–102 (2012)CrossRef
20.
Zurück zum Zitat Jin, R., Cho, H.J., Lee, S.W., Chung, T.S.: Lazy-split B+-tree: a novel B+-tree index scheme for flash-based database systems. Des. Autom. Embed. Syst. 17(1), 167–191 (2013)CrossRef Jin, R., Cho, H.J., Lee, S.W., Chung, T.S.: Lazy-split B+-tree: a novel B+-tree index scheme for flash-based database systems. Des. Autom. Embed. Syst. 17(1), 167–191 (2013)CrossRef
21.
Zurück zum Zitat Kang, D., Jung, D., Kang, J.U., Kim, J.S.: \(\mu \)-Tree: an ordered index structure for NAND flash memory. In: EMSOFT, pp. 144–153 (2007) Kang, D., Jung, D., Kang, J.U., Kim, J.S.: \(\mu \)-Tree: an ordered index structure for NAND flash memory. In: EMSOFT, pp. 144–153 (2007)
23.
Zurück zum Zitat Lee, S.W., Moon, B., Park, C.: Advances in flash memory SSD technology for enterprise database applications. In: SIGMOD, pp. 863–870 (2009) Lee, S.W., Moon, B., Park, C.: Advances in flash memory SSD technology for enterprise database applications. In: SIGMOD, pp. 863–870 (2009)
24.
Zurück zum Zitat Lehman, P.L., et al.: Efficient locking for concurrent operations on B-trees. ACM Trans. Database Syst. 6(4), 650–670 (1981)CrossRefMATH Lehman, P.L., et al.: Efficient locking for concurrent operations on B-trees. ACM Trans. Database Syst. 6(4), 650–670 (1981)CrossRefMATH
25.
Zurück zum Zitat Li, Y., He, B., Luo, Q., Yi, K.: Tree indexing on flash disks. In: ICDE, pp. 1303–1306 (2009) Li, Y., He, B., Luo, Q., Yi, K.: Tree indexing on flash disks. In: ICDE, pp. 1303–1306 (2009)
26.
Zurück zum Zitat Li, Y., He, B., Yang, R.J., Luo, Q., Yi, K.: Tree indexing on solid state drives. In: Proceedings of the VLDB Endowment vol. 3(1–2), pp. 1195–1206 (2010) Li, Y., He, B., Yang, R.J., Luo, Q., Yi, K.: Tree indexing on solid state drives. In: Proceedings of the VLDB Endowment vol. 3(1–2), pp. 1195–1206 (2010)
27.
Zurück zum Zitat Li, Z., Jin, P., Su, X., Cui, K., Yue, L.: CCF-LRU: a new buffer replacement algorithm for flash memory. IEEE Trans. Consum. Electron. 55(3), 1351–1359 (2009)CrossRef Li, Z., Jin, P., Su, X., Cui, K., Yue, L.: CCF-LRU: a new buffer replacement algorithm for flash memory. IEEE Trans. Consum. Electron. 55(3), 1351–1359 (2009)CrossRef
28.
Zurück zum Zitat Lomet, D., Salzberg, B.: Concurrency and recovery for index trees. VLDB J. 6(3), 224–240 (1997)CrossRef Lomet, D., Salzberg, B.: Concurrency and recovery for index trees. VLDB J. 6(3), 224–240 (1997)CrossRef
29.
Zurück zum Zitat Lu, G., Nam, Y.J., Du, D.H.: Bloomstore: Bloom-filter based memory-efficient key-value store for indexing of data deduplication on flash. In: MSST, pp. 1–11 (2012) Lu, G., Nam, Y.J., Du, D.H.: Bloomstore: Bloom-filter based memory-efficient key-value store for indexing of data deduplication on flash. In: MSST, pp. 1–11 (2012)
30.
Zurück zum Zitat Lu, K., Jin, P., Yang, P., Wan, S., Yue, L.: Adaptive in-page logging for flash-memory storage systems. Front. Comput. Sci. 8(1), 131–144 (2014)MathSciNetCrossRef Lu, K., Jin, P., Yang, P., Wan, S., Yue, L.: Adaptive in-page logging for flash-memory storage systems. Front. Comput. Sci. 8(1), 131–144 (2014)MathSciNetCrossRef
31.
Zurück zum Zitat Nath, S., Kansal, A.: FlashDB: Dynamic self-tuning database for NAND flash. In: IPSN, pp. 410–419 (2007) Nath, S., Kansal, A.: FlashDB: Dynamic self-tuning database for NAND flash. In: IPSN, pp. 410–419 (2007)
32.
Zurück zum Zitat Ou, Y., Härder, T., Jin, P.: CFDC: a flash-aware replacement policy for database buffer management. In: DAMON, pp. 15–20 (2009) Ou, Y., Härder, T., Jin, P.: CFDC: a flash-aware replacement policy for database buffer management. In: DAMON, pp. 15–20 (2009)
33.
Zurück zum Zitat Ouyang, J., Lin, S., Jiang, S., Hou, Z., Wang, Y., Wang, Y.: SDF: Software-defined flash for web-scale internet storage systems. In: ASPLOS, pp. 471–484 (2014) Ouyang, J., Lin, S., Jiang, S., Hou, Z., Wang, Y., Wang, Y.: SDF: Software-defined flash for web-scale internet storage systems. In: ASPLOS, pp. 471–484 (2014)
34.
Zurück zum Zitat Roh, H., Kim, W.C., Kim, S., Park, S.: A B-tree index extension to enhance response time and the life cycle of flash memory. Inf. Sci. 179(18), 3136–3161 (2009)MathSciNetCrossRef Roh, H., Kim, W.C., Kim, S., Park, S.: A B-tree index extension to enhance response time and the life cycle of flash memory. Inf. Sci. 179(18), 3136–3161 (2009)MathSciNetCrossRef
35.
Zurück zum Zitat Roh, H., Park, S., Kim, S., Shin, M., Lee, S.W.: B+-tree index optimization by exploiting internal parallelism of flash-based solid state drives. In: Proceedings of the VLDB Endowment vol. 5(4), pp. 286–297 (2011) Roh, H., Park, S., Kim, S., Shin, M., Lee, S.W.: B+-tree index optimization by exploiting internal parallelism of flash-based solid state drives. In: Proceedings of the VLDB Endowment vol. 5(4), pp. 286–297 (2011)
36.
Zurück zum Zitat Sarwat, M., Mokbel, M.F., Zhou, X., Nath, S.: FAST: a generic framework for flash-aware spatial trees. In: Advances in Spatial and Temporal Databases, pp. 149–167. Springer (2011) Sarwat, M., Mokbel, M.F., Zhou, X., Nath, S.: FAST: a generic framework for flash-aware spatial trees. In: Advances in Spatial and Temporal Databases, pp. 149–167. Springer (2011)
37.
Zurück zum Zitat Sarwat, M., Mokbel, M.F., Zhou, X., Nath, S.: Generic and efficient framework for search trees on flash memory storage systems. GeoInformatica 17(3), 417–448 (2013)CrossRef Sarwat, M., Mokbel, M.F., Zhou, X., Nath, S.: Generic and efficient framework for search trees on flash memory storage systems. GeoInformatica 17(3), 417–448 (2013)CrossRef
40.
Zurück zum Zitat Viglas, S.D.: Adapting the B+-tree for asymmetric I/O. In: ADBIS, pp. 399–412 (2012) Viglas, S.D.: Adapting the B+-tree for asymmetric I/O. In: ADBIS, pp. 399–412 (2012)
41.
Zurück zum Zitat Weikum, G., Vossen, G.: Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery. Morgan Kaufmann (2002) Weikum, G., Vossen, G.: Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery. Morgan Kaufmann (2002)
42.
Zurück zum Zitat Wu, C.H., Kuo, T.W., Chang, L.P.: An efficient B-tree layer implementation for flash-memory storage systems. ACM Trans. Embed. Comput. Syst. 6(3), 19 (2007)CrossRef Wu, C.H., Kuo, T.W., Chang, L.P.: An efficient B-tree layer implementation for flash-memory storage systems. ACM Trans. Embed. Comput. Syst. 6(3), 19 (2007)CrossRef
43.
Zurück zum Zitat Yin, S., Pucheral, P.: PBFilter: a flash-based indexing scheme for embedded systems. Inf. Syst. 37(7), 634–653 (2012)CrossRef Yin, S., Pucheral, P.: PBFilter: a flash-based indexing scheme for embedded systems. Inf. Syst. 37(7), 634–653 (2012)CrossRef
44.
Zurück zum Zitat Yin, S., Pucheral, P., Meng, X.: A sequential indexing scheme for flash-based embedded systems. In: EDBT, pp. 588–599 (2009) Yin, S., Pucheral, P., Meng, X.: A sequential indexing scheme for flash-based embedded systems. In: EDBT, pp. 588–599 (2009)
Metadaten
Titel
Read/write-optimized tree indexing for solid-state drives
verfasst von
Peiquan Jin
Chengcheng Yang
Christian S. Jensen
Puyuan Yang
Lihua Yue
Publikationsdatum
01.10.2016
Verlag
Springer Berlin Heidelberg
Erschienen in
The VLDB Journal / Ausgabe 5/2016
Print ISSN: 1066-8888
Elektronische ISSN: 0949-877X
DOI
https://doi.org/10.1007/s00778-015-0406-1

Weitere Artikel der Ausgabe 5/2016

The VLDB Journal 5/2016 Zur Ausgabe

Premium Partner