Flexing NoSQL: MongoDB in review

MongoDB shines with broad programming language support, SQL-like queries, and out-of-the-box scaling

1 2 3 4 Page 4
Page 4 of 4

MongoDB: New paradigm, new challenges
Although MongoDB itself is open source, the code base is actively maintained and indeed sponsored by a commercial entity known as 10gen, which provides support, consulting, monitoring, and training for Mongo. 10gen supports a number of well-known companies using Mongo, including Disney, Intuit, and MTV Networks, to name a few. In addition to strong community backing and commercial support, Mongo benefits from excellent documentation. A number of published books are available.

Working with MongoDB is not without challenges. For starters, Mongo requires a lot of memory, preferring to put as much data as possible into working memory for fast access. In fact, data isn't immediately written to disk upon an insert (although you can optionally require this via a flag) -- a background process eventually writes unsaved data to disk. This makes writes extremely fast, but corresponding reads can occasionally be inconsistent. As a result, running Mongo in a nonreplicated environment courts the possibility of data loss. Furthermore, Mongo doesn't support the notion of ACID transactions, which is a touchstone of the RDBMS world.

As with traditional databases, indexing in Mongo must be thought through carefully. Improperly indexed collections will result in degraded read performance. Moreover, while the freedom to define documents at will does provide a high degree of agility, it has repercussions when it comes to data maintenance over the long term. Random documents in a collection present search challenges.

The relational database is still the staple data store for the vast majority of applications built today. But for some applications, the flexibility offered by Mongo provides advantages with respect to development speed and overall application performance. Plus, Mongo's relative ease-of-use and low price tag make it an attractive option for companies large and small.

MongoDB at a glance

 Pros Cons
MongoDB 2.0.2
  • Out-of-the-box scalability and availability with sharding and replica sets
  • Support for wide array of programming languages via drivers
  • Excellent documentation, including a number of published books
  • Ad hoc queries similar to SQL
  • Strong community and commercial support
  • No ACID transactons
  • Lack of deep security features
  • BI tool integration lagging (although Jaspersoft supports MongoDB)
  • Queries don't support joins between collections

This article, "Flexing NoSQL: MongoDB in review," was originally published at InfoWorld.com. Follow the latest developments in data management and cloud computing at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.

Copyright © 2012 IDG Communications, Inc.

1 2 3 4 Page 4
Page 4 of 4
How to choose a low-code development platform