Nauto: An Online Method for Merging Time Ranges on Top of ScyllaDB
Nauto devices are installed in fleets to help improve driving behavior as well as fleet managers to know who is driving well and who is not. One of the fundamental components around which everything revolves is the notion of “trips” -- a trip being the time when the vehicle started to when it came to a full stop parked. Vehicle states such as moving and stopped are inferred from accelerometer data and send to the cloud servers over LTE connections sampled at very short intervals. These states are then combined in an online algorithm that builds trip segments, extending or combining them as and when we get more state updates. Further each trip segment records attributes such as the route and speed. In order to be able to do this at scale, we create, merge, and delete these trips as they grow in a time-series store on ScyllaDB. The web servers directly serve these routes out of ScyllaDB.