A key Role in the Initial Growth of the World Wide Web

Apache Web Server Journal

Subscribe to Apache Web Server Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Apache Web Server Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Apache Web Server Authors: Liz McMillan, Elizabeth White, Pat Romanski, Janakiram MSV, Gil Allouche

Related Topics: Cloud Computing, Apache Web Server Journal, Big Data on Ulitzer

Blog Post

The NoSQL Database World Has Matured By @MapR | @CloudExpo [#BigData]

How NoSQL went from a quick and dirty alternative to RDBMSs, to a critical component of many enterprise data architectures

5 Ways the NoSQL Database World Has Matured Over the Years

With the proliferation of NoSQL databases in recent years, it can be easy to forget that not long ago, we were all discussing how to optimize traditional relational databases to perform tasks for non-relational workloads. Before we were talking about cost-effective horizontal scaling, flexible data types, and extremely fast data accesses, the world was all about the relational database management systems (RDBMS).

To provide a quick recap of the long-running, pre-NoSQL years, RDBMSs organized data into two-dimensional tables, containing all the details of each element in rows. Examples of these include Oracle, MySQL, DB2, SQL Server, and PostgreSQL. These systems continue to work well for applications that have consistent, predefined data structures such as ERP, CRM, and analytical reporting.

As the desired volumes for data collection and storage increased — especially with the advent of Apache Hadoop and big data — the RDBMSs struggled to remain cost-effective. That’s where NoSQL came into play. In the early days, NoSQL was seen as a quick and dirty alternative to RDBMSs, but they have since become critical components of many enterprise data architectures today. Consider the ways NoSQL databases have matured over the years.

What’s in a Name
Perhaps the first schism in the evolution of NoSQL was the meaning behind its name. Originally dubbed NoSQL in opposition to Structured Query Language (aka, SQL, the popular computer language for interacting with databases), or more precisely, RDBMSs, the name represented an abbreviation of the declarative “no to SQL.” In this early stage, NoSQL aspirations positioned it as a replacement for RDBMSs by offering a more cost-effective and flexible technology.

That aspiration was short-lived, however, as it was clear that RDBMSs still had a vital role in enterprise data architectures, and that NoSQL databases were more about using the right tool for the job. As a result, the term NoSQL evolved into the backronym, “not only SQL,” thus acknowledging that NoSQL is ideal for a new set of use cases, not the use cases for which RDBMSs already excel.

Interestingly, the NoSQL term is widely disliked by those in the industry for a variety of reasons. One major reason is that the name is actually a misnomer, as the NoSQL movement was about moving away from the rigid, predefined table structures of the relational model, and not a rejection of SQL. In fact, more and more NoSQL databases are adding SQL or SQL-like interfaces, making the name even more imprecise. Perhaps in the next few years we can expect a significant name change that more accurately describes the NoSQL technologies, and hopefully it will be a term that many of us will actually like.

Reliability
In the early days, the overwhelming reaction to NoSQL was that while it provided greater flexibility and scalability, it couldn’t be trusted to reliably store and retrieve data. The running joke among the veteran database die-hards was that NoSQL was acceptable only if you could afford to lose data. The jokes would go so far as to claim NoSQL was only useful for showing cat photos on websites.

Considering that even the huge RDBMS vendors sold products for many years that suffered from frequent crashes and data loss, it’s not surprising that NoSQL databases shared a similar start. But many NoSQL databases today are a far cry from the early versions, offering stronger data reliability that make them suitable for enterprise deployments. This has opened the door for NoSQL to support business-critical environments that require guaranteed high availability and disaster recovery, including large-scale applications that store sensitive personal information at some of the world’s largest financial services firms.

Expanding the Menu
At first, perhaps influenced by the stigma surrounding its reliability, NoSQL was almost exclusively used for so-called “commodity data,” i.e., data that needs to be stored and accessed but isn’t expected to provide high strategic value to the business or its customers. Examples included data for web page statistics, application state management, and system configurations. Businesses were quick to accept NoSQL for its cost-effective storage of commodity data, but weren’t yet ready to trust it with their most valued data.

These days, more types of data from the financial services, manufacturing, energy, and other industries are stored in NoSQL databases. Storage of sensitive customer information, critical machine sensor data for operational intelligence, and revenue-generating web content are among the more common uses for NoSQL today.

Convincing the Old Guard
Like all disruptive technologies, NoSQL’s biggest opponents from the outset were the developers and administrators facing a fundamental change to their modus operandi. With their experience and expertise on the trusted RDBMSs, would it seem interesting at all for them to pursue NoSQL?

NoSQL could be perceived as a threat to job security, reducing the need for database administration in favor of something closer to simple maintenance that would ensure the database stayed up and running. Also, database purists didn’t like the thought of tossing out ACID (Atomicity, Consistency, Isolation, Durability) properties meant to guarantee that database transactions were processed reliably in RDBMSs. Critics pointed to early NoSQL failures, some of which were on a grand scale, to underscore the value of using a tried and true technology like RDBMSs.

NoSQL today is no longer seen as merely a trend, and has escaped from its early challenges, unlike the object-oriented databases and their quest to gain traction in an RDBMS-centric world. The leading NoSQL vendors today have much stronger reputations for big successes than for big failures. Much of the baggage, real and perceived, of the early generations of NoSQL databases has been left behind. Even the old guard of the RDBMS world is accepting NoSQL as a viable component in their enterprise architecture, and enterprises are finding that if they don’t explore NoSQL technologies, they are leaving themselves at a disadvantage.

What’s Old is New
NoSQL databases are beginning to look a lot like RDBMSs from certain angles. As an example, keeping in mind that “relations” in the relational model are tables, some NoSQL databases like Apache HBase and MapR-DB have table structures that essentially make them superficially look relational. They use the familiar columns and rows, with the added benefit of supporting “sparse data” in which you might have many possible columns per row, but only some of which are actually populated. This data model is important when you store records that differ in attributes across the entire database, which is a model that RDBMSs cannot handle efficiently.

A growing and significant trend is the use of SQL query engines to access NoSQL databases, which make more NoSQL systems look relational. Open source projects like Apache Drill provide SQL access to a variety of data formats, including JSON (JavaScript Object Notation), thus bringing relational capabilities to systems that are not based on the relational model. With the ubiquity of SQL and the rise of NoSQL, you can expect more enterprises to run third-party business intelligence and analytics tools in a “SQL-on-NoSQL” stack, thus blurring the differences between NoSQL and RDBMSs from an end-user perspective.

What’s Up Next?
NoSQL has come a long way since a database was first described using the term, and there’s still a long way it can go. According to figures from Market Research Media, the global NoSQL market will reach $3.4 billion in 2020, representing a compound annual growth rate of 21% for the period of 2015 - 2020.

What can we expect in the coming years? It’s probably no question that there will be a lot of interesting innovations, and maybe some that few could have predicted today. Let me excuse myself from making any bold predictions here, so I’ll stick to some of the foreseeable next steps. For example, SQL-on-NoSQL will continue to gain traction to let organizations use familiar desktop tools on more data sources. As mentioned earlier, perhaps a name change to NoSQL is in order. More vendors and databases will continue to appear, in an already hot and perhaps crowded market. And as the phenomenon of big data becomes more commonplace in enterprises around the world, the more successful NoSQL vendors will deliver architectures that enable tighter, more real-time integrations with Hadoop.

More Stories By Dale Kim

Dale is Director of Industry Solutions at MapR. His technical and managerial experience includes work with relational databases, as well as non-relational data in the areas of search, content management, and NoSQL. Dale holds an MBA from Santa Clara University, and a BA in Computer Science from the UC Berkeley.