InMobi, one of the fastest growing global mobile advertising networks, delivers results to its partners through intelligent mobile advertising solutions. The advanced technology enables advertisers to discover their target audience on mobile Internet sites and mobile applications in a measurable manner. Publishers can leverage the capability to serve contextual ads to the users of their sites, thereby increasing the value of their mobile property. InMobi’s vast reach coupled with the precision of the mobile medium provides the optimal platform for advertisers and publishers to take advantage of mobile advertising.
A key requirement for supporting mobile advertising is a scalable database. InMobi serves over 26 billion ad impressions per month, which requires a unique set of capabilities from the underlying database.
The Challenge: Scalable Database Infrastructure to Support Billions of Ads
When InMobi was founded in 2007, the CTO knew that scalability and performance would be key concerns. With billions of mobile devices increasingly being used to browse the web, taking advantage of the opportunity to deliver a mobile advertising platform would require the right infrastructure. But as a startup, InMobi did not have an unlimited budget and couldn’t just turn to the traditional database vendors for a solution. InMobi needed a low-cost database solution that would meet its scalability and performance requirements, now and in the future.
The Solution: EDB Postgres Advanced Server
InMobi’s CTO had experience with several open-source databases including MySQL and PostgreSQL. Given the scalability requirements InMobi had, PostgreSQL was the better fit, but the CTO did not want to be self-supported or rely on just the community for support. He needed a partner to be there throughout the process.
The CTO had heard of EnterpriseDB® (EDB™) and upon further research and evaluation discovered EDB offered the product InMobi needed in EDB Postgres™ Advanced Server and the support it would need to implement the infrastructure for its global mobile advertising network, all at a reasonable cost.
InMobi’s initial database installation took only 30 minutes, and that same installation is still running today. With the features of EDB Postgres Advanced Server and the assistance of the EDB team, the InMobi team has been able to simply add space when needed and add replication when desired without having to reinstall the database.
EDB Postgres is the backbone of everything InMobi does. There are 25 database instances across four datacenters with replication implemented between them. The databases range from reporting databases that reach 600 GB to read-only transactional databases that are just 1 GB in size.
InMobi implemented its solution using a combination of Java, Python, and Perl along with technologies including Hadoop and Cassandra. With EDB and these technologies, InMobi achieved the scale it needs, with over 26 billion ad impressions per month, each ad served involving EDB Postgres. The infrastructure supports over 200,000 transactions per minute across the globe with a three-millisecond response time.
Partnership with EDB
InMobi’s distributed data centers required the use of the replication features EDB Postgres offered. The challenge was that a multi-master setup was needed but PostgreSQL natively supported only a single master configuration. Working with EDB, InMobi was able to engineer a solution providing multi-master support, but the most recent release of PostgreSQL has enhanced replication features natively offering this support.
InMobi was looking forward to moving to this release. In response to feedback from InMobi and other customers, EDB accelerated how quickly features from the community were made available in EDB Postgres, which would enable InMobi to move to new versions more quickly than before.