Parallel processing of spatial batch-queries using \({\text {xBR}}^+\)-trees in solid-state drives

  • George Roumelis
  • Polychronis Velentzas
  • Michael VassilakopoulosEmail author
  • Antonio Corral
  • Athanasios Fevgas
  • Yannis Manolopoulos


Efficient query processing in spatial databases is of vital importance for numerous modern applications. In most cases, such processing is accomplished by taking advantage of spatial indexes. The \(\text {xBR}^+\)-tree is an index for point data which has been shown to outperform indexes belonging to the R-tree family. On the other hand, Solid-State Drives (SSDs) are secondary storage devices that exhibit higher (especially read) performance than Hard Disk Drives and nowadays are being used in database systems. Regarding query processing, the higher performance of SSDs is maximized when large sequences of queries (batch queries) are executed by exploiting the massive I/O advantages of SSDs. Moreover, nowadays each CPU contains multiple cores which can be utilized to perform calculations in parallel and further improve performance of query processing. In this paper, we present algorithms for processing common spatial (point-location, window and distance-range) batch queries using \(\text {xBR}^+\)-trees in SSDs. Next, we transform these algorithms to additionally take advantage of the multiple CPU cores. Moreover, utilizing small and large datasets, we experimentally study the performance of these new, SSD based, algorithms against processing of batch queries by repeatedly applying existing algorithms for these queries. We further study the performance of the algorithms that utilize parallelism against the ones taking advantage of SSDs only. Our experiments show that the new algorithms taking advantage of SSDs and even further the ones that also utilize multiple cores prevail performance-wise. Nevertheless, we discuss how these new parallel algorithms can be extended to work in a distributed environment, taking advantage of parallelism between machines, while processing data of larger scales.


Spatial indexes \(\text {xBR}^+\)-trees Query processing Solid-state drives Multi-core CPUs 



Work of Antonio Corral, Michael Vassilakopoulos and Yannis Manolopoulos funded by the MINECO research project [TIN2017-83964-R].


  1. 1.
    Carniel, A.C., Ciferri, R.R., de Aguiar C., Cristina D.: A generic and efficient framework for spatial indexing on flash-based solid state drives. In: ADBIS Conference, pp. 229–243 (2017)CrossRefGoogle Scholar
  2. 2.
    Cho, S., Chang, S., Jo, I.: The solid-state drive technology, today and tomorrow. In: ICDE Conference, pp. 1520–1522 (2015)Google Scholar
  3. 3.
    Cornwell, M.: Anatomy of a solid-state drive. Commun. ACM 55(12), 59–63 (2012)CrossRefGoogle Scholar
  4. 4.
    Fevgas, A., Bozanis, P.: Grid-file: towards to a flash efficient multi-dimensional index. In: DEXA Conference, pp. 285–294 (2015)Google Scholar
  5. 5.
    Gaede, V., Günther, O.: Multidimensional access methods. ACM Comput. Surv. 30(2), 170–231 (1998)CrossRefGoogle Scholar
  6. 6.
    García-García, F., Corral, A., Iribarne, L., Vassilakopoulos, M.: Voronoi-diagram based partitioning for distance join query processing in spatialhadoop. In: Proceedings of the 8th International Conference on MEDI 2018 Model and Data Engineering, 24–26 October 2018, Marrakesh, Morocco. pp. 251–267 (2018)CrossRefGoogle Scholar
  7. 7.
    García-García, F., Corral, A., Iribarne, L., Vassilakopoulos, M., Manolopoulos, Y.: Efficient large-scale distance-based join queries in spatialhadoop. GeoInformatica 22(2), 171–209 (2018)CrossRefGoogle Scholar
  8. 8.
    Hady, F.T., Foong, A.P., Veal, B., Williams, D.: Platform storage performance with 3d XPoint technology. Proc. IEEE 105(9), 1822–1833 (2017)CrossRefGoogle Scholar
  9. 9.
    Jin, P., Xie, X., Wang, N., Yue, L.: Optimizing R-tree for flash memory. Expert Syst. Appl. 42(10), 4676–4686 (2015)CrossRefGoogle Scholar
  10. 10.
    Li, G., Zhao, P., Yuan, L., Gao, S.: Efficient implementation of a multi-dimensional index structure over flash memory storage systems. J. Supercomput. 64(3), 1055–1074 (2013)CrossRefGoogle Scholar
  11. 11.
    Lin, S., Zeinalipour-Yazti, D., Kalogeraki, V., Gunopulos, D., Najjar, W.A.: Efficient indexing data structures for flash-based sensor devices. TOS 2(4), 468–503 (2006)CrossRefGoogle Scholar
  12. 12.
    Lv, Y., Li, J., Cui, B., Chen, X.: Log-compact R-tree: An efficient spatial index for SSD. In: DASFAA Workshops, pp. 202–213 (2011)CrossRefGoogle Scholar
  13. 13.
    McKenney, M., McGuire, T.: A parallel plane sweep algorithm for multi-core systems. In: ACM SIGSPATIAL Conference, pp. 392–395 (2009)Google Scholar
  14. 14.
    McKenney, M., Frye, R., Dellamano, M., Anderson, K., Harris, J.: Multi-core parallelism for plane sweep algorithms as a foundation for GIS operations. GeoInformatica 21(1), 151–174 (2017)CrossRefGoogle Scholar
  15. 15.
    Pawlik, M., Macyna, W.: Implementation of the aggregated R-tree over flash memory. In: DASFAA Workshops, pp. 65–72 (2012)CrossRefGoogle Scholar
  16. 16.
    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. PVLDB 5(4), 286–297 (2011)Google Scholar
  17. 17.
    Roh, H., Kim, S., Lee, D., Park, S.: As b-tree: a study of an efficient b+-tree for ssds. J. Inf. Sci. Eng. 30(1), 85–106 (2014)Google Scholar
  18. 18.
    Roh, H., Park, S., Shin, M., Lee, S.-W.: Mpsearch: multi-path search for tree-based indexes to exploit internal parallelism of flash ssds. IEEE Data Eng. Bull. 37(2), 3–11 (2014)Google Scholar
  19. 19.
    Roumelis, G., Vassilakopoulos, M., Corral, A.: Performance comparison of xBR-trees and R*-trees for single dataset spatial queries. In: ADBIS Conference, pp. 228–242 (2011)Google Scholar
  20. 20.
    Roumelis, G., Vassilakopoulos, M., Loukopoulos, T., Corral, A., Manolopoulos, Y.: The xBR+-tree: an efficient access method for points. In: DEXA Conference, pp. 43–58 (2015)Google Scholar
  21. 21.
    Roumelis, G., Vassilakopoulos, M., Corral, A., Manolopoulos, Y.: Bulk-loading xBR+-trees. In: MEDI Conference, pp. 57–71 (2016)Google Scholar
  22. 22.
    Roumelis, G., Vassilakopoulos, M., Corral, A., Manolopoulos, Y.: Bulk insertions into xBR+-trees. In: MEDI Conference, pp. 185–199 (2017)Google Scholar
  23. 23.
    Roumelis, G., Vassilakopoulos, M., Corral, A., Manolopoulos, Y.: Efficient query processing on large spatial databases: a performance study. J. Syst. Softw. 132, 165–185 (2017)CrossRefGoogle Scholar
  24. 24.
    Roumelis, G., Vassilakopoulos, M., Corral, A., Fevgas, A., Manolopoulos, Y.: Spatial batch-queries processing using xBR+-trees in solid-state drives. In: Proceedings of the 8th international conference on medi 2018, model and data engineering, 24–26 October 2018. Marrakesh, Morocco, pp. 301–317 (2018)CrossRefGoogle Scholar
  25. 25.
    Samet, H.: The quadtree and related hierarchical data structures. ACM Comput. Surv. 16(2), 187–260 (1984)MathSciNetCrossRefGoogle Scholar
  26. 26.
    Samet, H.: The Design and Analysis of Spatial Data Structures. Addison-Wesley, Boston (1990)Google Scholar
  27. 27.
    Sarwat, M., Mokbel, M.F., Zhou, X., Nath, S.: FAST: a generic framework for flash-aware spatial trees. In: SSTD Conference, pp. 149–167 (2011)CrossRefGoogle Scholar
  28. 28.
    Vassilakopoulos, M., Manolopoulos, Y.: External balanced regular (x-BR) trees: new structures for very large spatial databases. In: Advances in Informatics: Selected papers of the 7th Panhellenic Conference on Informatics, pp. 324–333. World Scientific (2000)Google Scholar
  29. 29.
    Wu, C.-H., Chang, L.-P., Kuo, T.-W.: An efficient R-tree implementation over flash-memory storage systems. In: ACM-GIS Conference, pp. 17–24 (2003)Google Scholar
  30. 30.
    You, S., Zhang, J., Gruenwald, L.: Parallel spatial query processing on gpus using r-trees. In: ACM SIGSPATIAL Conference, pp. 23–31 (2013)Google Scholar
  31. 31.
    Zhang, J., You, S.: Speeding up large-scale point-in-polygon test based spatial join on gpus. In: ACM SIGSPATIAL Conference, pp. 23–32 (2012)Google Scholar
  32. 32.
    Zhang, J., You, S.: Large-scale geospatial processing on multi-core and many-core processors: Evaluations on cpus, gpus and mics. CoRR, arXiv:abs/1403.0802 (2014)
  33. 33.
    Zhang, J., You, S., Gruenwald, L.: Parallel online spatial and temporal aggregations on multi-core cpus and many-core gpus. Inf. Syst. 44, 134–154 (2014)CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Data Structuring and Eng. Lab., Department of Electrical and Computer EngineeringUniversity of ThessalyVolosGreece
  2. 2.Department on InformaticsUniversity of AlmeriaAlmeríaSpain
  3. 3.Faculty of Pure and Applied SciencesOpen University of CyprusNicosiaCyprus

Personalised recommendations