About GPS Insight
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 Challenge
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 Solution
The choice came down to the incumbent, Apache Cassandra, and the challenger, ScyllaDB.
Doug Stuns, Cassandra/ScyllaDB Architect at GPS Insight, explains the rationale behind including ScyllaDB in the evaluation. “I was hired as a Cassandra engineer,” said Stuns, “but I recommended that we also try ScyllaDB because it’s written in C++. That seems to be the direction everybody’s headed. ScyllaDB 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 ScyllaDB cluster. As a baseline for performance benchmarks, the team loaded diagnostics data for 90 days. Their first taste of ScyllaDB’s raw speed came during setup. Cassandra took five days to load the dataset. ScyllaDB 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 ScyllaDB. “Cassandra just kept spiking due to JVM-related issues. But with ScyllaDB, 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 ScyllaDB. When you light it up with five or six gateways simultaneously, the three-node ScyllaDB cluster stays flat. We never hit a peak in ScyllaDB’s performance.”
“ScyllaDB makes the right tradeoffs, taking the best of Cassandra while avoiding the downsides.”
– Doug Stuns, Cassandra/ScyllaDB 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 ScyllaDB, 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 ScyllaDB. By moving to ScyllaDB, 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 ScyllaDB.
“The ScyllaDB support team is extremely responsive and helpful. From sales through support, ScyllaDB is nimble and skilled enough to get the job done professionally. ScyllaDB 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 ScyllaDB.“