Ship killer mobile apps.
Scale to millions of users.
Do it in weeks, not months.
Customers want your business on their smartphone. And they expect it to get better weekly. Too bad your RDBMS makes it hard to iterate constantly. And it wasn’t built to support millions of users, either.
With MongoDB, you can build killer mobile apps that scale to millions of users. Faster. With less money.
ADP makes over 41,000 clients happier with its mobile app, personalized for over 1 million end-users. Built on MongoDB. Learn More
The Weather Channel uses MongoDB to handle 2 million requests per minute and provide real-time weather alerts for 40 million users. Learn More
|Mobile is Hard||MongoDB Makes it Easy|
|Hamstrung. New smartphones, wearable devices, and apps create new types of unstructured and semi-structured data. Relational databases can’t easily handle the types of data you need to use to build good mobile apps.||Killer Apps. MongoDB's flexible data model and rich query functionality let your teams build killer apps. MongoDB can manage any kind of data, no matter how often it changes. Any feature. Any data. Any device.|
|Fail at Scale. Mobile apps can spread like wildfire. Response times have to keep up. Your teams can spend endless cycles and millions of dollars trying to scale, but relational databases weren’t built for this.||Millions of Users. MongoDB was built to scale horizontally, in your data center or in the cloud. Serve millions of users and petabytes of data without complex hardware or extra software. This shouldn’t be hard, and with MongoDB, it isn’t.|
|Stagnant. Relational schemas slow teams down. They make it hard to test ideas. They make it hard to pivot. They’re not helping you be like a startup – they’re making it hard for you to respond to users and competitors.||Faster. Your teams move faster with MongoDB because its dynamic schemas let them iterate. They spend less time on the database, and more time on the app. When you measure time in weeks, you can adapt.|
Why Mobile Is Hard
Building a mediocre mobile app is easy. Iterating, scaling, and shipping killer apps is hard.
- New Data. Unstructured, semi-structured, and polymorphic data doesn’t belong in relational rows and columns. Key-value stores may be able to handle that data, but lack the functionality – like expressive query operators, atomic updates, secondary and geospatial indexes, and aggregation – to get, set and analyze it.
- Rigid Schemas. You should be able to support new devices, build new features and track new attributes easily. Your teams should be able to work in sprints. But relational schemas are hard to change incrementally, especially without impacting performance or taking the database offline.
- Scaling Problems. Relational databases were designed for single-server configurations, not for horizontal scale-out. They were meant to serve hundreds of ops per second, not hundreds of thousands of ops per second. Even with a lot of engineering hours, custom sharding layers and caches, scaling an RDBMS is hard at best and impossible at worst.
How MongoDB Makes it Easy
People love using MongoDB to build killer mobile apps that scale.
- Documents and the Features to Match. MongoDB’s JSON document model makes it easy to store any type of data for any type of device. You can represent complex, hierarchical data structures. Combined with an expressive query language, atomic updates, secondary and geospatial indexes, and aggregation framework, MongoDB lets you build killer mobile apps easily.
- Dynamic Schemas. Schemas in MongoDB are self-describing. Pull in new user data, support new devices or sensors, and build new features without schema redesigns and migrations. Your teams can work in sprints, iterating on the schema early and often.
- Horizontal Scalability. In MongoDB, scaling out is native to the database using a technique called sharding. With multiple options for scaling – including range-based, hash-based and location-aware sharding – MongoDB can support thousands of nodes, petabytes of data and hundreds of thousands of ops per second, without requiring you to build custom partitioning and caching layers.