Skip to main content
Log in

High performance location-based services in a main-memory database

  • Published:
GeoInformatica Aims and scope Submit manuscript

Abstract

With the widespread adoption of mobile devices and explosive growth of spatio-temporal data, Location-Based Services (LBS) have become an indispensable technology in our daily lives. The key characteristics of the LBS applications include a high rate of time-stamped location updates, and many concurrent historical, present and predictive queries. The commercial providers of LBS must support all three kinds of queries and address the high update rates. While they employ relational databases for this purpose, traditional databases are unable to cope with the growing demands of many LBS systems. Support for spatio-temporal indexes within these databases are limited to R-tree based approaches. Although a number of advanced spatiotemporal indexes have been proposed by the research community, only a few of them support historical queries. These indexing techniques, with support for historical queries, are unable to sustain high update and query throughput typical in LBS. Technological trends involving increasingly large main memory and growing processing core count offer opportunities to address some of these issues. We present several key ideas to support high performance commercial LBS by exploiting in-memory database techniques. Taking advantage of very large memory available in modern machines, our system maintains the location data and index for the past N days in memory. Older data and index are kept in disk. We propose an in-memory storage organization for high insert performance. We also introduce a novel spatio-temporal index that maintains partial temporal indexes in a versioned grid structure. The partial temporal indexes are organized as compressed bitmaps. With extensive evaluation, we demonstrate that our system supports high insert and query throughputs and it outperforms the leading LBS system by a significant margin.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26
Fig. 27
Fig. 28
Fig. 29
Fig. 30
Fig. 31
Fig. 32

Similar content being viewed by others

References

  1. Sidlauskas D, Šaltenis S, Jensen CS (2012) Parallel main-memory indexing for moving-object query and update workloads. In: SIGMOD

  2. Sikka V, Farber F, Lehner W, Cha SK, Peh T, Bornhovd C (2012) Efficient transaction processing in SAP HANA database: the end of a column store myth. In: SIGMOD

  3. VoltDB. [Online]. Available: http://voltdb.com

  4. Nguyen-Dinh L-V, Aref WG, Mokbel MF (2010) Spatio-temporal access methods: part 2 (2003 - 2010). IEEE Data(base) Engineering Bulletin

  5. Jiang J, Bao H, Chang EY, Li Y (2012) MOIST: a scalable and parallel moving object indexer with school tracking. In: PVLDB

  6. Ray S, Blanco R, Goel AK (2013) Enhanced database support for location-based services. In: IWGS

  7. Ray S, Blanco R, Goel AK (2014) Supporting location-based services in a main-memory database. In: MDM

  8. Wu K, Otoo EJ, Shoshani A (2002) Compressing bitmap indexes for faster search operations. In: SSDBM

  9. Diaconu C, Freedman C, Ismert E, Larson P-A, Mittal P, Stonecipher R, Verma N, Zwilling M, (2013) Hekaton: Sql server’s memoryoptimized oltp engine. In: SIGMOD

  10. Raman V, Swart G, Qiao L, Reiss F, Dialani V, Kossmann D, Narang I, Sidle R (2008) Constant-time query processing. In: ICDE

  11. Idreos S, Groffen F, Nes N, Manegold S, Mullender SK, Kersten ML (2012) MonetDB: two decades of research in column-oriented database architectures. IEEE Data Engineering Bulletin

  12. Stonebraker M, Abadi DJ, Batkin A, Chen X, Cherniack M, Ferreira M, Lau E, Lin A, Madden S, O’Neil EJ, O’Neil PE, Rasin A, Tran N (2005) C-Store: a column-oriented DBMS. In: VLDB

  13. Chen S, Lin S, Jensen CS (2008) A benchmark for evaluating moving object indexes. In: PVLDB

  14. Jensen CS, Lin D, Ooi BC (2004) Query and update efficient B+-tree based indexing of moving objects. In: VLDB

  15. Yiu ML, Tao Y, Mamoulis N (2008) The bdual-tree: indexing moving objects by space filling curves in the dual space. VLDB J 17(3):379–400

    Article  Google Scholar 

  16. Xiong X, Aref WG (2006) R-trees with update memos. In: ICDE

  17. Šaltenis S, Jensen CS, Leutenegger ST, Lopez MA (2000) Indexing the positions of continuously moving objects. Sigmod Record

  18. Tao Y, Papadias D, Sun J (2003) The TPR*-tree: an optimized spatio-temporal access method for predictive queries. In: VLDB

  19. Patel JM, Chen Y, Chakka VP (2004) STRIPES: an efficient index for predicted trajectories. In: SIGMOD

  20. Lin D, Jensen CS, Ooi BC, Šaltenis S (2005) Efficient indexing of the historical, present, and future positions of moving objects. In: MDM

  21. Nascimento MA, Silva JRO (1998) Towards historical R-trees. In: SAC

  22. Pfoser D, Jensen CS, Theodoridis Y (2000) Novel approaches in query processing for moving object trajectories. In: VLDB

  23. Tao Y, Papadias D (2001) MV3R-Tree: a spatio-temporal access method for timestamp and interval queries. In: VLDB

  24. Pelanis M, Saltenis S, Jensen CS (2006) Indexing the past, present, and anticipated future positions of moving objects. ACM Trans Database Syst (TODS) 31:255–298

    Article  Google Scholar 

  25. Lomet D, Salzberg B (1989) Access methods for multiversion data. In: SIGMOD

  26. Becker B, Gschwind S, Ohler T, Seeger B, Widmayer P (1996) An asymptotically optimal multiversion B-tree. VLDB J 5:264–275

    Article  Google Scholar 

  27. Zhang R, Stradling M (2010) The HV-tree: a memory hierarchy aware version index. Proc VLDB Endow 3:397–408

    Article  Google Scholar 

  28. Dittrich J, Blunschi L, Salles MAV (2009) Indexing moving objects using short-lived throwaway indexes. In: SSTD

  29. Nishimura S, Das S, Agrawal D, Abbadi AE (2011) MD-HBase: a scalable multi-dimensional Data infrastructure for location aware services. In: MDM

  30. MOTO (Moving Objects Trace generatOr). [Online]. Available: http://moto.sourceforge.net

  31. TIGER. [Online]. Available: http://www.census.gov/geo/www/tiger

  32. Callgrind. [Online]. Available: http://valgrind.org/docs/manual/cl-manual.html

  33. Hellerstein JM, Naughton JF, Pfeffer A (1995) Generalized search trees for database system. In: VLDB

  34. Wu E, Madden S (2011) Partitioning techniques for fine-grained indexing. In: ICDE

  35. Hendawi AM, Mokbel MF (2012) Panda: a predictive spatio-temporal query processor. In: SIGSPATIAL GIS

  36. Zhang R, Jagadish HV, Dai BT, Ramamohanarao K (2010) Optimized algorithms for predictive range and KNN queries on moving objects. Inf Syst 35(8):911–932

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Suprio Ray.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ray, S., Blanco, R. & Goel, A.K. High performance location-based services in a main-memory database. Geoinformatica 21, 293–322 (2017). https://doi.org/10.1007/s10707-016-0278-6

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10707-016-0278-6

Keywords

Navigation