2019 Database Trends – SQL vs. NoSQL, Top Databases, Single vs. Multiple Database Use
Wondering which databases are trending in 2019? We asked hundreds of developers, engineers, software architects, dev teams, and IT leaders at DeveloperWeek to discover the current NoSQL vs. SQL usage, most popular databases, important metrics to track, and their most time-consuming database management tasks. Get the latest insights on MySQL, MongoDB, PostgreSQL, Redis, and many others to see which database management systems are most favored this year.
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 these numbers might shock, there's no mistaking the rise in popularity of MySQL, MongoDB, and PostgreSQL. So how does this survey compare to best-known source for database management system trends? DB-Engines Ranking - Trend Popularity report places these leaders in the top 5, but Oracle keeps hold at number one and Microsoft SQL Server at number 3.
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.
Query response time was not only the most tracked metric, but also the majority with 51.8% of responses! We expected this to lead as it came in at 30.8% from a Most Time-Consuming PostgreSQL Management Task report we compiled in October of 2018, but significantly increased when we expanded this question to all database management systems. Query speed is an extremely important metric to track on a continuous basis so you can identify slow-running queries that could be affecting your application performance. Many DBA's use a Slow Query Analyzer tool to identify problem queries, see which sort of query it is associated with, understand their queries by time range, and find the top queries causing read-load in your system to identify those queries that are not indexed.
Coming in at number two was reliability with 18.2% from our respondents. Needless to say, while outages are less common than slow queries, if your databases goes down, it will have the most serious impact on your performance. That's why it's critically important to implement a high availability framework for your production deployments to keep your databases online if there's an outage in one of your datacenters.
Memory then came in at number three with 8.2% of responses. The more memory you have available, the better your database should perform. Both understanding and monitoring memory usage should be high on your list, as insufficient or exhausted memory will cause your database to read and write data to your disk which is dramatically slower.
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.