March 17th, 2014

By 

MediaCrossing

 

“Cassandra’s scalability, fault tolerance, cross data center support and ease of deployment are critical factors for us.”

- Gary Malouf, Architect at MediaCrossing

Gary Malouf

Gary Malouf Architect at MediaCrossing

 

 

 

MediaCrossing

MediaCrossing is an independent digital media trading firm that operates a managed service platform that provides programmatic advertising solutions to marketers, agencies and publishers. MediaCrossing is a trading company that builds its own tech, reducing the spread and passing the value onto its partners.

 

I am the architect at MediaCrossing, my team is responsible for building the software that allows us to efficiently service our clients at scale.

 

 

Choosing Cassandra

We are currently using version 1.2.6. We evaluated HBase, Voldemort and MongoDB as alternatives but ultimately chose Cassandra based on the following:

  • Many of our use cases were nice fits for a key-value data store
  • Cassandra is well tested and was proven to handle large quantities of this data at scale

  • Cassandra’s distributed counter implementation makes it a good fit for realtime time series data tracking

  • Right out of the box, Cassandra has amazing support for fault tolerance and cross-data center backups

  • Cassandra is easy to install and get started with

Cassandra’s scalability, fault tolerance, cross data center support and ease of deployment are critical factors for us.

 

Use cases at MediaCrossing

We have multiple use cases for Cassandra here at MediaCrossing.

Time Series Data:

Our real time monitoring platform tracks spend at a very fine time granularity.  To do this, we leverage Cassandra’s counter functionality to bucket by hour, minute or second totals for our various metrics of interest.

User Mappings:

We need to be able to maintain 10′s of millions of ‘user mappings’ between our partner’s identifiers for a user and our own.  Cassandra’s distributed hash table implementation is ideal for this.

Event Data Store:

We leverage Akka Persistence for an event-based approach to managing and deploying our client placements and campaigns.  Akka Persistence recently added an adapter for Cassandra that we are in the process of migrating to.

 

 

Advice on getting started

Start out writing code against an instance on your own machine to make sure you get your client libraries working properly.  Once you are sure Cassandra is right for you, automate your database deployments.

 

Join the MediaCrossing team. They are currently hiring for a Senior Software Engineer.

LinkedIn