2017年数据库技术盘点(数据库发展的趋势,关键词优化)

时间:2024-05-05 10:15:07 作者 : 石家庄SEO 分类 : 关键词优化
  • TAG :

    2017%E5%B9%B4%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8A%80%E6%9C%AF%E7%9B%98%E7%82%B9

更多腾讯海量技术文章,请关注云+社区:https://cloud.tencent/developer

作者 | 那海蓝蓝,腾讯金融云数据库技术专家

作者 | 小编0.7,腾讯TDSQL分布式数据库专家

作者 | 大米,腾讯TDSQL分布式数据库专家

责编 | 仲培艺

由腾讯技术工程官方号发布在云+社区

在数据库领域,回顾这一年,精彩纷呈,热点不断,而且不乏标志性的事件发生。

如Oracle提出的自治数据库这样的概念,把数据库技术带入一个新世界。其实AI技术应用于数据库由来已久,如AI技术调优数据库的性能、AI技术优化SQL、AI技术自动创建数据库索引(Learned Index)等。但是能把AI和数据库结合使之进入大众视野的,还非“自治数据库”莫属。

再如NDBC(中国计算机学会数据库学术年会)庆祝四十华诞、阿里入股MariaDB、国内类Aurora架构的产品争相发布、数据库事务处理等核心技术的原创书籍出版、社区活动遍地开花等等,无一不在彰示着国内数据库界的精彩和繁荣。

CCF数据库专委会主任杜小勇教授说:客观来说,如今的中国数据库已经处于与世界并跑的位置了!

现在,让我们一起并跑,沿途中,我们将从学术界、工程界的角度,从国外到国内,从数据库内核技术到数据库运维等多种角度,一起来回顾精彩的。

1.百看不厌的数据库排行榜

截至年12月,在DB-Engines(https://db-engines/en/ranking)上排名的数据库引擎已多达361种。

从图1可见(对比去年同期数据如图2),Oracle、MySQL和Microsoft SQL Server稳居前三,一路遥遥领先。

年12月数据库Top5图

2016年11月数据库Top5图

但从图3也不难看出,位于成熟期的同时,其成长空间也受到了一定的限制。Oracle虽保持第一,但处于明显下滑趋势;MySQL在17年6月表现出色,几乎与Oracle持平,但后半年开始有所下滑;Microsoft SQL Server自15年9月跌至谷底后一路回升,于17年趋于稳定,但总体仍处于下滑趋势。虽说没有显著上升,但RDBMS三巨头雄踞排行榜top3已然且在不久的将来仍会是事实。

2013-数据库top3分值变化图

再把目光延伸至top20,就会惊人地发现,NoSQL家族正在爆炸式崛起。MongoDB,Redis,Cassandra,Hbase和Hive年轻气盛,一路飙升,从14年到17年均已实现分值翻倍(图4)。稳坐非关系型数据库第一把交椅的MongoDB,从09年的首度推出到现在不过十年,便已跻身top5,其发展潜力让人期待。

数据库产品的起起伏伏,是数据库工程界的一个风向标,但不是数据库界的全部。这一年,数据库的理论界也因AI而亮点多多。接下来,让我们睁眼看看世界,然后瞪大眼睛反观一下国内的情景。

2013-NoSQL数据库top5分值变化图

2.地球就那么大,世界的门早已打开

以前,国内数据库技术一直在跟跑国外的数据库技术,学术研究队伍如此,工程实践队伍也如此。可以说,在数据库技术的世界里,我们前30多年一直在学习、一直在探索。而国际的前沿技术引路者,还在不断引领数据库技术的潮流。这一年,世界上重大的一些事件如自治数据库的概念推出、Aurora相关技术的论文发表、Spanner用论文宣告成为了关系型数据库系统等等,都在影响着国内的技术圈子。

2.1 Oracle,开启自治数据库时代

年的Oracle Open World大会上,Oracle总裁拉里·埃里森公布了新杀器,Oracle自治数据库云。这款全球首款“自动驾驶”的数据库,集成了人工智能和自适应的机器学习技术,实现全面的自动化。

自治数据库云的实现,是基于Oracle Database 18c的。对比目前的Oracle数据库,Oracle 18c在性能、内存优化、可用性、安全性、数据仓库等方面都作出优化提升,向HTAP数据库的目标更进一步。

Oracle自治数据库云,消除了复杂性、人为错误和人工管理,能够以更低的成本提供更高的可靠性、安全性和运营效率。通过融合机器学习技术,自治数据库云具备这些特点:

自主驱动:完全自动化的打补丁、升级、备份和可用性架构,可执行所有日常数据库维护任务,无需任何人工干预。

消除人为错误:

自动恢复功能可自动检测并应用纠正措施,Oracle 自治数据库云将自动实施 Oracle Real ApplicationClusters (RAC) 和跨区域 Oracle Active Data Guard,确保持续的可用性。

Oracle SLA确保99.995%的可靠性和可用性,把代价高昂的计划内和计划外停机控制在每年30分钟内。

无需手动性能调优:采用自适应机器学习技术,自动激活列式缓存、存储索引、压缩和资源优先排序,根据负载所执行的实际工作分配资源,避免代价高昂的过度供应。

Oracle推出Oracle 18c和自治数据库云,正指出了数据库领域的发展趋势:数据库HTAP化,和人工智能结合,机器学习代替人工完成繁琐的数据库操作。放眼看去,如卡内基·梅隆的ottertune,一些开源项目顺应潮流,向智能化、自动化数据库靠近。

另外,这一年,Oracle发布12c R2版本,也就是12.2.0.1,多方面得到提升,包括:

可用性方面:数据保护、逻辑复制、在线操作、分片等的表现得到提升,同时简化了升级操作。

大数据和数据仓库:完善大数据管理系统结构、提供数据库内的多维度分析、加强查询处理和优化等。

性能方面:优化共享队列,全局共享Oracle云连接池,增强Java虚拟机上Oracle数据库的性能,完善内存数据库,简单支持非结构化数据存取等。

压缩、管理、公有云、安全性、空间和图等特性得到增强。

在数据库的世界里,Oracle依旧是独占鳌头。

2.2 AWS Aurora,启动计算与存储分离的热潮

年,Amazon在SIGMOD上发表了论文《Amazon Aurora: Design Considerations for High Throughput Cloud Native Relational Databases》。

这篇论文,描述了Amazon的云数据库Aurora的架构。基于MySQL的Aurora对于单点写多点读的主从架构做了进一步的发展,使得事务和存储引擎分离,为数据库架构的发展提供了具有实战意义的已实践用例。其主要特点如下:

实践了“日志即数据库”[1]的理念。

事务引擎和存储引擎分离。

数据缓冲区提前预热。

REDO日志从事务引擎中剥离,归并到存储引擎中。

储存层可以有6个副本,多个副本之间通过Gossip协议可以保障数据的“自愈”能力。

主备服务的备机可达15份,提供强大的读服务能力。

持续可靠的云数据库的服务能力。

数据存储跨多个区:提供了多级别容灾能力。

数据容灾能力:数据冗余、备份、实时恢复等多种能力集成到云服务,提高的数据的保障能力。

万能数据库的概念呼之欲出。

而年尾,AWS的技术大会上,又爆料称AWS支持:multi write、类TureTime、Serveless等,这些都和最新的趋势紧密相融,前两者对应分布式数据库、后者对应数据库云化。

Aurora对国内的计算与存储分离的产品研发影响深远,阿里的PolarDB、华为的FusionInsight系列等都在向Aurora对齐。相传,腾讯、京东等都跃跃欲试准备做类Aurora的产品。可见Aurora对国内的影响深远。

2.3 Spanner,引领分布式数据库潮流

2012年的《Spanner: Google’s Globally-Distributed Database》论文描述了基于KV系统[2]实现的一个半数据库式的“分布式系统”[3],这个系统具备了大规模的扩展性,具有如下几个方面的特色:可扩展性(scalability)、自动分片(automatic sharding)、容错性(fault tolerance)、一致性复制(consistent replication),外部一致性(external consistency),和数据广域分布(wide-area distribution)。这些特色是通过提供了多行事务(multirow transactions)、外部一致性(external consistency)、跨数据中心的透明故障转移(transparent failover across datacenters)等功能实现的。Spanner开创了NoSQL分布式数据库的新时代,主要解决了如下问题:

1. 数据分布。

2. 多副本高可用:failover。

3. 分布式事务处理:外部一致。

4. 计算分布(通过F1支持SQL,松耦合结构)。

5. KV存储模型。

年,Google发表了一篇题为《Spanner: Becoming a SQL System》的论文。这篇论文描述了查询执行的切分(query execution in the presence of resharding)、瞬态故障情况下查询重新执行(query restarts upon transient failures)、驱动查询做路由和索引查找的范围查询(range extraction that drives query routing and index seeks)、以及改进的基于块的列存(the improved blockwisecolumnar storage format)等分布式查询优化技术。

较之2012年的Spanner,本篇论文提到新增功能为:强类型的模式管理系统 (a strongly-typed schema system)、查询处理器(a SQL query processor)和关系模型存储及列存系统,并论述了2012年以来,Spanner系统向关系型数据库演进的历程,新论文愉快地表示Spanner从一个NoSQL系统已经全面演进为了一个关系型分布式数据库系统。

这篇论文表明如下几点事实:

有分布式基因的NoSQL是可以进化为NewSQL的,进化的途径可参考Spanner的发展历程,而Spanner也给出了进化方式的建议(有了分布式处理能力后及早向关系型演进)。

这种进化具有“快乐”的“进步”意义。快乐如论文标题宣称“成为了”一个SQL系统,口气十分地自豪;进步如论文标题宣称Spanner已经是一个“SQL”系统了,即具备了关系存储和关系运算的能力。

NewSQL的一个特征是支持混合数据类型存储,如Spanner支持NoSQL也支持关系存储模型。而支持关系模型将是NewSQL系统的一个重要特征。

Spanner的另外一个特征是由松耦合的系统进化到一个高效的紧耦合系统,这样的系统能够处理各种类型的大数据。与此不同的是目前的大数据处理组件因松耦合而导致三难(选型难、使用难、维护难)。这表明大数据处理的技术架构可能从松耦合向紧耦合演进。

从Spanner的演化,我们可以感知关系型数据库的春天重返故里,而分布式关系型数据库已经踏着数据库前进的节拍走到了我们眼前。现在,已经不是潮流来临,而是在席卷年的我们,并继续横扫。以此来观察数据库界,这一年,OceanBase、TDSQL、TiDB、CockroachDB等等主流分布式数据库即NewSQL系统正如火如荼地发展着,技术层面不断向Spanner靠拢。

2.4 NoSQL、图数据库、流数据库等场景化明显

随着互联网web2.0网站的兴起,传统的关系数据库在应付超大规模和高并发的SNS类型的纯动态网站时已经显得力不从心,而NoSQL数据库由于其本身的特点得到了非常迅速的发展。

NoSQL家族主要分为键值(Key-Value)存储数据库、列存储数据库、文档型数据库和图数据库四大类,其产生就是为了解决大规模数据集合多重数据种类带来的挑战,故场景化也格外明显。

键值存储数据库适用于内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。

列存储数据库适用于分布式的文件系统;文档型数据库适用于Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容)。

图数据库适用于社交网络,推荐系统等,专注于构建关系图谱,如果与AI结合起来,我们可以设想一下他们美好的未来。

NoSQL数据库并没有一个统一的架构,而是各有所长,一个成功的NoSQL必然特别适用于某些场合或者某些应用。

还有意思的是,Kafka今年终于正式迎来了1.0.0版本,不仅标识着各组件功能的稳定性,还引入了一些新的功能:Kafka Streams API的优化(增加了一些全新的操作算子如cogroup等);JMX监控指标的完善(引入很多集群健康度检查指标,对Kafka Connect监控体系做了较大程度的补足);优化SASL认证错误的处理;强化对JBOD磁盘崩溃的处理;幂等producer的优化。此外,Kafka新引入了KSQL引擎,使得其更像一个流数据库而存在。

年,从关系型数据库之外的其他数据库,我们看到,数据库正在朝场景化方向发展,不同类型的数据库适用于不同的场景,数据库产品只有做好自己的场景定位,才能谋取到更大的发展。

2.5 一些老牌数据库,在变革中渐渐老去

年5月,微软还发布了首款全球分布式多模型数据库Azure Cosmos DB,这是一款全球可用的JSON数据库平台。可以看到,关系数据库厂商抢占NoSQL市场的鏖战也将日趋激烈,几年前,PostgreSQL和MySQL已经支持了JSON类型数据,另外还有老牌的Infomix也是如此。

年10月,微软发布了SQL Server CTP2.1正式版。这是SQL Server 历史上首次同时发布Windows和Linux版,并支持Docker部署。从数据库排行榜看,微软占据第三位,遥遥领先第四位PostgreSQL。SQL Server似乎风光依旧。

但是,在国内,SQL Server已经很难打开高端市场的局面了(几乎就是Oracle和MySQL的天下)。其实在国内,得益于在教育领域的耕耘和出色的产品易用性,SQL Server 有着比较好的群众基础和亲和形象。但一直以来,SQL Server都给大部分人群留下“适用于中小企业”的陈旧印象,再加上缺乏本地技术社区的建设,SQL Server已经渐渐淡出“高端玩家”的视野。若想要反转局面,那么进一步塑造品牌、打造标杆案例、不断提升产品和建设本地技术社区是SQL Server浴火重生的必经之路。

本文:2017年数据库技术盘点的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:企业向你展示的产品质量检测报告,你的认可度有多少下一篇:

3 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18