Abstract
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.
Similar content being viewed by others
References
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)
Cho, S., Chang, S., Jo, I.: The solid-state drive technology, today and tomorrow. In: ICDE Conference, pp. 1520–1522 (2015)
Cornwell, M.: Anatomy of a solid-state drive. Commun. ACM 55(12), 59–63 (2012)
Fevgas, A., Bozanis, P.: Grid-file: towards to a flash efficient multi-dimensional index. In: DEXA Conference, pp. 285–294 (2015)
Gaede, V., Günther, O.: Multidimensional access methods. ACM Comput. Surv. 30(2), 170–231 (1998)
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)
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)
Hady, F.T., Foong, A.P., Veal, B., Williams, D.: Platform storage performance with 3d XPoint technology. Proc. IEEE 105(9), 1822–1833 (2017)
Jin, P., Xie, X., Wang, N., Yue, L.: Optimizing R-tree for flash memory. Expert Syst. Appl. 42(10), 4676–4686 (2015)
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)
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)
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)
McKenney, M., McGuire, T.: A parallel plane sweep algorithm for multi-core systems. In: ACM SIGSPATIAL Conference, pp. 392–395 (2009)
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)
Pawlik, M., Macyna, W.: Implementation of the aggregated R-tree over flash memory. In: DASFAA Workshops, pp. 65–72 (2012)
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)
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)
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)
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)
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)
Roumelis, G., Vassilakopoulos, M., Corral, A., Manolopoulos, Y.: Bulk-loading xBR+-trees. In: MEDI Conference, pp. 57–71 (2016)
Roumelis, G., Vassilakopoulos, M., Corral, A., Manolopoulos, Y.: Bulk insertions into xBR+-trees. In: MEDI Conference, pp. 185–199 (2017)
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)
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)
Samet, H.: The quadtree and related hierarchical data structures. ACM Comput. Surv. 16(2), 187–260 (1984)
Samet, H.: The Design and Analysis of Spatial Data Structures. Addison-Wesley, Boston (1990)
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)
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)
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)
You, S., Zhang, J., Gruenwald, L.: Parallel spatial query processing on gpus using r-trees. In: ACM SIGSPATIAL Conference, pp. 23–31 (2013)
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)
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)
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)
Acknowledgements
Work of Antonio Corral, Michael Vassilakopoulos and Yannis Manolopoulos funded by the MINECO research project [TIN2017-83964-R].
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Roumelis, G., Velentzas, P., Vassilakopoulos, M. et al. Parallel processing of spatial batch-queries using \({\text {xBR}}^+\)-trees in solid-state drives. Cluster Comput 23, 1555–1575 (2020). https://doi.org/10.1007/s10586-019-03013-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-019-03013-0