查看原文
其他

出乎预料:开发人员是如何使用数据库的?

盖国强 数据和云 2019-12-14

结合最近JetBrains公司(就是出品IntelliJ IDEA的)的一份调查报告,我们来看看开发人员是如何使用数据库的。

这份调查报告的名字就是:今天开发人员是如何使用数据库的 - HOW DEVELOPERS USE DATABASES TODAY


JetBrains 说他们在考虑出品一个数据库和SQL的开发工具,因此开展了一个调研,收集到大约2000份反馈问卷,得出了很有趣的一些答案。

1.有700万人从事SQL开发

首先是评估开发人员的群体,根据Evans的分析数据,据说全球有1900万的开发人员,而StackOverflow上的投票结果,36%的开发人员最近有和SQL打交道,也就是约700万人在和SQL交互。


2.开发语言选择

典型的,开发语言和数据库SQL开发关系密切,以下是开发语言的选择,数据显示:JavaScript (51%), Java/Scala (50%), PHP (30%), C# (28%), Python (23%) and Ruby (4%)。可以看出,在开发群体中,Java仍然是最为重要的开发语言。


3.SQL性能关注

在参与调查的2000多人中(大多数是高级),90%受访者表示,他们会直接连接到生产数据库运行查询和报表; 85%的受访者表示他们会直接编写SQL代码。


当被问及谁对性能负责?约90%的开发者声称负责性能,有30%的回复称DBA负责性能。高性能查询仍然是大家关注重点,并且优化仍是实现这一目标的关键手段。

这个调研我感觉和中国的状况相仿,所以SQL审核服务对于用户相当重要,SQL管控和优化路漫漫,需要大家一起努力。


4.数据库的品牌选择

你愿意到哪里去?你又是从哪里来?

以下是两个问题的答案:

你最愿意迁移到哪个数据库上去,在758个回答中,20%的人想去PG,去Oracle数据库的大约是7%;

你希望从哪里逃出去,在1428个回答中,65%的人想逃离MySQL,Oracle的用户是最忠诚,最不想离开的。


5.核心关注点

接近65%的受访者将最关心的数据库问题投给了性能,无论何时,性能仍然是大家最实在的体验和关注点。



6.数据库功能采用

那么大家又是如何依赖数据去实现业务逻辑呢?

有50%的受访者承认他们使用触发器来处理事件,并保持数据完整性,45%受访者还使用用户自定义的函数。

存储过程仍然被广泛使用,近70%的用户使用其实现功能,而对于企业级数据库如Oracle或SQL Server的使用者,使用存储的过程的的用户比例更是达到77%,甚至更高,触发器在这部分用户中也高达60%的占比。


所以并不奇怪,30%的团队说明他们都拥有专门的数据库管理员。



这份报告得出的关键结论如下:

  1. 与关系数据库和SQL相关的工作不但没有减少,而且随着全球开发者社区的发展自然扩大;

  2. 开发人员不断编写SQL代码,浏览数据,运行查询,并且持续关注性能。很多业务逻辑仍然驻留在数据库中:存储过程和触发器继续被大量使用;

  3. 数据库软件并未停滞不前:令人印象深刻的PostgreSQL取得快速发展,成为竞争的主要参与者;NoSQL数据库肯定占据自己的位置,但并没有对关系型数据库产生重要影响;这让我们相信SQL仍将是处理数据的坚实可靠的工具;

  4. 在走向云的过程中,亚马逊目前是厂商之中的绝对领导者,尽管如此,云的未来仍有很长的路要走;参与大数据开发人员的数量甚至比我们期望看到更高。似乎越来越多的人停止谈论大数据,并开始行动 - 这是很好的;


报告来自于JetBrains,其中的数据和观点供参考:

https://www.jetbrains.com/datagrip/how-developers-use-databases-today/


我们也来个小投票吧:

如何加入"云和恩墨大讲堂"微信群

搜索 盖国强(Eygle)微信号:eeygle,或者扫描下面二维码,备注:云和恩墨大讲堂,即可入群。每周与千人共享免费技术分享,与讲师在线讨论。


近期文章

删繁就简-云和恩墨的一道面试题解析

用SQL解一道数学题:Gauss和Poincare

新年贺礼:云和恩墨大讲堂期刊发行

2015 Oracle 十大热门文章精选

Oracle 12c ASM 防火防盗新特性揭秘

DBA入门之路:学习与进阶之经验谈

DBA入门之路:关于日常工作的建议

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存