数据库开发人员大幅下降与DBaaS快速上升之间的必然因果!

来自CSDN的一篇文章,作者是何鸿凌,业内资深的一位技术专家。其对数据库的讨论,尤其是"2015年数据库开发人员比去年大幅下降15%"和“DBaaS迅速发展”之间的关系,第一次得到了很好的阐述。分享给大家。原文标题是《2015数据库年度盘点》。



毫无疑问,数据库的专业化趋势变得愈加明显。这不但体现在专业的数据库类型适应专业的工作负载,还体现在专业的DBA提供专业的数据库服务上。

数据库的多样化

似乎在不久之前,业界还在争论到底是通用的数据库方向还是专业化的数据库方向代表未来。前者的典型案例就是Oracle,从一开始Oracle的路线就是AllinOne,即使收购了TimesTen,仍然坚持将其中的技术合并到Oracle中提供一个内存存储的选项。于是乎在Oracle最新版本中,内存选项成为了亮点。但是我们看到的明显的现象是什么呢?

CSDN的最新调查显示,已经有很大一部分比例的用户在其应用中混合采用了多种数据库解决方案。比如MongoDB和Redis获得了相当比例的用户。其实我觉得这个调查甚至没有反映更明显的趋势,因为它是按照用户数,而不是数据规模来的。相当比例的用户在分析型数据库领域采用了GreenPlum、Verica和Gbase8a等专业的MPP数据库,而因为用户群在调研范围外,所以未体现在调查报告之中。

除了关系数据库的两种主要形式:OLAP、OLTP,非关系型数据库的四种主要形式:文档、健值对、图和列式,以及科学数据库中的矩阵式和生物数据库之外,2015年在数据库的类型上专业化的趋势得到了大力的延展。比如时间序列数据库异军突起。OpenTSDB、Blueflood、kairosDB、influxDB均得到了长足的发展并嵌入到多个开源项目,其他一些数据库也开始考虑增强对时序数据的存储和访问能力,比如RapidDB。又比如支持全球分布式事务的数据库的发展。这得益于Google的论文提出了Spanner,一系列类似的数据库陆续被提出来。最近最火的当属TiDB,因为其创始人够牛、开源模式够帅。

毫无疑问,未来的发展趋势是专业的数据库支持专业的负载。这里负载既包括数据的存和取,也包括在数据库内的查询和处理逻辑。基因、地理信息、网络、视频、图像,不同负载的数据库(这里也许是广义的“数据”)会变得越加专业。

专业化分工是推动人类社会发展的动力,但前提是这种专业化分工是可以达到规模效应的,这就引出了第二个看点。

数据库的云化

反思一下为什么数据库会出现专业化的潮流,或者说为什么在现在出现而不是十多年前。当年通用数据库是一个多么响亮的招牌,数个863项目都与此相关。我认为主要的原因是随着软硬件和商业模式的发展,每一个专业化的数据库方向都有了足够规模,无论是“钱”上的规模还是“量”上的规模。

在CSDN2015软件开发者白皮书中,有一个调查非常有趣:“2015年数据库开发人员比去年大幅下降15%”。毫无疑问,数据库的使用量一定是增加了。那么问题来了,这些人去哪儿了呢?如果有一份数据可以补充在这里,也许我们会发现,AWS和阿里的云数据库的用量增加,与这些减少,不过现在数据库本身在实现DBaaS方面还有很多的不足,原生考虑了DBaaS的数据库系统目前只有Google系和阿里的OceanBase,其他无非是通过虚拟机或者容器的方式,实现一个数据库实例的快速安装和配置。真正要享受DBaaS带来的专业化分工的好处,必须是在数据库之上实现“虚拟化”,在数据库内部实现良好的多租户隔离、负载管理和计费等。在这方面现在大部分数据库都需要进行重新设计。

如果数据库的趋势是以云服务的方式提供,那么应用开发者如果保证不被Lockin,存储在云端数据库的数据是否还是自己的呢?这个问题,就要靠下一个趋势来解决。

数据库的开源化

回过头来看图1,其中开源数据库软件的已经超过闭源数据库软件了。开源作为软件业的一个趋势,更加证明了卖软件许可的商业模式是难以持续的,只有开源软件+专业化服务的模式才是王道。

而这种专业化服务,如果以本地安装服务的方式成本太高,难以为继,最理想的方式就是云服务模式。无论是针对中小企业的公有云服务还是面向大型、超大型企业的私有云服务。

数据库软件本身的开源提供了信任,无论是国家之间的信任还是企业之间的信任。2015年,一款经典的、重型的MPP数据库——GreenPlum已经开始了自己的开源之旅,从年初宣布此事,到第四季度正式将代码放到GitHub上为止,业界一直保持了持续的关注。相关的Meetup和社区快速的成长起来,据我所了解,某大厂正在基于此紧密开发自己的MPPDBaaS服务的人正相关。

云服务给应用开发者带来了极大的便利,优化、备份等事情不再需要专业的DBA来实现,即买即用非常方便。对于云服务商来说,原来分散的那么多“业余”DBA可以集合成一位专业的大牛DBA,专业化分工带来了效率的提升。这就是云服务的商业模式给提供者和使用者带来的价值。由此应用开发者得以使用一大堆专业的数据库来解决问题,而不再受限于技能只能选择自己熟悉的MySQL等。数据库的云化和专业化两个进程是同步的。

DBaaS,这个词汇在2015年进入了更多人的眼中。不仅是公有云的大厂们纷纷推出更多的数据库云服务。就连一些互联网大厂内部,也在普及自己的数据库云服务。比如小米近期的分享中提及已经实现了MySQL和Redis的数据库云化服务,通过RESTful的API为内部开发者快速提供数据库的实例。一些专业提供PaaS的公司,例如MoPaaS、Pivotal等,也将数据库服务作为首要为用户提供的服务之一。

2016的期待

2015年数据库业界尚未受到新硬件的冲击,无论是超融合架构、3DFlash还是可持久化的内存,似乎离数据库软件都还有一截距离。但我们需要牢记摩尔定律的魅力(或者威力),牢记我们现在的数据库软件大多是为了30年前的硬件架构所设计的,他们中的大部分代码比用他们的人的年纪还要长。硬件架构的革命性变化已经在眼前,随着数据库的专业化分工,原本耦合在一起的CPU、内存和外存已经不再适应多变的环境;机械式硬盘已经被电子盘所超越。一场血腥的创新数据库服务提供商对传统数据库提供商的正在上演,未来就在眼前,让我们拭目以待2016。

 

时间: 2024-10-31 14:08:36

数据库开发人员大幅下降与DBaaS快速上升之间的必然因果!的相关文章

SQL Server开发人员应聘常被问的问题妙解汇总

server|问题 目前在职场中很难找到非常合格的数据库开发人员.我的一个同事曾经说过:"SQL开发是一门语言,它很容易学,但是很难掌握." 在面试应聘的SQL Server数据库开发人员时,我运用了一套标准的基准技术问题.下面这些问题是我觉得能够真正有助于淘汰不合格应聘者的问题.它们按照从易到难的顺序排列.当您问到关于主键和外键的问题时,后面的问题都十分有难度,因为答案可能会更难解释和说明,尤其是在面试的情形下. 您能向我简要叙述一下SQL Server 2000中使用的一些数据库对

SQL Server开发人员应聘常见问题妙解

目前在职场中很难找到非常合格的数据库开发人员.我的一个同事曾经说过:"SQL开发是一门语言,它很容易学,但是很难掌握." 在面试应聘的SQL Server数据库开发人员时,我运用了一套标准的基准技术问题.下面这些问题是我觉得能够真正有助于淘汰不合格应聘者的问题.它们按照从易到难的顺序排列.当您问到关于主键和外键的问题时,后面的问题都十分有难度,因为答案可能会更难解释和说明,尤其是在面试的情形下. 您能向我简要叙述一下SQL Server 2000中使用的一些数据库对象吗? 您希望听到的

100_《Delphi5数据库开发技术》

<Delphi5数据库开发技术> Delphi 教程 系列书籍 (100) <Delphi5数据库开发技术> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: 下载 作者: 毛棱等编著 丛书名: 软件开发技术丛书 出版社:机械工业出版社 ISBN:7111078209 上架时间:2000-7-1 出版日期:2000 年3月 页码:354 版次:1-1 内容简介 Delphi是一种非常优秀的可视化程序开发语言,Delphi 5 基于Windows 95/98/

RESTful API设计给开发人员带来怎样的未来?

业界正在逐渐承认RESTful API优于面向服务架构.但是这对于架构师和开发人员而言到底意味着什么?Tom Nolle分享了他的想法. 在模块化应用世界里,最为持久的争论莫过于面向服务架构和表述性状态转移之争了.本文探讨这样的争论带来了什么及其背后的原因. SOA已经被定性为连接组件和工作流的严格的且重量级的方案,REST则赢得了更多的赞誉.两者的特征都是简化,但是要学习RESTful API设计,架构师和开发人员必须理解SOA和REST之间的差异,学习REST和云以及微服务一起的演进,并且了

SQL Server 2005数据库开发概述

本文讨论了一些SQL Server 2005的新特性,这些新特性将帮助你创建一个新型的数据库应用程序. 随着Microsoft SQL Server 2005 Beta 2的发布,数据库开发的方式正在改变中.作为一个数据库开发人员,现在你可以更好的把工作关注在功能.对本机格式的数据的访问(如XML).以及利用强大的数据库服务器创建更复杂的系统上.数据库开发工作正前所未有的越来越集成,你所需要的所有工具都触手可及. .NET Framework集成 随着Microsoft SQLServer200

提高数据库开发效果的四项前期准备工作

前期工作一:定义标准的对象命名规范. 一定要定义数据库对象的命名规范,这是笔者一再坚持的一个观点.在开发数据库项目之前,项目开发团队要先讨论确定数据库对象的命名规范.包括函数.过程.表.视图.字段等的命名规则.因为我们在数据库开发过程中会重复的引用这些对象.若没有一个统一的命名规则,只有对象的所有者知道其所代表的含义.那么其他数据库开发人员想引用某个对象的时候,就会茫然不知道从何下手.所以,制定一个统一的数据库对象命名规范,这是数据库设计的一个必要的前期准备工作. 1.利用前缀区分各个对象.在O

asp.net网络数据库开发实例精解 源文件_基础应用

出版社:清华大学出版社本书特点:通过大量实例,将ASP.NET的技术点贯穿起来深入剖析网络数据库开发的技术点和难点贯穿了作者多年的开发经验,具有较高的参考价值专门设计了综合案例,让您领会项目开发的思路代码规范,层次清楚,注释丰富,易于理解配有多媒体演示光盘,加速学习.读者对象:ASP.NET网络数据库开发人员大中专院校相关专业的学生毕业设计的学生ASP.NET培训人员asp.net网络数据库开发实例精解 源文件下载后用虚拟光驱软件打开,即可,最全的文件了,整个光盘的内容都在里面了,jb51.ne

Visual Studio .NET使开发人员能够快速地构建和部署XML Web服务和应用程序

visual|web|web服务|xml|程序 Visual Studio .NET使开发人员能够快速地构建和部署XML Web服务和应用程序(2002.02.25)   来自:CSDN    华盛顿莱得蒙德,2002年2月8日 --四年以来,微软一直从事Microsoft .NET(公司下一代XML Web服务和应用程序的理念,它们以无缝的.安全的方式联接了整个互联网上的人.设备和信息)的基础工作.下周,微软将庆祝.NET的一个重要的里程碑--该工具将向全世界发行,通过程序员它将推动下一代的网

SQL点滴17—使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识

原文:SQL点滴17-使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识 在开发过程中会遇到需要弄清楚这个数据库什么时候建的,这个数据库中有多少表,这个存储过程长的什么样子等等信息,今天把自己工作过程中经常用到的一些数据库引擎存储过程,系统视图等等总结一下以备不时之用.下面的知识多是自己总结,有一些参考了MSDN. sp_help 有时候想尽快查出数据库对象的相关信息,这个存储过程就很有用了.使用它可以查询出整个数据库中所有对象的相关信息.直接运行sp_help结果如下图1,