In 2014, the development team behind the the world's largest investment professional video platform, set off to challenge the online video platform marketplace by taking a new approach to video analytics.
The result was Media Manager. Immediately, Media Manager was a big hit in the financial services and eLearning sectors. It was the strength of the video Analytics Engine that put Media Manager as a top choice for enterprise customers.
The Technical Challenge
Setting out to build the best video analytics engine was no easy task. It required us to take advantage of the latest and greatest cloud technology, redesign how analytics were recorded and redevelop how reports were generated.
Given the vast quantity of data we were recording and reporting on, it was clear that a traditional relational database solution on dedicated servers wasn't going to cut it.
ObjectRocket to the Rescue!
Now we all know and love Mongo for its speed, simplicity, and scalability, but it wasn't without its own challenges and drawbacks. We spent a lot of time and money setting up and optimising dedicated kit. In comparison to our previous SQL cluster, it was quicker but no more reliable, and chewed up just as much of our DevOps team’s time.
After running and managing our own MongoDB servers, we ran into all kinds of issues with keeping them alive, so we hoped to find a stress free way of hosting MongoDB.
What we needed was a fully managed cloud solution:
- 99.9%+ uptime fully managed by experts
- Scalable datastore to scale with our existing infrastructure
- Flexible schema to account for custom analytics "tagging"
- Flexible querying and speed for our bespoke query-based reporting tools
We looked to Rackspace for the solution. We'd already worked with them on building our cloud infrastructure and were made aware of ObjectRocket. Not only did ObjectRocket seem to be exactly what we needed, it was also a lot less expensive than the costs involved in hosting our own MongoDB instances.
The Finished Product
- MongoDB by ObjectRocket
- Rackspace Cloud Servers
- Rackspace AutoScale
- Rackspace Load Balancer
Our main datastore became MongoDB for its scalability and ObjectRocket for its reliability. MongoDB was perfect for our analytics engine and is the foundation for both recording and analysing data across the platform, critical when millions of minutes of video are recorded and analysed every year.
Capitalising on our new infrastructure, we released a game changing feature; the analytics tag. This gives our clients the ability to track their video views in the analytics engine with their own metrics.
For example, if a client had a website that requires users to login (using an identifier) this identifier could be used to tag the analytics. The client can then use the query builder within the analytics engine to filter down their analytics using that identifier.
The analytics engine makes use of the MMQL (Media Manager Query Language), which was inspired by SQL for its human readable syntax.
SHOW Video WHERE uid IS 1
uid is the client's "analytics tag" and the
1 is the client's identifier for that user. Clients can build bespoke queries to filter down their analytics to get the information they need. Using our Read APIs, they could also retrieve that data and use it within their own CMS.
MongoDB's Aggregation Pipeline allows us to turn millions of rows of data into meaningful analytics to relay back to our clients. We took advantage of MongoDB's TTL Indexes, which allow us to expire documents after a given amount of time. This works great for password resets, where hashes would need to expire after a given amount of time.
Since Switching to ObjectRocket
- Infrastructure costs for database storage are down 74%
- DevOps time is virtually nonexistent (now we can focus on improving our online video platform)
- Our analytics tagging system can now record any value passed to the smart player
- Report generation time for our customers in our Analytics Engine is twice as fast
ObjectRocket has removed the stress and worry of hosting and maintaining MongoDB instances, allowing us to focus on future developments and scale our system as we grow. Their fanatical support and quick responses make ObjectRocket even more awesome.
Head on over to getmediamanager.com to find out more about our products and services or follow us on Twitter @getmediamanager ObjectRocket customers get a 10% discount on Enterprise and Publisher editions.