Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

[DZone Research] SQL or NoSQL, That Is the Question

DZone's Guide to

[DZone Research] SQL or NoSQL, That Is the Question

We take a look at the data from the DZone Guide to Databases survey about the usage of SQL and NoSQL databases in software development.

· Database Zone ·
Free Resource

Download "Why Your MySQL Needs Redis" and discover how to extend your current MySQL or relational database to a Redis database.

This article is part of the Key Research Findings from the DZone Guide to Databases: Relational and Beyond.

Introduction

For this year's DZone Guide to Databases, we surveyed software professionals from across the IT industry. We received 582 responses with a 79% completion rating. In this article, we dive into the data from this survey regarding the use of SQL and NoSQL databases. 

To Thine Own Database Be True

While we’re having a bit of fun with the wordplay here, the distinction between SQL and NoSQL databases in the world of software development is a very real one and will form the basis of our comparative analyses in this article. While SQL databases tended to have wider popularity among respondents, as we will see, NoSQL databases (specifically, MongoDB) proved more popular for certain development projects.

Among the general population of survey respondents, SQL databases dominated in both production and non-production environments. Among all respondents, MySQL proved the most popular database management system (DBMS). 49% told us they use MySQL in production and 54% reported using MySQL in non-production environments. Interestingly, Oracle proved a much more popular DBMS in production (44%) than non-production (30%) environments. PostgreSQL saw a similar, though statistically smaller, swing between environments. With 37% of respondents reporting to use PostgreSQL in production, it finished as the fourth most used DBMS in this environment. In non-production environments, however, PostgreSQL was the second most popular database management system (39%). NoSQL databases faired much worse. Only two NoSQL databases (MongoDB and Redis) had significant adoption rates, with 30% using MongoDB in production and 31% in non-production, and 24% using Redis in production and 18% in non-production. Despite the lower adoption rates for NoSQL, when we asked respondents which DBMSs they most enjoy, MongoDB (30%) finished in second behind MySQL (38%).

Given the above information, it’s not surprising that 50% of respondents reported working mostly with SQL and some NoSQL, and 33% said they work only with SQL. But do these distinctions hold up for all developers, despite the type of applications being developed? To answer this question, we compared the data we gathered on the types of software respondents develop to the data about the most popular database management systems. Let’s first concentrate on the result for production environments. For respondents who develop web applications, MySQL (52%), Oracle (41%), and MS SQL Server (39%) constituted the top three choices of DBMS in production. For enterprise business application developers, Oracle proved the most popular at 54%, followed by MongoDB (50%) and MySQL (47%). Among respondents developing native mobile apps, 69% told us they use MySQL, 45% reported using MongoDB, and another 45% said they use MS SQL Server; Oracle came in a close fourth with 43% of respondents. For production environments, it seems that non-relational databases, particularly MongoDB, have garnered far more popularity among enterprise business and native mobile application developers.

Interestingly, if we look at how these same types of developers (web, enterprise business, and native mobile) use these same database management systems in non-production environments, the popularity of SQL and NoSQL systems changes somewhat. Web app developers working in non-production environments reported MySQL (59%), PostgreSQL (41%), and MongoDB (34%) as their most used DBMS. Enterprise business app devs reported much the same, with 55% percent using MySQL, 40% using PostgreSQL, and 38% using Oracle (MongoDB finished in fifth among enterprise business app devs in non-production environments, with 35%). NoSQL databases took on a more important role among native mobile app developers, however, with 47% of mobile devs telling us they use MongoDB. In fact, MongoDB proved the second most popular option to use with native mobile apps in non-production, trailing only MySQL (70%).

Conclusion

By and large, it appears that most developers work with SQL databases. However, among those developers who told us they are planning to adopt a new DBMS this year, the top four options under consideration were all NoSQL databases: Cassandra (30%), MongoDB (28%), Neo4j (25%), and Amazon DynamoDB (24%). Thus, we could see an uptick in NoSQL database adoption in the coming year.

This article is part of the Key Research Findings from the DZone Guide to Databases: Relational and Beyond.

Read "Developing Apps Using Active-Active Redis Enterprise" and discover the advantages over other active-actve databases.

Topics:
database ,sql ,nosql ,dzone research ,database development ,dzone guide

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}