10gen recently spoke with Senior Data Architect Vinayak Javaly, to learn more about EveryScreen Media and how the company built a scalable, high-performance, real-time mobile advertising bidding platform in Amazon EC2. Also be sure to check out Vinayak's presentation at a recent MongoNYC Meetup.
Tell us about EveryScreen Media
EveryScreen Media is a mobile real-time exchange and data analytics provider that makes mobile advertising uncomplicated and easy to execute. We have aggregated more than 50 billion mobile monthly impressions and provide a set of solutions for our customers to execute rich media mobile campaigns in scale in RTB environments. Our focus is on developing advanced targeting technology and data analytics that allow marketers to achieve increased ROI and measurable brand growth with our data management platform of unprecedented sophistication and flexibility using best-in-class audience algorithms.
What does your technology stack consist of?
- Servers - AWS EC2, S3 & hosted datacenter
- Backend - C++ (Boost, pion-net libraries), node.js
- Frontend - PHP Lithium
- Database - MongoDB 2.0.6, Redis 2.4.5
You built EveryScreen Media on MongoDB. What were some of the reasons that led you to the technology?
Since we were building a real-time bidding platform to support billions of ad opportunities a day, we knew that we needed a horizontally scalable database environment. We had good experiences with MongoDB and 10gen at a prior company, so the decision was fairly simple.
How has your MongoDB environment evolved?
We started with a few standalone MongoDB servers in early 2011, and currently have more than 75 MongoDB servers using a combination of sharding and replica sets for our various use cases. In addition to the basic Mongo features, we make extensive use of geospatial queries and map/reduce.
What is in store for the future? Are there any new MongoDB projects in the works?
We are planning to deploy GridFS into Production in the near future and currently investigating MongoDB’s data center awareness capabilities. We are looking forward to the new 2.2 functionality such as the Aggregation Framework and TTL Collections.