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.
Similar content being viewed by others
References
Sidlauskas D, Šaltenis S, Jensen CS (2012) Parallel main-memory indexing for moving-object query and update workloads. In: SIGMOD
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
VoltDB. [Online]. Available: http://voltdb.com
Nguyen-Dinh L-V, Aref WG, Mokbel MF (2010) Spatio-temporal access methods: part 2 (2003 - 2010). IEEE Data(base) Engineering Bulletin
Jiang J, Bao H, Chang EY, Li Y (2012) MOIST: a scalable and parallel moving object indexer with school tracking. In: PVLDB
Ray S, Blanco R, Goel AK (2013) Enhanced database support for location-based services. In: IWGS
Ray S, Blanco R, Goel AK (2014) Supporting location-based services in a main-memory database. In: MDM
Wu K, Otoo EJ, Shoshani A (2002) Compressing bitmap indexes for faster search operations. In: SSDBM
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
Raman V, Swart G, Qiao L, Reiss F, Dialani V, Kossmann D, Narang I, Sidle R (2008) Constant-time query processing. In: ICDE
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
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
Chen S, Lin S, Jensen CS (2008) A benchmark for evaluating moving object indexes. In: PVLDB
Jensen CS, Lin D, Ooi BC (2004) Query and update efficient B+-tree based indexing of moving objects. In: VLDB
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
Xiong X, Aref WG (2006) R-trees with update memos. In: ICDE
Šaltenis S, Jensen CS, Leutenegger ST, Lopez MA (2000) Indexing the positions of continuously moving objects. Sigmod Record
Tao Y, Papadias D, Sun J (2003) The TPR*-tree: an optimized spatio-temporal access method for predictive queries. In: VLDB
Patel JM, Chen Y, Chakka VP (2004) STRIPES: an efficient index for predicted trajectories. In: SIGMOD
Lin D, Jensen CS, Ooi BC, Šaltenis S (2005) Efficient indexing of the historical, present, and future positions of moving objects. In: MDM
Nascimento MA, Silva JRO (1998) Towards historical R-trees. In: SAC
Pfoser D, Jensen CS, Theodoridis Y (2000) Novel approaches in query processing for moving object trajectories. In: VLDB
Tao Y, Papadias D (2001) MV3R-Tree: a spatio-temporal access method for timestamp and interval queries. In: VLDB
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
Lomet D, Salzberg B (1989) Access methods for multiversion data. In: SIGMOD
Becker B, Gschwind S, Ohler T, Seeger B, Widmayer P (1996) An asymptotically optimal multiversion B-tree. VLDB J 5:264–275
Zhang R, Stradling M (2010) The HV-tree: a memory hierarchy aware version index. Proc VLDB Endow 3:397–408
Dittrich J, Blunschi L, Salles MAV (2009) Indexing moving objects using short-lived throwaway indexes. In: SSTD
Nishimura S, Das S, Agrawal D, Abbadi AE (2011) MD-HBase: a scalable multi-dimensional Data infrastructure for location aware services. In: MDM
MOTO (Moving Objects Trace generatOr). [Online]. Available: http://moto.sourceforge.net
TIGER. [Online]. Available: http://www.census.gov/geo/www/tiger
Callgrind. [Online]. Available: http://valgrind.org/docs/manual/cl-manual.html
Hellerstein JM, Naughton JF, Pfeffer A (1995) Generalized search trees for database system. In: VLDB
Wu E, Madden S (2011) Partitioning techniques for fine-grained indexing. In: ICDE
Hendawi AM, Mokbel MF (2012) Panda: a predictive spatio-temporal query processor. In: SIGSPATIAL GIS
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
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10707-016-0278-6