sommai - Fotolia

Keeping up with Cassandra, the NoSQL database

What does Call of Duty, the Hive smart thermostats, Social Weather and the William Hill bookie app all have in common? They are all powered by the Apache Cassandra NoSQL database

The Weather Channel, British Gas, games company Activision and William Hill operate in different sectors, with different customers and different business plans. But the firms have one thing in common: they all rely on the Apache Cassandra NoSQL data platform to deal with ever-increasing amounts of data and to personalise customer experience.

With the rise of the internet of things (IoT) and new technology, companies have the ability to collect and use more data than ever before. More data also means higher expectations and increased competition to stay on top of the game.

It’s game on

“It’s about having real-time data at your fingertips,” Darryl Kanouse, senior director of consumer technology at Activision, the company behind well-known games such as Call of Duty, Guitar Hero and Destiny, tells Computer Weekly.

“The data has to be right and available all the time – it’s a never ending challenge,” he says. “Demand for data-driven decisions and making a focused, personal experience is getting higher. Everywhere you look, everybody is looking at personal experience.”

The company began a project to improve the way it used data to deliver a better customer experience in 2011. It tried many different databases, including Oracle, MongoDB and Infobright, and often switched while it tried to find one that solved all its challenges.

Read more about NoSQL database technology

In 2014, it tried out Apache Cassandra – and for the first time in five years, it didn’t switch to something else, Kanouse says.

Cassandra is an open-source, scalable NoSQL database that acts as a platform for applications that require fast performance and no downtime.

With the release of Call of Duty: Advanced Warfare in 2014, Activision tried out a new system where, based on real-time data, it could message players with highly personalised communication to enhance the experience of the player and increase engagement. This involved large amounts of data, and according to Kanouse, the company “couldn’t have done it without Cassandra”.

Abolishing the master-slave relationship

Although Cassandra is open-source, it is also available as an enterprise version through Datastax Enterprise, which builds on Cassandra and provides additional features such as search, analytics and performance.

The database is built to handle large amounts of data spread out across commodity servers. Unlike most databases, there is no slave-master relationship; instead, the data is spread across peer-to-peer notes, meaning there can never be a single point of failure.

Cassandra was named after the beautiful mystic seer in Greek mythology, whose predictions for the future were never believed. But in the database world, it seems Cassandra has many believers.

It has been hailed as “the database of the future”, and measured on buzz at the recent Cassandra Summit 2015 in Santa Clara, California, it might be on to something. With more than 8,000 Cassandra users attending both in person and online – up from 2,000 in 2014 – it seems the database is becoming increasingly popular.

Betting on open source

It is also beginning to grow its customer base in the UK. One of them is online bookmaker William Hill, which has recently developed a data platform based on open-source technology, including Cassandra.

“In a virtual environment, you've got to have a network that’s consistent,” says William Hill research and development lead Patrick Di Loreto.

“Having any form of downtime means we not only lose money, but we could lose customers,” he adds, explaining that if the system went down as a customer was about to place a bet, it would be disastrous.

Having a scalable database also means William Hill can do a lot more to personalise the user experience.

“If we know a customer is a Liverpool fan and there is a game on, we know he will probably watch it. So we can push data onto his mobile app and improve his experience,” says Di Loreto.

Connected Homes

William Hill isn’t the only UK company leading the way with Cassandra. British Gas Connected Homes, the energy company’s technology development branch, is using Cassandra to unify the different back ends of different projects.

Connected Homes operates the Hive app, a smart thermostat which lets users control the heating in their home through their smartphone. Hive currently has 230,000 customers, which includes 500,000 data points per customer – a lot of data to keep track of.

In January 2015, the team went live with its connected boiler programme. The project, which is currently in trial phase, aims to be able to predict when a boiler might fail. It is also trialling a project called my energy live, which is an app connected to a smartmeter that allows customers to track their energy usage and compare it with their neighbours', for example.

“This means we can tell you things in real time,” says Connected Homes head of data engineering Josep Casals. “When you have a normal energy-usage pattern, or it’s too high, or maybe you have a gas leak you’re unaware of, we could send you an alert.”

We now have a unified back end. The idea is that we can create a lot of synergies in running data from different sources
Josep Casals, British Gas Connected Homes

The project is being trialled with a small amount of customers, but the company is already looking towards the future and sees huge potential with being able to use real-time data.

Like Activision, the company tried an array of different database platforms, with different projects on different platforms, before putting them all on Cassandra.

“We now have a unified back end,” says Casals. "The idea is that we can create a lot of synergies in running data from different sources. If you have electricity usage data and real-time temperature data in Cassandra, you can make up a thermal model of the home and be able to determine if windows are open, for instanc.”

Using Cassandra, the company doesn’t need to worry about scalability or that adding more data will crash the system. The one difficulty Connected Homes has encountered, however, is finding people with experience in working with Cassandra. “The database looks simple, but isn’t,” explains Casals.

Predicting the weather

The Weather Channel, which began running Cassandra in 2013 simply to track application statistics, has since increased its use rapidly. Led by self-proclaimed Cassandra evangelist and software development manager Robbie Strickland, the company has grown its usage dramatically and used the database to launch its new app, Social Weather.

Cassandra offers extensive training and is happy to bring experts to organisations, but the Weather Channel – benefited by having an evangelist like Strickland on board – decided to do it itself. “Part of it is an educational process. I trained the guys on my team on how to use it. Now my team are the experts,” he says.

However, it hasn’t always been without difficulties. “I liken Cassandra to a space shuttle, it’s a very complex machine. It will take you a lot of places no one else have been, but there are a lot of knobs that will kill you,” Strickland says.

The company is championing open source and has decided not to take advantage of the Datastax Enterprise model. “We’re very open-source and don’t use Datastax, and sometimes we’re burnt by that,” admits Strickland, who has even written a book on Cassandra. But managing to navigate the database, complex as it may be, shouldn’t be too much of an issue, he says.

The Cassandra Summit has grown substantially in five years – from just double figures in its first year, to more than 8,000 in 2015. Judging from the popularity of the event, the growing trend of NoSQL databases and prominent Cassandra customers such as Netflix, HP, IBM, Twitter, Apple and Cisco, it seems likely there will be even more Cassandra evangelists in the future. 

Read more on Open source software

Data Center
Data Management