SQL vs. NoSQL
As any database administrator knows, the first question you have to ask yourself is whether to use a SQL or NoSQL database for your application. What’s the difference between the two?
Also known as relational databases, define and manipulate data based on structured query language (SQL). These are most popularly used and useful for handling structured data that organizes elements of data and standardizes how they relate to one another and to different properties.
Also known as non-relational databases, allow you to store and retrieve unstructured data using a dynamic schema. NoSQL is popularly used for its flexible ability to create a unique structure, and can be document, graph, column, or even KeyValue organized as a data structure.
SQL has had a large lead over the non-relational alternatives for decades, but NoSQL is quickly closing the gap with popular databases such as MongoDB, Redis, and Cassandra. Though many organizations are choosing to migrate from legacy databases, such as Oracle, not all are moving to NoSQL way. Based on our findings, SQL still holds 60% with rising demand for systems such as PostgreSQL:
SQL Database Use: 60.48%
NoSQL Database Use: 39.52%
Most Popular Databases
So, which databases are most popular in 2019? Knowing that SQL was used by over 3/5 of respondents, you might assume Oracle stole the show. Guess again. MySQL dominated this report with 38.9% use, followed by MongoDB at 24.6%, PostgreSQL at 17.4%, Redis at 8.4%, and Cassandra at 3.0%. Oracle trailed behind at just 1.8% from these database reporters, and CouchDB, Berkeley DB, Microsoft SQL Server, Redshift, Firebase, Elasticsearch, and InfluxDB users combined our Other category at 2.4%.
While we expected to see a much higher presence of Oracle database users, their representation was low at the world’s largest developer expo.
Single Database vs. Multi-Database Use
Multi-database type use has exploded over the past decade, compared to the traditional strategy of throwing all of your eggs in one basket. How much so? Almost half of the organizations we spoke with actually use more than one type of database to power their applications than a single database! 44.3% reported using multiple databases, while 55.7% are operating with one:
SQL & NoSQL Multiple Database Combinations
So, knowing that almost half of our respondents are combining multiple databases to support their products, what types of database management systems are they using together? This one is less of a shocker, 75.6% of multiple database type use is made up of a combination of both SQL and NoSQL databases. This solidifies that case that, for many organizations, one size does not fit all. While you might have a preference over SQL vs. NoSQL, there’s no denying the fact that they both offer clear advantages of the other. Instead of limiting your organization to one database type, evolve (or develop) your data strategy for compatibility so that these powerful database management systems can complement each other and fill the gaps in your data needs!
SQL + NoSQL Database Use: 75.6%
SQL + SQL Database Use: 14.6%
NoSQL + NoSQL Database Use: 9.8%
Most Popular Multiple Database Type Combinations
If you’re a single database type user who’s considering adding another database type to your mix, this section might be of high interest – which databases, SQL and NoSQL alike, are most popularly used together.
The clear winner with over 1/3 of multiple database type use is the combination of MySQL and MongoDB. While MongoDB is often considered an alternative to MySQL, the two databases do work well together when properly designed. The second most popular combination was MySQL and PostgreSQL together. These two SQL databases are clear competitors, but can be jointly used to store different data sets. As you can see in the above section graph, the 9.76% representation of MySQL and PostgreSQL comprises a large majority of the SQL + SQL use in multiple databases.
MySQL + MongoDB: 34.15%
MySQL + PostgreSQL: 9.76%
MongoDB + PostgreSQL: 7.32%
MongoDB + Redis: 7.32%
MySQL + MongoDB + PostgreSQL: 4.88%
MySQL + MongoDB + PostgreSQL + Redis: 4.88%
Most Time-Consuming Database Management Task
So, now that we know which database management systems, types, and use combinations are most popular, let’s take a look at what’s eating up our time on the database management front. As anyone who’s managed a database before knows, there are countless tasks involved with maintaining a healthy production deployment. So, we were not surprised to see such a diverse response in our most time-consuming database management task question.
Monitoring came in at number one with 12.6% from our respondents, barely breaking ahead of backups, managing disk space, scaling, and joining tables who all tied for number two with 11.6% each. Standalone at number three was maintaining and redistributing changes between views and stored programs at 8.7%, and again a tie at number 4 with 7.2% for each cleaning and database setup. Upgrades came in at number five with 6.5%, and a dozen other tasks made up the 11.6% Other category, including migrations, queries, comparing, tuning, and replication.
Most Important Metric Tracked For Database Performance
While we saw a wide variety of responses for the most important database management task, the most important metric to track for performance had three significant leaders.
Thanks to the hundreds of participants who contributed to the cloud database trends report at DeveloperWeek 2019! We are excited to share these insights, and hope to hear your thoughts below in our comments.