数据库

分享:

本部分中的问题仅由使用数据库的受访者回答。

过去 12 个月,您使用过哪种(哪些)数据库?

52%

MySQL

38%

PostgreSQL

28%

SQLite

27%

MongoDB

27%

Redis

18%

MS SQL Server

18%

MariaDB

排名与去年相似,但 MySQL 的份额大幅下降。

过去 12 个月,您使用过哪种(哪些)数据库?

51%

MySQL

48%

MS SQL Server

43%

PostgreSQL

27%

Oracle Database

21%

SQLite

20%

MongoDB

18%

Redis

15%

MariaDB

8%

DB2

7%

Amazon Redshift

5%

ClickHouse

4%

H2

3%

Cassandra

3%

HBase

2%

Neo4j

12%

其他

4%

64%

MySQL

48%

PostgreSQL

36%

Redis

32%

MS SQL Server

30%

SQLite

28%

MongoDB

22%

MariaDB

21%

Oracle Database

9%

H2

4%

Amazon Redshift

4%

DB2

3%

Cassandra

3%

ClickHouse

2%

Neo4j

2%

HBase

9%

其他

61%

MySQL

50%

PostgreSQL

36%

SQLite

33%

Redis

33%

MongoDB

25%

MariaDB

23%

MS SQL Server

13%

Oracle Database

8%

H2

3%

Cassandra

3%

Amazon Redshift

2%

Neo4j

2%

DB2

2%

ClickHouse

1%

HBase

11%

其他

1%

一些问题(包括这个问题)的结果根据受访者的 SQL 使用情况分为 3 组。将 SQL 作为其 3 种主要编程语言之一的开发者被归到“SQL 为主要语言”组,在过去 12 个月中使用过 SQL 的每个人被归到“SQL 为次要语言”组。第三个,也是参与最多的组,“SQL 为第一语言”,包括那些将 SQL 列为主要语言的第一位的人。请注意,对于本部分中的大多数问题,“SQL 为第一语言”组的回答不到 100 个;因此,应谨慎解读数据。

回答也按照受访者使用的数据库进行了拆分。

如您所见,MS SQL Server 和 Oracle Database 这两个老手在 SQL 专业人士中更受欢迎,而 SQLite 和 MongoDB 在偶尔使用 SQL 的人中更受欢迎。

按区域显示的数据库相对受欢迎程度

MySQLPostgreSQLSQLiteMongoDBRedisMS SQL ServerMariaDBOracle Database
9%5%22%22%-33%5%-7%-6%非洲、中东、中亚
19%-10%-25%16%-53%50%44%-15%阿根廷
-1%36%3%27%-5%28%8%42%巴西
-29%14%13%0%-27%18%-14%-23%加拿大
42%-46%-11%0%67%-36%-24%3%中国
-24%34%4%2%-9%14%17%7%东欧、巴尔干半岛和高加索地区
3%31%1%11%-31%-34%107%4%法国
-22%28%24%6%-12%5%102%15%德国
0%-5%-7%47%-24%5%-50%29%印度
-1%4%4%-47%-13%-46%6%-27%日本
9%22%-13%24%-49%57%32%48%拉丁美洲
26%-2%1%37%-47%78%84%6%墨西哥
-21%21%9%-4%-6%53%43%-26%北欧和比荷卢联盟
-22%21%-1%7%-15%14%23%16%其他欧洲地区
-9%3%-2%-3%-2%23%9%-17%东南亚和大洋洲其他地区
-38%59%-3%-15%17%-14%-27%-42%俄罗斯联邦
11%-38%-29%-10%-1%-37%80%49%韩国
7%14%-12%26%-39%16%87%83%西班牙
-16%11%-14%25%-18%82%-47%24%土耳其
-20%37%-9%17%25%-6%-31%-73%乌克兰
-20%9%9%-19%-6%26%0%-39%英国
-29%10%6%-18%-17%21%-30%-13%美国
-73%0107%

相对受欢迎程度的数字是什么意思?举例来说,MS SQL Server 在阿根廷的份额为 27%,而其全球份额为 18%。将差异 (9%) 除以 18%,得到 +50%。我们将此称为 MS SQL Server 在阿根廷的相对受欢迎程度。

数据库的受欢迎程度因地区而异。例如,MariaDB 在法国的份额为 36%,是其全球份额的两倍多。至于表中未列出的数据库,H2 在韩国非常受欢迎,印度为 Amazon Redshift 和 Cassandra,西班牙为 DB2,中国为 HBase,北欧和比荷卢联盟为 Neo4j,俄罗斯为 ClickHouse。

按主要编程语言显示的数据库相对受欢迎程度

MySQLPostgreSQLSQLiteMongoDBRedisMS SQL ServerMariaDBOracle Database
-16%-43%12%-34%-49%-38%-26%-35%C
-25%-11%12%-6%-18%210%-19%-13%C#
-19%-40%5%-25%-42%-31%-35%-30%C++
-2%-13%60%10%-35%-39%-6%-26%Dart
20%40%5%44%107%-48%21%-56%Go
15%1%-16%6%13%-12%-5%98%Java
14%6%-9%30%3%3%23%0%JavaScript
-16%-3%57%-5%-18%-50%-16%-18%Kotlin
67%-3%16%-8%46%-16%182%-43%PHP
-3%15%28%9%-7%-18%-5%-8%Python
9%73%16%-12%89%-44%-2%-73%Ruby
-19%42%64%4%45%-49%17%-59%Rust
20%24%3%0%27%85%24%90%SQL
-5%23%-37%20%29%-35%-31%10%Scala
-15%-33%69%-24%-52%-54%-35%-52%Swift
-8%41%-3%40%27%0%9%-23%TypeScript
-73%0210%

部分语言和数据库组合很受开发者欢迎,包括:

  • C# 和 MSSQL
  • Kotlin、Swift 或 Dart 与 SQLite
  • Go 或 Ruby 和 Redis
  • Java 和 Oracle
  • PHP 和 MariaDB

过去 12 个月,您使用过哪种(哪些)数据库?

MySQLPostgreSQLSQLiteMongoDBRedisMS SQL ServerMariaDBOracle Database
51%58%63%68%52%75%60%MySQL
37%49%48%54%39%47%43%PostgreSQL
31%36%31%34%31%40%26%SQLite
33%35%31%41%30%38%30%MongoDB
35%38%33%40%26%41%26%Redis
18%18%20%19%17%20%29%MS SQL Server
25%22%25%25%27%20%20%MariaDB
13%13%11%12%11%19%13%Oracle Database
3%3%2%3%3%4%2%7%DB2
3%4%2%4%5%3%4%4%Cassandra
2%2%1%2%3%1%2%2%HBase
2%3%2%4%3%2%2%2%Neo4j
3%4%3%4%4%4%3%4%Amazon Redshift
7%9%6%8%9%6%9%15%H2
3%3%2%3%5%1%3%2%ClickHouse
6%10%8%8%9%9%8%7%其他
075%

这两个明显的领先者相互直接竞争,MySQL 在 PostgreSQL 用户中不太受欢迎,反之亦然,此外,19% 的受访者同时使用这两种工具。

您经常使用哪种(哪些)工具处理数据库?

23%

22%

带数据库插件的 JetBrains IDE

20%

21%

命令行

19%

18%

DataGrip

17%

20%

MySQL Workbench

您经常使用哪种(哪些)工具处理数据库?

34%

SQL Server Management Studio

21%

DataGrip

18%

Visual Studio Code

18%

MySQL Workbench

17%

DBeaver

17%

pgAdmin

16%

命令行

27%

带数据库插件的 JetBrains IDE

26%

DataGrip

22%

SQL Server Management Studio

19%

命令行

19%

MySQL Workbench

18%

DBeaver

14%

pgAdmin

28%

带数据库插件的 JetBrains IDE

24%

命令行

22%

DataGrip

20%

MySQL Workbench

15%

phpMyAdmin

15%

Visual Studio Code

15%

pgAdmin

从特定数据库的原生工具(以及命令行)转向通用工具的总体趋势仍在继续,尤其是 DataGrip 和 DBeaver。

您经常使用哪种(哪些)工具处理数据库?

MySQLPostgreSQLSQLiteMongoDBRedisMS SQL ServerMariaDBOracle Database
38%44%36%37%47%35%47%42%JetBrains 插件/DataGrip
26%15%18%22%16%20%24%20%MySQL Workbench
22%24%27%23%26%14%28%16%命令行
19%11%16%16%11%12%29%10%phpMyAdmin
16%15%17%20%12%17%13%15%Visual Studio Code
14%5%8%11%16%6%9%11%Navicat
13%19%12%14%16%12%16%20%DBeaver
11%12%11%34%13%11%12%11%MongoDB Compass
10%28%15%14%14%12%12%14%pgAdmin
9%10%12%11%9%53%9%14%SQL Server Management Studio
6%6%5%6%3%8%5%37%Oracle SQL Developer
5%3%4%4%4%5%10%4%HeidiSQL
4%2%9%3%1%3%2%3%Android Studio
4%3%3%3%3%5%2%16%PL/SQL Developer
4%4%3%11%6%3%4%3%Robo 3T
4%3%3%3%5%1%5%2%Sequel Pro
4%4%4%3%6%2%5%1%TablePlus
2%2%2%1%2%1%5%1%Adminer
2%3%3%4%3%12%2%3%Azure Data Studio
1%1%1%1%1%1%1%4%Toad
5%7%7%5%6%6%6%6%其他
4%4%7%3%3%2%3%2%
1%53%

考虑到大多数受访者 (69%) 同时使用 2 个或更多数据库,因此,Redis 用户同样使用 pgAdmin 的情况也可以理解。

按区域显示的数据库工具相对受欢迎程度

JetBrains 插件/DataGrip命令行Visual Studio CodeDBeaverNavicatHeidiSQLAzure Data StudioTablePlusToad其他
-16%-27%34%-19%-79%-3%6%6%6%-35%非洲、中东、中亚
-57%-18%32%34%-67%39%-34%-43%197%-7%阿根廷
-31%-29%36%160%-79%42%42%-31%-40%-6%巴西
-5%8%31%-14%-92%-44%19%-7%-23%30%加拿大
21%12%-27%0%357%14%-84%-18%-73%-59%中国
24%-13%-27%11%-88%10%3%-10%-6%10%东欧、巴尔干半岛和高加索地区
12%0%-53%15%-74%41%-53%0%-44%7%法国
42%4%-30%-7%-94%66%-19%-3%4%41%德国
-42%-6%91%-4%-97%-58%67%-5%4%-15%印度
-14%25%-9%-50%-86%-29%-48%-8%-87%19%日本
-26%-22%38%54%-72%44%26%-34%78%-25%拉丁美洲
-28%-3%30%56%-53%72%87%74%120%-10%墨西哥
19%-14%-33%-6%-85%32%65%59%-10%31%北欧和比荷卢联盟
15%-15%-21%32%-83%3%16%-10%-5%12%其他欧洲地区
-19%-4%8%20%-59%30%-21%65%56%17%东南亚和大洋洲其他地区
37%-4%-36%38%-78%-13%-65%-40%-67%4%俄罗斯联邦
9%-44%-20%57%-92%115%-61%-59%169%-31%韩国
-24%-28%10%77%-92%92%-57%-44%41%-23%西班牙
-24%-57%17%21%-47%-11%14%-17%392%-45%土耳其
36%-28%-53%-10%-90%49%-6%-22%-87%15%乌克兰
9%5%-3%-37%-91%-30%71%83%-7%52%英国
8%18%-10%-38%-85%-55%100%1%71%61%美国
-97%0392%

有趣的是,Toad 在阿根廷、墨西哥、韩国和土耳其非常受欢迎,在其他国家却几乎不为人知。

您使用数据库有多长时间了?

16%

不足 1 年

31%

1-3 年

23%

4-7 年

9%

8-10 年

22%

超过 10 年

您使用数据库有多长时间了?

6%

不足 1 年

27%

1-3 年

26%

4-7 年

9%

8-10 年

32%

超过 10 年

8%

不足 1 年

26%

1-3 年

24%

4-7 年

12%

8-10 年

30%

超过 10 年

13%

不足 1 年

31%

1-3 年

23%

4-7 年

8%

8-10 年

24%

超过 10 年

您使用数据库有多长时间了?

MySQLPostgreSQLSQLiteMongoDBRedisMS SQL ServerMariaDBOracle Database
15%10%13%15%6%11%8%9%不足 1 年
33%30%32%34%26%26%26%31%1-3 年
25%24%21%24%30%20%26%23%4-7 年
8%10%8%9%11%8%11%10%8-10 年
20%27%25%18%27%34%29%27%超过 10 年
6%34%

MongoDB 和 MySQL 用户的平均经验略低于其他用户 – 48% 的用户使用数据库的时间不到 4 年。

您是否借助版本控制系统跟踪数据库架构中的变更?

46%

41%

14%

不知道

您是否借助版本控制系统跟踪数据库架构中的变更?

53%

37%

10%

不知道

48%

42%

10%

不知道

45%

44%

11%

不知道

您是否借助版本控制系统跟踪数据库架构中的变更?

MySQLPostgreSQLSQLiteMongoDBRedisMS SQL ServerMariaDBOracle Database
49%38%45%45%38%46%46%45%
38%51%43%41%52%43%46%44%
13%10%12%14%10%11%8%11%不知道
8%52%

您在 VCS 中如何存储数据库架构变更?

72%

迁移脚本存储在 VCS 下

24%

每个架构状态的 DDL 都存储在 VCS 下

5%

其他

您在 VCS 中如何存储数据库架构变更?

47%

每个架构状态的 DDL 都存储在 VCS 下

47%

迁移脚本存储在 VCS 下

6%

其他

64%

迁移脚本存储在 VCS 下

29%

每个架构状态的 DDL 都存储在 VCS 下

7%

其他

71%

迁移脚本存储在 VCS 下

24%

每个架构状态的 DDL 都存储在 VCS 下

5%

其他

您在 VCS 中如何存储数据库架构变更?

MySQLPostgreSQLSQLiteMongoDBRedisMS SQL ServerMariaDBOracle Database
73%77%75%71%74%67%78%59%迁移脚本存储在 VCS 下
23%19%19%25%22%27%19%35%每个架构状态的 DDL 都存储在 VCS 下
4%4%6%4%4%6%4%5%其他
4%78%

您使用什么工具在 VCS 中存储数据库架构变更?

16%

JetBrains IDE

8%

数据库

7%

DataGrip

7%

SQL Server Data Tools

6%

Flyway

5%

Liquibase

1%

DB Change Manager

1%

Redgate SQL Source Control Plugin for SSMS

1%

DevArt SQL Source Control Plugin for SSMS

6%

其他

54%

您使用什么工具在 VCS 中存储数据库架构变更?

22%

SQL Server Data Tools

19%

数据库

9%

JetBrains IDE

6%

DataGrip

4%

Flyway

2%

Liquibase

9%

其他

45%

18%

JetBrains IDE

10%

SQL Server Data Tools

10%

DataGrip

10%

数据库

6%

Flyway

6%

Liquibase

2%

Redgate SQL Source Control Plugin for SSMS

2%

DB Change Manager

1%

DevArt SQL Source Control Plugin for SSMS

10%

其他

43%

16%

JetBrains IDE

8%

数据库

7%

Flyway

7%

DataGrip

6%

SQL Server Data Tools

5%

Liquibase

1%

DB Change Manager

1%

Redgate SQL Source Control Plugin for SSMS

1%

DevArt SQL Source Control Plugin for SSMS

8%

其他

53%

您使用什么工具在 VCS 中存储数据库架构变更?

MySQLPostgreSQLSQLiteMongoDBRedisMS SQL ServerMariaDBOracle Database
18%16%16%17%19%12%20%17%JetBrains IDE
10%8%9%12%9%11%9%13%数据库
8%8%7%9%9%7%9%8%DataGrip
8%5%8%8%4%20%5%10%SQL Server Data Tools
5%10%5%5%9%4%5%10%Flyway
3%8%3%4%5%3%4%10%Liquibase
1%1%2%2%1%2%1%1%DB Change Manager
1%1%0%1%1%1%0%1%DevArt SQL Source Control Plugin for SSMS
1%1%1%1%1%2%1%2%Redgate SQL Source Control Plugin for SSMS
5%9%7%5%8%7%7%6%其他
53%49%56%51%48%49%51%42%
0%56%

您最大的表中大约有多少行(或同等)?

18%

不知道

15%

数百或更少

24%

数千

34%

数百万

8%

数十亿

1%

数万亿或更多

您最大的表中大约有多少行(或同等)?

18%

16%

不知道

15%

16%

数百或更少

24%

24%

数千

34%

36%

数百万

8%

7%

数十亿

1%

1%

数万亿或更多

您最大的表中大约有多少行(或同等)?

7%

6%

13%

不知道

8%

8%

16%

数百或更少

11%

25%

26%

数千

44%

49%

35%

数百万

23%

11%

9%

数十亿

7%

2%

1%

数万亿或更多

您最大的表中大约有多少行(或同等)?

MySQLPostgreSQLSQLiteMongoDBRedisMS SQL ServerMariaDBOracle Database
14%14%16%14%9%11%10%9%不知道
16%11%18%16%7%12%12%11%数百或更少
26%25%26%26%21%25%28%21%数千
35%39%33%37%49%40%41%43%数百万
8%9%7%7%13%9%8%12%数十亿
1%1%1%1%1%2%1%3%数万亿或更多
1%49%

感谢您的参与!

我们真诚地希望您能发现我们的报告有用。与您的朋友和同事分享这份报告。

如果您有任何疑问或建议,请发送电子邮件至 surveys@jetbrains.com