设为首页 加入收藏

TOP

2017年数据库技术盘点(二)
2019-09-03 01:21:20 】 浏览:71
Tags:2017年 数据库 技术 盘点
者对应数据库云化。

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存储模型。

2017年,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系统已经全面演进为了一个关系型分布式数据库系统。

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

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

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

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

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

从Spanner的演化,我们可以感知关系型数据库的春天重返故里,而分布式关系型数据库已经踏着数据库前进的节拍走到了我们眼前。现在,已经不是潮流来临,而是在席卷2017年的我们,并继续横扫2018。以此来观察数据库界,这一年,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引擎,使得其更像一个流数据库而存在。

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

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

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

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

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

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 2/8/8
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇在SQL Server 2017 中,当Alwasyo.. 下一篇Oracle案例02——ORA-12034: &quo..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目