TrafficDB: HERE's High Performance Shared-Memory Data Store

HERE's traffic-aware services enable route planning and traffic visualisation on web, mobile and connected car applications. These services process thousands of requests per second and require efficient ways to access the information needed to provide a timely response to end-users. The characteristics of road traffic information and these traffic-aware services require storage solutions with specific performance features. A route planning application utilising traffic congestion information to calculate the optimal route from an origin to a destination might hit a database with millions of queries per second. However, existing storage solutions are not prepared to handle such volumes of concurrent read operations, as well as to provide the desired vertical scalability. This paper presents TrafficDB, a shared-memory data store, designed to provide high rates of read operations, enabling applications to directly access the data from memory. Our evaluation demonstrates that TrafficDB handles millions of read operations and provides near-linear scalability on multi-core machines, where additional processes can be spawned to increase the systems' throughput without a noticeable impact on the latency of querying the data store. The paper concludes with a description of how TrafficDB improved the performance of our traffic-aware services running in production.

[1]  Michael Stonebraker,et al.  The VoltDB Main Memory DBMS , 2013, IEEE Data Eng. Bull..

[2]  James D. Foley,et al.  Fundamentals of interactive computer graphics , 1982 .

[3]  Antonin Guttman,et al.  R-trees: a dynamic index structure for spatial searching , 1984, SIGMOD '84.

[4]  Dhabaleswar K. Panda,et al.  Improving Scalability of OpenMP Applications on Multi-core Systems Using Large Page Support , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[5]  A. Brown,et al.  The Architecture of Open Source Applications , 2011 .

[6]  V. Srinivasan,et al.  Citrusleaf: A Real-Time NoSQL DB which Preserves ACID , 2011, Proc. VLDB Endow..

[7]  K. Small,et al.  The Economics Of Traffic Congestion , 1993 .

[8]  Neal Leavitt,et al.  Will NoSQL Databases Live Up to Their Promise? , 2010, Computer.

[9]  Wilson C. Hsieh,et al.  Bigtable: A Distributed Storage System for Structured Data , 2006, TOCS.

[10]  B. O. Gallmeister,et al.  POSIX.4 - programming for the real world , 1995 .

[11]  Hector Garcia-Molina,et al.  Main Memory Database Systems: An Overview , 1992, IEEE Trans. Knowl. Data Eng..

[12]  A. Downs Stuck in Traffic: Coping with Peak-Hour Traffic Congestion , 1992 .

[13]  A. Guttmma,et al.  R-trees: a dynamic index structure for spatial searching , 1984 .

[14]  Hanan Samet,et al.  The Quadtree and Related Hierarchical Data Structures , 1984, CSUR.

[15]  Traffic , 2004 .

[16]  Juan Loaiza,et al.  Distributed Architecture of Oracle Database In-memory , 2015, Proc. VLDB Endow..

[17]  Roy T. Fielding,et al.  Principled design of the modern Web architecture , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[18]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.

[19]  Norman May,et al.  The SAP HANA Database -- An Architecture Overview , 2012, IEEE Data Eng. Bull..

[20]  John Shalf,et al.  Performance Analysis of High Performance Computing Applications on the Amazon Web Services Cloud , 2010, 2010 IEEE Second International Conference on Cloud Computing Technology and Science.

[21]  Martin L. Kersten,et al.  Database Architecture Optimized for the New Bottleneck: Memory Access , 1999, VLDB.

[22]  Michael Stonebraker,et al.  Implementation techniques for main memory database systems , 1984, SIGMOD '84.

[23]  Marie-Anne Neimat,et al.  Oracle TimesTen: An In-Memory Database for Enterprise Applications , 2013, IEEE Data Eng. Bull..

[24]  Kanok Boriboonsomsin,et al.  Real-World Carbon Dioxide Impacts of Traffic Congestion , 2008 .

[25]  L. Dagum,et al.  OpenMP: an industry standard API for shared-memory programming , 1998 .

[26]  Sam Lightstone,et al.  DB2 with BLU Acceleration: So Much More than Just a Column Store , 2013, Proc. VLDB Endow..