Nauto: Achieving Consistency in an Eventually Consistent Environment
Blog post from ScyllaDB
Rohit Saboo's blog post discusses the challenges and solutions in building a consistent trip processing system at Nauto, a real-time AI-powered driver behavior platform. The focus is on achieving consistency in a distributed system while balancing the trade-offs between consistency, availability, and partition tolerance, as dictated by the CAP theorem. Nauto's "trip builder" processes and analyzes large volumes of data using a distributed time-series merging solution based on a new ACID paradigm, which provides robust application-level guarantees. ScyllaDB was chosen as the database due to its reliability, cost-effectiveness, and suitability for high-throughput operations. The solution involves a coordination-free algorithm that merges trip segments using a monotonic function ensuring data consistency, reliability, and low operational overhead. By leveraging ScyllaDB's capabilities, Nauto has successfully optimized its system for high availability and scalability, enabling it to predict and prevent high-risk driving events, thus avoiding over 25,000 collisions and saving nearly $100 million for its commercial fleet clients.