This is a guest post written byWill Shulman, CEO of ObjectLabs. ObjectLabs has created MongoLab, a Rackspace Cloud Tools Partner.
I’m very excited to talk to Rackspace customers about our new cloud database solution called MongoLab, currently in beta.
First off why MongoDB?
When I try to explain the benefits of MongoDB I like to start by explaining how MongoDB solves two key traditional data storage problems:
(1) Horizontal scalability
Like most other “NoSQL” database technologies out there, MongoDB is designed from the ground up to scale way past what most traditional RDBMS solutions can scale to. With replication and auto-sharding, MongoDB has a great story around building large, highly-available database clusters.
(2) The object-relational “impedance mismatch”
Most developers are familiar with how much work it is to translate between the object model in their code (i.e. Ruby, Python, Java, etc.) and the relational model in the database. With MongoDB this problem goes away. Even if you don’t have a “Big Data” problem (let’s face it, most of us don’t), MongoDB is a great alternative to SQL that can simplify your codebase dramatically.
Here is an example. Behold, The Blog Post:
Representing this data structure in a relational database could potentially require five or six tables as well as a big SQL query to join them on reads. It’s a bad fit. Once you realize this you realize that many of the other structures you store in a relational database (users, accounts, form data, etc.) are probably also a better fit for a document database than a relational database. The revolution has begun!
As more and more of us develop and deploy our applications in the cloud, we will need cloud services that provide management of each layer of our stack. MongoLab is a cloud database provider (a.k.a. Database as a Service (DBaaS)). The benefits of DBaaS are that instead of manually installing and managing databases yourself, a service provider instantiates databases on demand and manages all of the operational mechanics of running those databases such as replication, automated backups and monitoring. It’s the future.
Two Ways to Use MongoLab
(1) Direct connection via driver (traditional 3-tier architecture)
The most standard way to use MongoLab is to connect to your database via one of the MongoDB drivers. This is the most logical choice when using application servers and web application frameworks (e.g. RoR, Django, J2EE, etc…), and provides an ultra-fast, direct connection to your database.
(2) Via REST interface
You can also connect to your database via MongoLab’s REST APIs. This is great for mobile applications and AJAX driven web-apps. The API provides for the basic CRUD operations on your database and exposes the full power of MongoDB’s JSON-based query language. You might not have to implement a custom back-end for your next app! Just fling JSON around using our APIs. It’s beautiful.