Though NoSQL originally developed as a flexible and agile alternative to relational database systems, non-relational databases haven’t yet gained wide acceptability in the large enterprise segment. The market for NoSQL is growing, but SQL still has a large clientele and this is likely to remain so in the near future.
Given the ever-increasing volumes of data and the need to interact between different databases, quite a few companies are beginning to adopt data technologies that enable easy scalability, non-relational capability and speed of processing. NoSQL databases have proliferated in recent years to cater to the growing need for quick storage of and access to very large volumes of data across a multiplicity of servers. This requires scalability at a level that relational databases are not equipped for.
As Internet computing grows, so also will the demand for processing unstructured data.
Despite this, many enterprises still prefer using SQL database systems for a number of reasons, the primary one being their compliance with ACID (atomicity, consistency, isolation and durability) assurances, which guarantees a high level of reliability. Another reason that probably discourages large organizations from deploying NoSQL databases is the scarcity of NoSQL developers due to the fact that NoSQL is still a relatively new technology. On the other hand, SQL is a mature technology and there’s no dearth of RDMS experts. Also, many NoSQL database vendors are start-ups that lack the resources to offer global support and maintenance along the lines of what is offered by large companies such as IBM and Oracle. Though NoSQL technology offers developers the flexibility and agility necessary to process different data types in real time, the relatively low penetration of NoSQL databases in the large enterprise environment is also due to the fact that SQL databases have been in use at the enterprise level for years now and have proved to be relatively reliable.
The challenge of dealing with unstructured data
However, most businesses today can’t afford to ignore the potential that huge amounts of unstructured data generated through Facebook, Google, Twitter and Amazon hold in relation to delivering insights into customer behavior and ever-evolving market trends. In order to stay competitive, companies will need to invest more in big data analysis. According to IDC, roughly 90% of data generated globally over this decade is likely to be unstructured.
With a view to address the problem that developers face when working with data from a number of different sources, EspressoLogic recently announced that it had introduced a new capability that would enable developers to access and combine NoSQL and SQL data in one REST API. Though this recently added functionality is applicable only to NoSQL data in MongoDB at present, Espresso Logic CEO, R. Paul Singh said that the company was open to including other NoSQL databases if the need arose in future.
In order to cater to the growing demand for scalability and architectural flexibility, a number of SQL database vendors have upgraded their relational databases to include NoSQL capabilities. The Oracle 12 version has the added functionality needed to process JSON data. Earlier this year, EnterpriseDB added NoSQL features to its PostgreSQL version 9.4.
On August 19, EnterpriseDB announced that it was offering a free NoSQL-compatible development environment, Postgres Extended Datatype Developer Kit (PGXDK), on AWS (Amazon Web Services). The developer kit, which is scheduled to be launched on September 10, seeks to enable programmers to use Postgres almost as though it were a NoSQL solution. The kit is designed to help developers use PostgresSQL’s NoSQL capabilities to develop applications.
Adding NoSQL functionality to relational databases has some advantages. Whereas NoSQL-only databases are not ACID-compliant, SQL systems with NoSQL functionality enable NoSQL processing with atomicity and consistency guarantees. Also, developers have the option of using SQL rather than querying through NoSQL. Relational databases with NoSQL functionality might even be faster than NoSQL databases. At least that’s what EnterpriseDB claims. According to the company’s principal system engineer, Postgres performs faster than MongoDB when processing the same JSON data.
On the other hand, Splice Machine offers a NoSQL Hadoop database with SQL querying functionality. According to the company, this delivers greater speed than a conventional SQL database.
Going forward, it’s likely that both SQL and NoSQL solutions will develop alongside in order to address the different needs of customers. As Internet computing grows, so also will the demand for processing unstructured data.
How are you using NoSQL solutions in your software architecture? Let us know.