GPS Insight provides a fleet intelligence service that combines satellite and cellular data to track trucks, vehicles, trailers, and other types of equipment. Customers use GPS Insight to monitor vehicle locations and usage, ensuring that drivers take breaks, arrive at service calls as expected, and avoid detours. It also enables fleet owners to optimize fuel consumption across the fleet.
Fleet owners simply attach a device to the vehicle or asset they want to watch. Each device sends time-series data to GPS Insight’s gateway application. From there, it’s merged into the database and used by customers for monitoring and alerting, based on activities in the vehicle fleet.
The GPS Insight system is built against SAP ASE, the relational database management system. As data volumes increased, SAP ASE limitations became evident; relational databases simply aren’t a match for high volume machine data. Performance issues caused by the sheer quantity of time series data presented the biggest problem. Developers found SAP ASE difficult to query. The team had to use temporary tables to make smaller subsets amenable to joins. To top it off, SAP ASE’s clustering technology proved intensive and hard to maintain, making it cumbersome to manage and operate.
The choice came down to the incumbent, Apache Cassandra, and the challenger, Scylla.
Doug Stuns, Cassandra/Scylla Architect at GPS Insight, explains the rationale behind including Scylla in the evaluation. “I was hired as a Cassandra engineer,” said Stuns, “but I recommended that we also try Scylla because it’s written in C++. That seems to be the direction everybody’s headed. Scylla makes the right tradeoffs, taking the best of Cassandra while avoiding the downsides.”
To compare the two databases, Stuns’s team provisioned a POC environment with a 7-node Cassandra cluster and a 3-node Scylla cluster. As a baseline for performance benchmarks, the team loaded diagnostics data for 90 days. Their first taste of Scylla’s raw speed came during setup. Cassandra took five days to load the dataset. Scylla took less than one day to complete the same process, even with fewer nodes.
With the reference data loaded, the team began performance testing. Working with 60 terabytes of data compressed 12:1, the team was unable to so much as ruffle Scylla. “Cassandra just kept spiking due to JVM-related issues. But with Scylla, we had to bump our stress test just to see it flatline. In our experience, the more you throw at Cassandra, the more it spikes. But it doesn’t matter how much you throw at Scylla. When you light it up with five or six gateways simultaneously, the three-node Scylla cluster stays flat. We never hit a peak in Scylla’s performance.”
“Scylla makes the right tradeoffs, taking the best of Cassandra while avoiding the downsides.”
– Doug Stuns, Cassandra/Scylla Architect, GPS Insight
Beyond the performance handicap, the team saw other issues with Cassandra. The commercially supported version was outside their budget. Apache’s free open source version provides no support. According to Stuns, “When you’re betting your business on a technology, and you have to hope something bad doesn’t happen, that’s a tough sell.”
Once the team chose Scylla, migrating from SAP ASE was quick and straightforward.
GPS Insight currently runs a hybrid topology, with primary servers in a co-located data center and secondary servers running on AWS. To maintain a library of legacy business logic, Stuns plans to run Sybase alongside Scylla. By moving to Scylla, applications will be able to bypass most stored procedures and query data directly. This has the added benefit of radically shrinking the Sybase footprint, making it easier to operate, manage, and maintain. Ultimately, the plan is to migrate all machine data to Scylla.
“The Scylla support team is extremely responsive and helpful. From sales through support, Scylla is nimble and skilled enough to get the job done professionally. Scylla fixed a bug for us and issued a new release within a few days. With other companies you’re lucky if they even look at a service request within 3 months. Overall, I am very satisfied with Scylla.“