Given the rapid pace of development in technology, the trends that are considered cutting-edge today could very well be old news by tomorrow. It isn’t uncommon for proponents and fans to hype new technologies. Some even take quite the hostile position and hastily label the current generation as dead or obsolete, willfully overlooking the extent to which the technologies they dismiss are actually proven and well-established.
For instance, SQL has enjoyed quite a sustained period of dominance. The top four database systems in use today are SQL-based. Its user communities also remain strong. Anyone interested in using the technology has access to support from both developers and peers. Knowledge bases are likewise extensive. Users can access a host of SQL cheat sheets and guides online to help them use the technology even without formal training.
However, the boom of big data and analytics has recently given rise to NoSQL as an alternative database system. The volume and velocity of unstructured data involved in such efforts have made NoSQL databases the more practical and fitting choice. Because of this, some upstart NoSQL and big data advocates now preach NoSQL to be the panacea for big data needs. SQL is inevitably dismissed as obsolete.
But has SQL really shown its age in today’s landscape, or is it all just a case of “shiny object syndrome” infecting NoSQL evangelists? And should there even be an SQL versus NoSQL debate to be had anyway?
Dilemmas of choice
To be fair, the merits of NoSQL are hardly pure hype. NoSQL does have real advantages when used for big data processing and applications. NoSQL databases don’t have a set rigid schema so even large volumes of unstructured data can simply be added into them without risking affecting the database’s integrity. This flexibility makes NoSQL the more viable choice if scalability is of importance.
Since big data has been considered as one of those “adopt or die” technologies for organizations, it’s only natural for developers and businesses to gravitate towards NoSQL for their database needs. The decision is often easier for new ventures and projects, since they can start from scratch and use NoSQL from the onset should they so choose. Many projects may need to make adjustments and pivot in the future – things that are difficult to achieve when using SQL. So, using a flexible and scalable database becomes the more attractive option.
However, those that have been around face the dilemma of reconciling the need to adopt new technologies and their existing investments. Chances are, they may already be using SQL quite extensively. Migrating from SQL to NoSQL can create issues. For example, Twitter initially struggled in its move to ditch SQL in favor of NoSQL. Even today, the company still maintains some legacy SQL stores as part of its infrastructure.
In addition, just because something is lauded as the “in” thing doesn’t mean that it’s the right tool for the job. The failed launch of Healthcare.gov back in 2013 was partly due to its use of NoSQL, which, in hindsight, was a poor choice for handling healthcare information, which relies mainly on structured data.
The hype surrounding NoSQL leads most to overlook what makes SQL relevant today. While SQL might not be the more fitting choice for certain big data use cases, this doesn’t mean that SQL now suddenly finds itself without value or use. To start, SQL is a proven technology. It has worked and continues to work for many enterprise systems and global applications that serve mission-critical functions.
SQL can even shine in some areas of data and analytics. SQL data can be more readily understood even by ordinary users. SQL queries are also easy to perform. It isn’t a tough language to learn and use, allowing other business roles like marketers and managers to readily work with their data for analytics purposes. Reports can be generated with far greater ease from SQL’s structured data.
Organizations and developers must not fall into the trap of fear of missing out of NoSQL. If the concern stems mainly from the pressure to adopt big data, they must even first consider if they are handling big data in the first place to warrant considering abandoning SQL.
Chances are, unless you’re truly dealing with millions of unstructured records that have to be stored and processed quickly, SQL will be able to handle your database needs just fine.
And even if you do have to process big data, there are ways to still use SQL. Aggregators and pre-processors can be used to convert unstructured data to structured data. Some more advanced solutions even use artificial intelligence and machine learning to automate and perform these processes. Blended systems can also be created so that data from NoSQL systems can be passed on to SQL systems seamlessly.
Modern development tools are also adapting to provide integration and support to SQL. Microsoft SQL Server, for example, now supports running R and Python within the machine to enable big data processes to be executed where the data resides. SQL Server can also be deployed in Kubernetes Clusters.
For decision-makers, it’s important not to be so easily swayed by hype surrounding emerging technologies. No one should be forced to choose between one technology over another quite hastily. Each organization’s case is unique. What works for one may not work for the other.
Taking into consideration one’s specific context would greatly help in determining the advantages and disadvantages of one choice versus the next. Doing so can help organizations avoid costly migration and transition issues that could derail an otherwise functioning tech ecosystem.
Though the SQL versus NoSQL debate continues to crop up in most big data adoption discussions, it’s a moot and silly argument in reality. It’s possible to create a strategy that lets both technologies co-exist and for organizations to benefit based on their situation.