Cody Koeninger: Senior Software Engineer at Digby
Today’s Apache Cassandra use case features Digby. Thanks for joining us Cody, to start off, what does Digby do?
Digby’s Localpoint® service is a location-based marketing & analytics tool. Retailers can embed our SDK in their mobile apps, enabling opted-in shoppers to receive contextual campaigns based on geofence triggers.
How are you using Apache Cassandra at Digby?
Retailers can associate arbitrary attributes with particular mobile devices, and later use those attributes for market segmentation. We’re storing those associations in Cassandra as immutable time-series data, so that we can do analytics on the state of attributes for a set of devices at a given time.
What was the motivation for using Cassandra and what other technologies was it evaluated against?
Cassandra seemed like a good fit for time-series data, where each data point has a flexible schema. We considered MySQL partitioned tables, but wanted a solution that was more straightforward to scale horizontally. We had no prior investment in Hadoop (we’re using Spark for distributed analytics), so HBase made less sense from a deployment perspective.
Can you share some insight on what your deployment looks like?
Rackspace cloud, single cluster of 4 nodes, backed by spinning disks.
What would you like to see out of Apache Cassandra in future versions?
The current feature set meets our needs. I’d like to see CQL versioning remain stable for quite a while. The documentation is good, but a solid book covering data modeling with the current version would be nice from a developer education perspective.
What’s your experience with the Apache Cassandra community?
It’s been great. The Austin Cassandra meetups are informative and well-attended, and people on the IRC channel are helpful.