

Deciding where to store enterprise data is no longer as simple as choosing between a relational database (RDB) and a data warehouse. Data volumes have exploded and so have choices for storing it. However, over the past few years one option has garnered an enormous amount of attention – NoSQL. Many praise the technology, but what is NoSQL? Is it a better option for enterprises to consider? How does NoSQL really compare to the tried and true relational database?
Let’s start by taking a step back. SQL is a programming language that has existed since the early 1970’s for interacting with relational databases. Which raises the question, “What’s a relational database?” Relational databases are the mainstay of enterprise data storage. From open source options like MySQL to Oracle’s rack, relational databases are what most technologists envision when someone mentions a database. These well established repositories store data organized in tables of columns and rows, like an excel spreadsheet. Each table has a name (e.g. customer), each column represents an attribute (e.g. prefixes (Mr., Ms., Mrs., Dr., etc.) and each row represents an object (e.g. customer Johnny Doe).
The relational aspect comes into play when tables are linked. Tables can be associated or linked to represent real world relationship such as a customers with orders. Relational technology is well understood and be used to store incredibly complex information.
Another major characteristic of a relational database is that they have ACID transactions, which ensure data isn’t left in an inconsistent state if something goes wrong (e.g. ACID transactions can prevent an order from being saved without the associated customer. For decades relational databases have worked reliably and provided the necessary functionality for the vast majority of business use cases.
However as data volumes continued to grow in the enterprise, some organizations began to rethink how they stored and managed data, and thus NoSQL was born. There are four basic categories of NoSQL repositories:
NoSQL databases have the ability to scale out across multiple commodity servers and handle massive amounts of data. In addition, NoSQL repositories have a more flexible data model than RDBs. This allows businesses to quickly make changes and handle unstructured data without being so concerned with database schemas. What’s not to love?
No technology is perfect, and that includes NoSQL. The technology and products are still in a very embryonic state. The lack of maturity leaves room for a lot of caution. Most technology leaders adopting new technology want to ensure the platforms are stable and have support options available if something goes wrong – something absent from many NoSQL repositories. The market is maturing , but many of the familiar niceties from the relational world simply don’t exist for NoSQL.
Given the trade offs, is NoSQL a must have or bane for enterprise data? It depends. Technology pros should understand that NoSQL means “not Only SQL,” which implies leveraging NoSQL isn’t an all or nothing decision. Neither NoSQL or relational technology is a magic bullet for enterprise data. Organizations should not discount NoSQL because it’s new. NoSQL can be a powerful tool to have in an arsenal.
At Information On Demand 2012, IBM’s executive in charge of database software sat down with the Cube. He advised that, while NoSQL is better equipped to handle unstructured data than a relational database, SQL is still the best choice for a broad range of traditional workloads, which is why these new technologies should be considered a supplement rather than an alternative. Sounds like solid advice to me.
THANK YOU