Database

Why NoSQL Is Here To Stay

While they won't displace traditional RDBMSs, the easy scalability and programmability of NoSQL databases guarantees them a permanent place in the data center.

NoSQL databases have been the subject of considerable debate as developers and systems architects disagree on where they're most useful. Some technologists are skeptical that NoSQL will even fill a long-term need: They believe NoSQL databases will be limited to niche applications and that SQL databases will continue to be the dominant model. Such concerns ignore fundamental changes to how and why applications are developed. NoSQL is definitely here to stay, for a variety of reasons.

Scalability and Big Data

The days of gigabytes of data are gone; even modestly sized applications now must cope with terabytes or petabytes of data, much of it constantly changing and growing. As the data load continues to grow, IT organizations need a way to scale up quickly and flexibly without investing hundreds of thousands of dollars in building single-server solutions that become increasingly expensive with scale.

NoSQL databases make it easy to meet expanding needs because they're built to scale out, instead of scale up. By automatically functioning across pools of inexpensive commodity servers or cloud computing instances, NoSQL databases enable sites to increase (or decrease) capacity cost-effectively  you can have a high-performance system even if you don't necessarily have the largest budget.

And because they have fewer limits on scalability, NoSQL databases are much better equipped to handle the volume of data that modern applications need. The amount of data we use is not going to shrink, so the need for database management systems that can handle the growth is permanent.

Changing System Architectures

With the advent of cloud computing, the way that systems are set up has changed drastically, and will continue to change as new server types and technologies become available. A database instance might easily be spread across thousands of nodes, located around the world, and serving millions of widely dispersed customers simultaneously.

NoSQL databases natively work with modern system architectures, which means they're set up to scale across an unlimited number of servers and continue functioning normally even as nodes are added and removed. This design dramatically reduces scaling costs as well as server administration and setup time. Many NoSQL databases are also location-aware, making it easy to accelerate data delivery to users based on geography.

Ease of Use

Because they don't have fixed schemas, NoSQL databases are known for being easy to work with. You can code applications quickly, without worrying about time spent migrating data to new schemas as your application evolves. In addition, document-oriented databases make it unnecessary to have object-oriented code transform requests into SQL queries, and then change the SQL results back into objects that fit in with the application logic. So will NoSQL databases displace RDBMS technology across the spectrum of applications? No. Not anytime soon, anyway. But for the vast majority of applications, NoSQL databases and particularly document databases offer the scale, flexibility, and ease-of-use that applications require.

Matt Asay is the Vice President of Corporate Strategy at 10gen, the company behind MongoDB. Matt is a well-known open source advocate and former board member of the Open Source Initiative (OSI).

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task.
However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Video

This month's Dr. Dobb's Journal

This month,
Dr. Dobb's Journal is devoted to mobile programming. We introduce you to Apple's new Swift programming language, discuss the perils of being the third-most-popular mobile platform, revisit SQLite on Android
, and much more!