Planet Cassandra: Christof, tell us what you guys do at Scandit.
Christof: Scandit provides mobile app developers with a very fast and user-friendly Barcode Scanner. In addition to the SDK, we also offer a Product API that lets you retrieve product information for more than 25 million UPCs. (The UPC is the number encoded in a barcode, which is used to identify the product.) We are currently powering millions of app installations.
Planet Cassandra: How do you use Cassandra today?
Christof: We use Cassandra in two ways: First, it holds our product database. Second, we use it to store and analyze the scans generated by the apps that integrate the Barcode Scanner SDK. We call this Scanalytics.
Scanalytics is a web-based analytics platform that lets app developers see what happens in their app: What kind of products do their users scan? Groceries, electronics, cosmetics, etc.? Where do they scan? At home? In the retail store? And so on. All that goes into Cassandra.
Planet Cassandra: What’s your tech environment look like?
Christof: Our Cassandra cluster runs on a bunch of Linux machines. Our Product API is a REST service that is implemented in Ruby (using Rack) and talks to the Cassandra cluster. We currently run Cassandra across three different data centers.
The webapp that lets developers analyze the scans generated in their apps is written in Ruby on Rails. We actually have a blog post with more details on our infrastructure.
Planet Cassandra: What made you choose Cassandra?
Christof: We chose Cassandra because of several reasons: We like its simple shared-nothing design and that scaling is so easy. It was important to us that administration of the cluster remains easy, even as our volumes grow. High-performance inserts were a factor too, as was its support for multiple data centers. Finally, the Cassandra data model seemed like a good fit for what we do.
Planet Cassandra: What kind of performance are you seeing?
Christof: Our use case is fairly write-heavy, as we keep track of scans for our Scanalytics customers. Even under these conditions and with many millions of products and scans in our database, performance is very fast.
Planet Cassandra: Did you look at other options?
Christof: At the time when we evaluated different options (in early 2010), Cassandra seemed like the most advanced and most stable system to us. There were alternatives, but they didn’t support data partitioning in the same simple way as Cassandra and couldn’t match its performance.
Planet Cassandra: Thanks for the time Cristof!
Christof: No problem.
For more information on Scandit, visit: http://www.scandit.com/ and for further details on their tech environment, view their presentation on Cassandra.