大数据才是重点,Oracle、SQL Server成昨日黄花?
转自:https://zhuanlan.zhihu.com/p/100761130
引子
有人在某个专注SQL的公众号留言如下:
对SQL Server的鄙视
这个留言触碰到一个非常敏感的问题:搞关系型数据库还有前途吗?现在都2020年了,区块链正火热,AI人才已经“过剩”,大数据都成了稀松平常的萝卜白菜,你却还在搞SQL Server? 你还在搞SQL?
原因
最近10年,数据管理领域的变化可谓精彩纷呈。什么Hadoop, Spark,MemcacheDB, Redis, Vertica, HANA, Cassandra, MongoDB, InfluxDB,TiDB等等,不一而足。各类高端峰会、论坛确实只见AI, 大数据,很少见传统关系型数据库的身影了。
初步分析下来原因有四:
- 其一
云计算的兴起跟开源数据库的大规模应用,大大降低了算力以及数据存储的成本。
以传统关系型数据的龙头老大Oracle为例,随着互联网的兴起,海量用户产生了海量数据,但当Oracle大规模部署的时候,不仅Oracle软件本身贵,与之配套的IBM小型机+EMC的存储开支也相当庞大。比如将Oracle的数据集群从一个房间搬到同一个数据中心的另外一个房间,收费都要十几万。软硬件维护成本,包括对管理员的要求也非常高。
另外Oracle本身也有性能的上限,其次是闭源的黑盒子。对于没碰到过的场景,无论再怎么努力,也是无法预测可能出现的问题的。
中国的互联网公司大部分都草莽出身,对于性价比极为看重。当年的互联网老大美国的雅虎公司开始率先使用MySQL数据库,中国的互联网公司随之跟进。
最典型的例子是阿里巴巴。阿里巴巴曾经被称为Oracle的“明星客户“,”黄埔军校“。但随着注册用户数激增,用户产生的数据也越来越多,淘宝启用了全亚洲最大的Oracle RAC集群,阿里巴巴B2B中文站的数据量也因数据量大和业务要求,每年早上08:00—09:30之间CPU保持98%的使用率,服务器负载也超高,即使采用冷热隔离的方式也解决不了大容量数据且大并发的难题,更换存储设备不久又会再次出现这样的状况。
阿里巴巴被迫“攒出”一条去IOE的技术路线:“低成本、线性可控、去中心化(即分布式):去IBM,PC Sever替代小型机;去Oracle,用MySQL替代;去EMC,用中低端存储”。
在之后的爆发式增长中,包括以2014,15,16年双十一为代表的业务高峰,阿里基于开源版本搞出来的MySQL分支很好地支撑了极其严苛的业务要求,最终很方便云化、同时又开源的MySQL在国内的互联网公司逐步开始取代Oracle的江湖地位,成为诸多中国互联网企业的首选。
- 第二
通用硬件成本的降低。随着摩尔定律的作用,甚至出现了HANA,, Vertica,InfluxDB等等很多内存或者分布式内存数据库。
那么现在云计算跟云存储到底有多便宜呢? 看看今天刚从某网站截取的广告吧:
某网站的云主机广告
这种面向市场大规模销售的产品,因为可以采用廉价的PC Server,可以做到真正的白菜价,这在10年前是根本无法想象的。
- 第三
另外MySQL代码跟文档都是公开的,这样对数据库开发维护人员的要求相应的也就大大降低了。
- 最后
从SQL 发展到NoSQL,支持半结构化数据,非结构数据的数据库大放异彩,之前这类无法处理的非结构化数据难题得到了解决,非结构化数据处理成为标准配置,似乎占据了市场热点。而NewSQL尚在发展中。
发展
数据库的发展方向大致包括以下几个方面:
- 由单机、集群向彻底分布式发展,目前Oracle等数据库已经实现
- OLTP跟OLAP的融合,这个特性很早就已经实现了
- 结构化非结构化的融合,目前Oracle, MS SQL Server等也已经实现
- 磁盘跟内存数据库的融合,目前Oracle, MS SQL Server等也已经实现
- 行、列、图、对象、文档、内容、时序、搜索引擎、导航类等等不同类型的数据库的融合,笔者初步研究发现已经小部分实现
- 初略分析来看,数据建模工具对以上特性的支持也在跟进中,但离完美支持还有很大距离
综上来看,今后纵向上数据库个人认为对图片、音视频的存储会继续成为热点,横向上也会进一步融合发展,比如音视频存储跟结构化数据的融合等等。
结论
那么是不是传统的关系型数据库彻底成了昨日黄花呢?如果你这么想,那就大错特错了!让我们看看权威的数据排名:
近年数据流行度趋势
2019年12月份数据库流行度排名
由此可见非结构化数据虽然火热,但是关系型数据库仍然稳坐钓鱼台!
原因在哪里呢?数据库发展绚丽多彩,但最终关键还在其擅长的业务场景。不同类型的数据库适配不同的业务场景。在现实世界大量存在的结构化数据,关系型数据库处理起它们来相对成熟,经过几十年的发展和各种严苛的考验,各方面优势得天独厚。现在大火的大数据重点在于其有效解决了之前一直无法处理的半结构化、非结构化数据这个老大难问题。让非结构化数据库担当关系型数据库的重任,无异于让挖掘机去跟大货车比赛拉货。
之前关系型数据库确实占据了绝对的主流。只是近几年随着3G、4G的发展,图片、音视频内容略有增加。后面随着5G、AR\VR、物联网等等新技术的发展,存储又会变贵,区块链跟量子计算也会给世界带来新的变化……但不管怎么发展,我认为关系型数据库未来十年仍将是主流,再远的将来也会有它重要的地位。因为在可预见的将来,结构化数据仍是人类最重要的数字资产。