Parthenon Software Group

MongoDB

MongoDB is the most popular option in a new class of NoSQL databases. Unlike data stored in strictly defined databases like MySQL and PostgreSQL, MongoDB uses flexible data objects called documents. These JSON-like objects can be keyed and queried much like a standard database, but offer the ability to store new attributes that would require a data migration in traditional databases.

This flexibility has made MongoDB a popular choice with startups and projects using cutting edge technology. Mongo’s JSON like data objects make it pair well with Javascript based projects written for Node, and it even supports stored procedures written with Javascript.

Like alternatives, MongoDB supports ACID compliant transactions and can be scaled to serve a large load using replication and load balancing.

Advantages

MongoDB was released in 2009 and is a modern option that offers very attractive features for the latest trends in development tools. It’s flexible data storage makes development faster and more agile. It is mature and widely supported with drivers for Java, Javascript, Python and PHP.

We've found Mongo works really well in concert with traditional SQL databases as a linked store of additional information that may need queries, but which has already been referenced from the database. In this way, the database handles old-fashioned SQL queries without requiring lots of structural updates as new data elements come up (or having to store a JSON blob in a TEXT or CLOB field).

Risks

While many devs choose Mongo to make their programs' data structures store the same way in a database as they do in memory, Mongo is often misused due to lack of familiarity with the most effective ways of storing data; far too many developers drop JSON blobs into the database and then expect Mongo to be efficient in pulling the data back in when they query it. We've seen a few projects in which developers tried to reference Mongo documents together the way SQL would work, making it far less efficient than if they'd just used SQL in the first place. Mongo's best use is what it was designed for: Queryable, replicable document storage in which data structures may change over time.

Although early versions of MongoDB had some security concerns due to the default settings included with the server, updates have addressed these issues and a properly configured setup has always been secure.

Web. Mobile. Open Source.

Accomplish your software projects fast with our experience.

Get A Free Estimate