Databases

Finally, no JavaScript. On the other hand, it will now be exciting for software manufacturers who have earned a lot of money with database licenses over a long period of time. Where will this money go if open source databases are so popular? Perhaps into the enterprise, i.e. the magical cloud? The days of processor core based licenses are surely numbered, although probably in 2142 there will still be a DB2 installation running on some AIX machine in a bunker somewhere.

Only databases mentioned by at least five developers are mentioned below. There are practically no additional mentions beyond the pre-selection this year. The only one to stand out is Cockroach DB, which was developed specifically for horizontal scaling in containers and is compatible with PostgreSQL clients. However, even Cockroach DB was unable to crack the developer mark of 5. We are looking forward to 2021, when we will take Cockroach DB into the shortlist.

>Relevant data online as Excel

Databases developers use

  • Compared to the previous year, PostgreSQL makes the biggest leap and even overtakes MSSQL. Even more noteworthy, however, is Kafka, which did not reach 5 mentions in 2019 and has now jumped directly to 12th place. H2, a database that can be seamlessly integrated into a Java application, has also benefited greatly from its inclusion in the shortlist. Compared internationally, this is Switzerland doing its own thing.
  • It is also exciting that Elasticsearch has overtaken MongoDB - although MongoDB has fallen back rather than Elasticsearch growing strongly. Lucene, the base technology for Elasticsearch, also made a leap forward. The question remains unanswered as to whether developers have deliberately chosen this because they use Elasticsearch, or whether they use Lucene as their own solution.
  • If one takes into account that MariaDB is a fork of MySQL and adds up the mentions, then databases based on "MySQL" lead by a huge margin. The splitting of the MySQL project took place as a reaction to the takeover by Oracle - a reaction, which could be observed more than once by now (OpenOffice, Java uvm.). What this says about the Oracle, everyone must decide for himself.
  • As a small Swiss anecdote: Jackrabbit originated in Basel at Day (today Adobe) and serves as a basis for their content management system CQ5. Under the name "Adobe Experience Manager", this can be found in large corporations today.
  • In the area of high-performance key-value storages, Redis continues to expand the gap to Memcached.
  • Interestingly, etcd was not mentioned - a database that is used extremely frequently as the core of Kubernetes, but is probably not relevant here from the perspective of developers.

2020

  2019  
MySQL & MariaDB 486 MySQL & MariaDB 513
MySQL 321 MySQL 350
PostgreSQL 279 Microsoft SQL Server 261
Microsoft SQL Server 251 PostgreSQL 231
Oracle 223 Oracle 199
SQLite 188 SQLite 188
MariaDB 165 MariaDB 163
Elasticsearch 143 MongoDB 139
MongoDB 121 Elasticsearch 139
Redis 114 Redis 97
H2 110 Firebase 50
Kafka 74 Google Cloud Storage 47
Firebase 62 IBM Db2 30
Lucene 48 Memcached 28
IBM Db2 35 Amazon RDS/Aurora 26
InfluxDB 33 Amazon DynamoDB 26
Google Cloud Storage 30 Microsoft Azure Cosmos DB 21
Memcached 30 Neo4j 19
C-Tree 27 Cassandra 17
Amazon RDS/Aurora 20 Couchbase 17
Hazelcast 20 C-Tree* 11
Microsoft Azure Cosmos DB 19 Google BigQuerry 10
Amazon DynamoDB 19 H2* 9
Neo4j 17 Apache Hbase 9
Pervasive 16 Apache Hive 6
Cassandra 12 Amazon Redshift 5
SAP HANA 12    
Apache Jackrabbit Oak 9    
Google Cloud Datastore 7    
Couchbase 6    
Google BigQuerry 6    
Firebird 6    

Databases developers would like to use

At first glance, it becomes clear that the preferences go in the direction of NoSQL - especially MongoDB. Also eliciting some excitement are Elasticsearch for full-text searches and Neo4j for Graph databases. There is Firebase a NoSQL database, which can directly serve as a backend with an API for apps and single page applications.

PostgreSQL ranks third in SQL databases. But again, MySQL and MariaDB are in front of the classic SQL databases.

2020

  2019  
PostgreSQL 64 MongoDB 82
MongoDB 61 Elasticsearch 74
Elasticsearch 50 PostgreSQL 73
Kafka 49 Neo4j 45
Redis 34 Firebase 40
MySQL 29 Redis 38
Neo4j 28 Google Cloud Storage 34
Firebase 25 MySQL 29
Google Cloud Storage 25 Cassandra 29
Microsoft Azure Cosmos DB 21 MariaDB 24
Cassandra 21 SQLite 23
MariaDB 19 Microsoft Azure Cosmos DB 22
Couchbase 14 Couchbase 22
Google BigQuerry 13 Microsoft SQL Server 19
Amazon RDS/Aurora 12 Amazon DynamoDB 18
Hazelcast 11 Google BigQuerry 15
Microsoft SQL Server 10 Memcached 12
InfluxDB 10 Apache Hive 12
Memcached 9 Oracle 10
Lucene 8 Amazon RDS/Aurora 9
SQLite 7 Apache Hbase 9
Amazon DynamoDB 7 Amazon Redshift 6
Apache Hive 6    
Google Cloud Datastore 6    
H2 5    

Databases developers like

  • Here, too, PostgreSQL makes a big leap forward: Developers seem to appreciate the solution, which emerged from a project at the University of California/Berkeley in 1996. Amazing, considering that the basis for PostgreSQL was laid in 1985, so it is by far one of the oldest solutions on this list.
  • Malicious tongues could claim that, like whiskey, most databases are more appreciated with longer storage while JavaScript frameworks should be consumed as fresh as possible as with yogurt drinks . Let's see if the yogurt drinks turn into good hard cheese.
  • Once again, open source solutions come out on top. However, MS SQL also performs much better. Thus, the Microsoft solution is probably the most popular among proprietary databases, even if hardly any developers would like to use it again. Oracle is present once more and could even gain a little ground.
  • If we calculate the "usage/acceptance" factor here as well, PostgreSQL wins once again by a large margin, followed by SQLite, Elasticsearch, Redis and others. Interestingly, the same number of developers (121) say they like using MongoDB as developers who say they use it.

Like 2020

  Like 2019   Used 2020    
MySQL & MariaDB 351 MySQL & MariaDB 315 MySQL & MariaDB 486
PostgreSQL 261 MySQL 204 MySQL 321
MySQL 227 PostgreSQL 189 PostgreSQL 279
SQLite 166 SQLite 128 Microsoft SQL Server 251
Microsoft SQL Server 144 Microsoft SQL Server 123 Oracle 223
MariaDB 124 MongoDB 115 SQLite 188
MongoDB 121 MariaDB 111 MariaDB 165
Elasticsearch 119 Elasticsearch 98 Elasticsearch 143
Redis 111 Redis 86 MongoDB 121
Oracle 93 Oracle 71 Redis 114
H2 88 Firebase 44 H2 110
Kafka 70 Neo4j 33 Kafka 74
Firebase 52 Google Cloud Storage 23 Firebase 62
Lucene 41 Amazon DynamoDB 23 Lucene 48
Neo4j 40 Memcached 22 IBM Db2 35
Google Cloud Storage 32 Amazon RDS/Aurora 22 InfluxDB 33
InfluxDB 28 Microsoft Azure Cosmos DB 18 Google Cloud Storage 30
Memcached 26 Cassandra 17 Memcached 30
Cassandra 21 Couchbase 14 C-Tree 27
Amazon RDS/Aurora 18 IBM Db2 10 Amazon RDS/Aurora 20
Microsoft Azure Cosmos DB 18 Google BigQuerry 9 Hazelcast 20
Hazelcast 17 Apache Hbase 7 Microsoft Azure Cosmos DB 19
Amazon DynamoDB 16     Amazon DynamoDB 19
Google BigQuerry 13     Neo4j 17
IBM Db2 12     Pervasive 16
SAP HANA 12     Cassandra 12
Couchbase 11     SAP HANA 12
Google Cloud Datastore 10     Apache Jackrabbit Oak 9
C-Tree 9     Google Cloud Datastore 7
Apache Jackrabbit Oak 7     Couchbase 6
Apache Hive 6     Google BigQuerry 6
ArangoDB 6     Firebird 6
Firebird 5        
Pervasive 5        

Databases developers don't like

MySQL and MariaDB were also additionally listed together here. Nevertheless, three times as many developers like MySQL or MariaDB as don't like it.

But first a little thought experiment: Below we calculated a "like / dislike" score for the 10 most used databases (the higher the score, the better):

Redis 111 / 6 = 18.5
PostgreSQL 261/23 = 11.34
SQLite 166 / 17 = 9.76
H2 88 / 15 = 5.86
MariaDB 124 / 26 = 4.76
Elasticsearch 119 / 26 = 4.57
MongoDB 121 / 30 = 4.03
MySQL & MariaDB 351/115 =  3.05
MySQL 227 / 89 = 2.55
MS SQL 144 / 93 = 1.22
Oracle 93 / 136 = 0.68

  • From this point of view, Microsoft SQL and Oracle clearly mark the final positions. Aat least, Microsoft SQL can still inspire slightly more developers than annoy them. Oracle is far behind with a factor of 0.68.
  • It is also interesting to see that MariaDB is twice as popular with its own users as MySQL. We don't want to focus on one company here, but these numbers force us to mention that this change probably came about as a result of the Oracle acquisition. Since both databases (Oracle and MySQL) are in the top 5 most used solutions, this insight should not go unmentioned.
  • Regis has the highest feel-good factor here; a solution that can usually be integrated into a software project with very little effort, but often extremely high added value. This is because Redis can't do much, but what it can do it does absolutely great - store data with a key and deliver it back again. The speed here is so great that 20 years ago the Redis developers would have been considered to be in league with the devil.
  • But PostgreSQL can also be seen here: 11 times more developers state that they like to work with it than those who don't have so much fun with it.

Don't like 2020

  Don't like 2019   Like 2020    
Oracle 136 Oracle 103 MySQL & MariaDB 351
MySQL & MariaDB 115 Microsoft SQL Server 92 PostgreSQL 261
Microsoft SQL Server 93 MySQL & MariaDB 85 MySQL 227
MySQL 89 MySQL 68 SQLite 166
IBM Db2 42 IBM Db2 31 Microsoft SQL Server 144
MongoDB 30 MongoDB 22 MariaDB 124
MariaDB 26 SQLite 20 MongoDB 121
Elasticsearch 26 MariaDB 17 Elasticsearch 119
SAP HANA 25 Elasticsearch 17 Redis 111
PostgreSQL 23 Microsoft Azure Cosmos DB 14 Oracle 93
Firebase 22 PostgreSQL 13 H2 88
Pervasive 20 Google Cloud Storage 12 Kafka 70
Amazon DynamoDB 18 Redis 10 Firebase 52
SQLite 17 Memcached 10 Lucene 41
Kafka 16 Cassandra 10 Neo4j 40
H2 15 Amazon DynamoDB 16 Google Cloud Storage 32
C-Tree 14 Firebase 9 InfluxDB 28
Google Cloud Storage 13 Amazon RDS/Aurora 9 Memcached 26
Amazon RDS/Aurora 13 Google BigQuerry 9 Cassandra 21
Microsoft Azure Cosmos DB 13 Couchbase 8 Amazon RDS/Aurora 18
Neo4j 11 Teradata 8 Microsoft Azure Cosmos DB 18
Cassandra 10 Amazon Redshift 7 Hazelcast 17
Couchbase 10 Neo4j 6 Amazon DynamoDB 16
Memcached 9 Apache HBase 6 Google BigQuerry 13
Apache Jackrabbit Oak 9 Apache Hive 6 IBM Db2 12
Lucene 9     SAP HANA 12
Firebird 8     Couchbase 11
Hazelcast 8     Google Cloud Datastore 10
ArangoDB 8     C-Tree 9
Google BigQuery 7     Apache Jackrabbit Oak 7
Teradata 7     Apache Hive 6
Google Cloud Datastore 7     ArangoDB 6
Redis 6     Firebird 5
Apache Hbase 6     Pervasive 5
ADABAS 6        
Apache Hive 5        
Amazon Redshift 5        
InfluxDB 5        

Databases developers want to adopt

  • PostgreSQL has made a big step here as well. We can only speculate about the reason. Is it the JSONB support that makes PostgreSQL a NoSQL/document database? Is it some other new advantage that we are not aware of? Or is it many developers migrating from other SQL databases to a new solution and becoming happy with PostgreSQL? Or all of the above?
  • The MySQL/MariaDB combo remains in second place, while Elasticsearch moves up to third. The latter is generally the leading solution for free text search. But it also seems to be finding wider and wider use for other areas around storing, indexing and searching unstructured data.
  • Here, too, Kafka has moved to the forefront - a distributed streaming platform for events and data, which in the broadest sense is also a highly specialized database. In times of asynchronous workflows, parallelization, containerization, microservices and horizontal scaling, a central solution that manages data streams is essential.
  • The trio of Google Firebase, Azure Cosmos DB and Amazon DynamoDB is also interesting: although they differ greatly in their functionality and underlying technologies, they have one thing in common: they are all databases that are offered as an extremely efficient service by a single large cloud provider. Despite high vendor lock-in, this principle seems to be appealing. 

Adopt 2020

  Adopt 2019   Would like to use 2020    
PostgreSQL 101 PostgreSQL 64 PostgreSQL 64
MySQL & MariaDB 57 MySQL & MariaDB 61 MySQL & MariaDB 48
Elasticsearch 48 MongoDB 39 MongoDB 61
MongoDB 46 MariaDB 32 Elasticsearch 50
Redis 44 Elasticsearch 32 Kafka 49
Kafka 36 Redis 28 Redis 34
MariaDB 33 MySQL 22 MySQL 29
MySQL 24 SQLite 22 Neo4j 28
SQLite 20 Microsoft SQL Server 16 Firebase 25
Microsoft SQL Server 19 Oracle 9 Google Cloud Storage 25
Firebase 19 Google Cloud Storage 8 Microsoft Azure Cosmos DB 21
H2 16 Firebase 8 Cassandra 21
Neo4j 14 Neo4j 6 MariaDB 19
Google Cloud Storage 13 Cassandra 5 Couchbase 14
Microsoft Azure Cosmos DB 11 Microsoft Azure Cosmos DB 4 Google BigQuerry 13
Cassandra 9 Amazon DynamoDB 4 Amazon RDS/Aurora 12
Amazon DynamoDB 8 Amazon RDS/Aurora 4 Hazelcast 11
Amazon RDS/Aurora 7 IBM Db2 3 Microsoft SQL Server 10
Google BigQuerry 7     InfluxDB 10
InfluxDB 7     Memcached 9
Lucene 7     Lucene 8
Memcached 5     SQLite 7
Google Cloud Datastore 5     Amazon DynamoDB 7
Couchbase 4     Apache Hive 6
SAP HANA 4     Google Cloud Datastore 6
Oracle 3     H2 5

Databases developers want to replace

  • According to the survey, the replacement of MySQL and MariaDB is high on the wish list; only Oracle scores worse.
  • This is in stark contrast to PostgreSQL, which is hardly mentioned despite its strong distribution. Again, the thought process around the benefit/replacement factor follows (the higher the value, the fewer users demand replacement):

(How many use it / how many want to replace it = factor).

Redis 114 / 2 = 57 
PostgreSQL 279 / 10 = 27.9
MongoDB 121 / 19 = 16.36
Elasticsearch 143 / 10 = 14.3
SQLite 188 / 18 = 10.44
MariaDB 165 / 22 = 7.5
MySQL & MariaDB 486 / 109 = 4.45
Microsoft SQL Server 251 / 60 = 4.18
MySQL 321 / 87 = 3.68
Oracle 223 / 115 = 1.93
IBM Db2 35 / 23 = 1.52

  • Thus, it is easy to see that IBM DB2 and Oracle are even more unpopular than MySQL or MSSQL. In absolute contrast to this are Redis and PostgreSQL, which feel significantly less replacement pressure with factors of 15 and 30.

Replace 2020

  Replace 2019   Used 2020      
Oracle 115 MySQL & MariaDB 74 MySQL & MariaDB 486
MySQL & MariaDB 109 MySQL 66 MySQL 321
MySQL 87 Oracle 61 PostgreSQL 279
Microsoft SQL Server 60 Microsoft SQL Server 55 Microsoft SQL Server 251
IBM Db2 23 IBM Db2 20 Oracle 223
MariaDB 22 MongoDB 19 SQLite 188
MongoDB 19 SQLite 13 MariaDB 165
SQLite 18 PostgreSQL 8 Elasticsearch 143
Pervasive 18 MariaDB 8 MongoDB 121
Firebase 14 Elasticsearch 6 Redis 114
H2 11 Google Cloud Storage 6 H2 110
PostgreSQL 10 Firebase 6 Kafka 74
Elasticsearch 10 Redis 4 Firebase 62
Memcached 9 Microsoft Azure Cosmos DB 4 Lucene 48
SAP HANA 9 Memcached 4 IBM Db2 35
C-Tree 8 Couchbase 4 InfluxDB 33
Neo4j 7 Cassandra 3 Google Cloud Storage 30
Lucene 7 Amazon RDS/Aurora 3 Memcached 30
Cassandra 6 Apache Hbase 3 C-Tree 27
Couchbase 6 Teradata 3 Amazon RDS/Aurora 20
Apache Jackrabbit Oak 6     Hazelcast 20
Firebird 5     Microsoft Azure Cosmos DB 19
        Amazon DynamoDB 19
        Neo4j 17
        Pervasive 16
        Cassandra 12
        SAP HANA 12
        Apache Jackrabbit Oak 9
        Google Cloud Datastore 7
        Couchbase 6
        Google BigQuerry 6
        Firebird 6

Databases developers want to keep

  • If the results from the "Replace" section are placed next to "keep" here, it becomes evident that there is a strong split among users as to whether the solution should be kept or replaced.
  • For example, 141 developers want to keep Microsoft SQL, while 60 developers recommend replacing it. It can be concluded from this that MSSQL will probably continue to exist for a long time despite numerous calls for its replacement.
  • The opposite is true for IBM Db2, which has just 6 recommendations for continuation out of 23 mentions on the "replace" list. The situation is similar for Oracle.
  • Little attention has been paid to SQLite, an inconspicuous SQL database which, like H2, is mostly used directly embedded in the application. This is despite the fact that it is practically omnipresent - for example in Chrome and Firefox, where countless SQL queries run on SQLite practically all the time. But Windows 10 is also increasingly using SQLite in core operating system functionalities. And Apple is also using SQLite in countless of its own applications, starting with iTunes and ending with the iPhone itself. You could say SQLite is perhaps the most used and least noticed database.
Keep 2020   Keep 2019   Replace 2020  
PostgreSQL 156 MySQL 130 Oracle 115
MySQL 141 PostgreSQL 115 MySQL & MariaDB 109
MySQL & MariaDB 104 Microsoft SQL Server 98 MySQL 87
SQLite 103 SQLite 78 Microsoft SQL Server 60
MariaDB 87 MongoDB 60 IBM Db2 23
Elasticsearch 77 MariaDB 59 MariaDB 22
Oracle 68 Elasticsearch 59 MongoDB 19
Redis 63 Oracle 49 SQLite 18
H2 57 Redis 44 Pervasive 18
MongoDB 49 Firebase 20 Firebase 14
Kafka 32 Memcached 15 H2 11
Firebase 24 Google Cloud Storage 13 PostgreSQL 10
Lucene 22 Amazon RDS/Aurora 9 Elasticsearch 10
Memcached 13 Neo4j 9 Memcached 9
InfluxDB 13 Couchbase 8 SAP HANA 9
Google Cloud Storage 12 Cassandra 8 C-Tree 8
Amazon RDS/Aurora 12 Amazon DynamoDB 6 Neo4j 7
Neo4j 11 Google BigQuerry 5 Lucene 7
C-Tree 9     Cassandra 6
Hazelcast 9     Couchbase 6
Amazon DynamoDB 8     Apache Jackrabbit Oak 6
Microsoft Azure Cosmos DB 7     Firebird 5
IBM Db2 6        
Cassandra 6        
Google BigQuery 4        
SAP HANA 4        
Google Cloud Datastore 4        

>Table of contents show detail hide detail