Zhiyin Zhang, Xiaocheng Huang, Chaotang Sun, Shaolin Zheng, Bo Hu, Jagannadan Varadarajan, Yifang Yin, Roger Zimmermann, Guanfeng Wang
{"title":"Sextant: Grab's Scalable In-Memory Spatial Data Store for Real-Time K-Nearest Neighbour Search","authors":"Zhiyin Zhang, Xiaocheng Huang, Chaotang Sun, Shaolin Zheng, Bo Hu, Jagannadan Varadarajan, Yifang Yin, Roger Zimmermann, Guanfeng Wang","doi":"10.1109/MDM.2019.00-51","DOIUrl":null,"url":null,"abstract":"Locating nearest moving objects in real-time is a vital problem that the ride-hailing industry needs to address. For instance, when a passenger makes a booking, the service provider, such as Grab or Uber, needs to locate the K nearest drivers for the given pickup location in case the closest driver is not optimal for this booking request. This poses two main challenges: firstly, massive frequent write operations are needed to track the objects' current locations. As drivers can move as fast as 25 meters per second in developed countries like Singapore, it is therefore important to update drivers' locations at a second, if not millisecond, granularity. Secondly, a K-nearest neighbour (kNN) query poses tremendous challenges, compared to a simple Get query, in a key-value data store such as Redis. This paper presents Sextant, a scalable in-memory spatial data store tailored for kNN searches. Sextant is decentralized, scalable, reliable, efficient and highly available. It has been supporting Grab's daily flow with no downtime for more than one year, with write QPS (query per second) and kNN query QPS approaching millions.","PeriodicalId":241426,"journal":{"name":"2019 20th IEEE International Conference on Mobile Data Management (MDM)","volume":"61 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 20th IEEE International Conference on Mobile Data Management (MDM)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/MDM.2019.00-51","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
Locating nearest moving objects in real-time is a vital problem that the ride-hailing industry needs to address. For instance, when a passenger makes a booking, the service provider, such as Grab or Uber, needs to locate the K nearest drivers for the given pickup location in case the closest driver is not optimal for this booking request. This poses two main challenges: firstly, massive frequent write operations are needed to track the objects' current locations. As drivers can move as fast as 25 meters per second in developed countries like Singapore, it is therefore important to update drivers' locations at a second, if not millisecond, granularity. Secondly, a K-nearest neighbour (kNN) query poses tremendous challenges, compared to a simple Get query, in a key-value data store such as Redis. This paper presents Sextant, a scalable in-memory spatial data store tailored for kNN searches. Sextant is decentralized, scalable, reliable, efficient and highly available. It has been supporting Grab's daily flow with no downtime for more than one year, with write QPS (query per second) and kNN query QPS approaching millions.