Artur Kronenberg OpenMarket
We provide a comprehensive set of mobile solutions for enterprises to engage and transact with their customers via the mobile channel. I am a Software Engineer working on our Mobile Engagement Platform. A recent real world example is the charity BBC Children in Need using the platform for mobile donations.
We needed a scalable and highly available solution for our growing platform. We were using MySQL before and migrated to Cassandra.
We are using Cassandra 1.1 and 1.2 and the astyanax driver in production for a combination of OLTP data processing and in a file storage service.
We are using 2 datacenters with 5 nodes in each and a replication factor of 5. We have roughly 20 GB of data on each node. For our data model we are using row cache to hold hot data. Apart from that we are holding data in the disk cache to achieve our desired read performance.
Getting started with Cassandra
Cassandra for us started out a bit slowly in our trial period. It took us some time to tune it to the necessary performance however it is definitely possible. We started out with a random read performance of roughly 20 reads/s and managed to tune it up to multiple thousands of reads/s. It is necessary to initially spend some time figuring out the correct set up for a specific use case. Unfortunately those use cases differ largely from use cases other people have, so questions like “what is the perfect set up for Cassandra” don’t quite make sense. There is a lot of information on the internet to get started with but essentially the right set up has to be found individually.
Help from the community
The community is very helpful and quick with support. Most (or all) of the times I had questions either within IRC or the news group, a helpful answer was given within a day.