SQL databases, in all their varieties, have served as the backbone of critical business applications for nearly three decades. SQL has provided application developers with a robust platform to store and retrieve data, and perhaps most importantly, relate data across tables through a series of joins.
Yet, despite the tremendous value provided to application developers by SQL, the platform has some significant restraints. First, it is incredibly difficult to change the database schema after the database is put into use. Changing the schema often requires 1) database downtime and 2) reengineering applications to handle the new schema. Second, SQL database performance, especially as they grow to a significant size, can exhibit very poor performance. Avoiding this performance degradation requires consistent database optimization and ensuring that the queries used by applications leveraging the database, are written to be efficient.
Despite some of the challenges SQL databases present, they aren’t going anywhere. SQL databases are a proven platform and offer good performance if maintained and managed properly. For many applications, SQL databases represent an ideal database platform.
For other applications, however, SQL databases may no longer be the best choice. Over the past few years, a variety of databases known as NoSQL databases, have gained significant popularity. NoSQL databases are adept at handling unstructured data. As a result, a static schema is of less importance than with a traditional SQL database. Additionally, NoSQL databases are designed to provide great performance spread across multiple nodes.
Those looking for additional info on NoSQL can check out a great overview by MarkLogic’s Adam Fowler, or these additional insights from the folks at MongoDB.
Skytap recently added two NoSQL database templates to our public library: MongoDB and Riak. If you want to “kick the tires” on NoSQL, simply deploy one of our templates and begin right away.
Take a Skytap Cloud tour and see what NoSQL databases can do for your database-driven applications.