Distributed and Parallel Databases

, Volume 31, Issue 2, pp 289–319 | Cite as

\(\mathcal{MD}\)-HBase: design and implementation of an elastic data infrastructure for cloud-scale location services

  • Shoji Nishimura
  • Sudipto Das
  • Divyakant Agrawal
  • Amr El Abbadi


The ubiquity of location enabled devices has resulted in a wide proliferation of location based applications and services. To handle the growing scale, database management systems driving such location based services (LBS) must cope with high insert rates for location updates of millions of devices, while supporting efficient real-time analysis on latest location. Traditional DBMSs, equipped with multi-dimensional index structures, can efficiently handle spatio-temporal data. However, popular open-source relational database systems are overwhelmed by the high insertion rates, real-time querying requirements, and terabytes of data that these systems must handle. On the other hand, key-value stores can effectively support large scale operation, but do not natively provide multi-attribute accesses needed to support the rich querying functionality essential for the LBSs.

We present the design and implementation of \(\mathcal {MD}\) -HBase, a scalable data management infrastructure for LBSs that bridges this gap between scale and functionality. Our approach leverages a multi-dimensional index structure layered over a key-value store. The underlying key-value store allows the system to sustain high insert throughput and large data volumes, while ensuring fault-tolerance, and high availability. On the other hand, the index layer allows efficient multi-dimensional query processing. Our optimized query processing technique accesses only the index and storage level entries that intersect with the query region, thus ensuring efficient query processing. We present the design of \(\mathcal {MD}\)-HBase that demonstrates how two standard index structures—the K-d tree and the Quad tree—can be layered over a range partitioned key-value store to provide scalable multi-dimensional data infrastructure. Our prototype implementation using HBase, a standard open-source key-value store, can handle hundreds of thousands of inserts per second using a modest 16 node cluster, while efficiently processing multi-dimensional range queries and nearest neighbor queries in real-time with response times as low as few hundreds of milliseconds.


Location based services Key-value stores Multi-dimensional data Real time analysis 



This work is partly funded by NSF grants III 1018637 and CNS 1053594.


  1. 1.
    Bentley, J.L.: Multidimensional binary search trees used for associative searching. Commun. ACM 18(9), 509–517 (1975) MathSciNetMATHCrossRefGoogle Scholar
  2. 2.
    Brinkhoff, T., Str, O.: A framework for generating network-based moving objects. GeoInformatica 6, 2002 (2002) CrossRefGoogle Scholar
  3. 3.
    Chang, F., Dean, J., Ghemawat, S., Hsieh, W.C., Wallach, D.A., Burrows, M., Chandra, T., Fikes, A., Gruber, R.E.: Bigtable: a distributed storage system for structured data. In: OSDI, pp. 205–218 (2006) Google Scholar
  4. 4.
    Das, S., Agrawal, D., El Abbadi, A.: G-Store: a scalable data store for transactional multi key access in the cloud. In: SOCC, pp. 163–174 (2010) CrossRefGoogle Scholar
  5. 5.
    Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. In: OSDI, pp. 137–150 (2004) Google Scholar
  6. 6.
    DeWitt, D., Gray, J.: Parallel database systems: the future of high performance database systems. Commun. ACM 35(6), 85–98 (1992) CrossRefGoogle Scholar
  7. 7.
    Finkel, R.A., Bentley, J.L.: Quad trees: a data structure for retrieval on composite keys. Acta Inform. 4, 1–9 (1974) MATHCrossRefGoogle Scholar
  8. 8.
    Guttman, A.: R-trees: a dynamic index structure for spatial searching. In: SIGMOD, pp. 47–57 (1984) Google Scholar
  9. 9.
    The Apache Hadoop Project. (2010)
  10. 10.
    HBase: Bigtable-like structured storage for Hadoop HDFS. (2010)
  11. 11.
    Jensen, C.S., Lin, D., Ooi, B.C.: Query and update efficient b+-tree based indexing of moving objects. In: VLDB, pp. 768–779 (2004). VLDB Endowment Google Scholar
  12. 12.
    Lawder, J.K.: Querying multi-dimensional data indexed using the Hilbert space-filling curve. SIGMOD Rec. 30, 2001 (2001) CrossRefGoogle Scholar
  13. 13.
    Morton, G.M.: A computer oriented geodetic data base and a new technique in file sequencing. Tech. rep., IBM Ottawa, Canada (1966) Google Scholar
  14. 14.
    Nishimura, S., Das, S., Agrawal, D., El Abbadi, A.: MD-HBase: a scalable multi-dimensional data infrastructure for location aware services. In: MDM, pp. 7–16 (2011) Google Scholar
  15. 15.
    Ramabhadran, S., Ratnasamy, S., Hellerstein, J.M., Shenker, S.: Prefix hash tree: an indexing data structure over distributed hash tables. Tech. rep., Intel Research, Berkeley (2004) Google Scholar
  16. 16.
    Samet, H.: Foundations of Multidimensional and Metric Data Structures. Morgan Kaufmann, San Francisco (2005) Google Scholar
  17. 17.
    Tao, Y., Yi, K., Sheng, C., Kalnis, P.: Quality and efficiency in high dimensional nearest neighbor search. In: SIGMOD, pp. 563–576 (2009) CrossRefGoogle Scholar
  18. 18.
    Wang, J., Wu, S., Gao, H., Li, J., Ooi, B.C.: Indexing multi-dimensional data in a cloud system. In: SIGMOD, pp. 591–602 (2010) Google Scholar
  19. 19.
  20. 20.
    Zhang, X., Ai, J., Wang, Z., Lu, J., Meng, X.: An efficient multi-dimensional index for cloud data management. In: CloudDB, pp. 17–24 (2009) CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2012

Authors and Affiliations

  • Shoji Nishimura
    • 1
  • Sudipto Das
    • 2
    • 3
  • Divyakant Agrawal
    • 2
  • Amr El Abbadi
    • 2
  1. 1.Cloud System Research LaboratoriesNEC CorporationKawasakiJapan
  2. 2.Dept. of Computer ScienceUniversity of California at Santa BarbaraSanta BarbaraUSA
  3. 3.Microsoft ResearchRedmondUSA

Personalised recommendations