当前位置: 首页 >> 技术文章 >> 数据库的争霸赛:从SQL到NewSQL分布式谁是王者?
数据库的争霸赛:从SQL到NewSQL分布式谁是王者?
发布时间:2017-10-25 发布人:孙雪 2399


前不久,DB-Engines上发表了一篇博客,The Weight of Relational Databases: Time for Multi-Model? 文中分析了关系型数据库自出现以来的发展演进之路,以及在实践中证明的其最佳使用场景。我们知道,在过去的近50年的时间里,IT技术领域已经发生了翻天覆地的巨大变化,然而数据库的变化却是微乎其微的,关系型数据库仍然占据着主导地位。这一方面体现了SQL标准的优越性,目前仍然无法被代替和超越。


然而另一方面,随着互联网场景的融入,企业的数据变得越来越庞大和复杂,海量数据、高并发的业务场景下,关系型数据库常常显得力不从心。无论是OLAP还是OLTP场景,都在一定程度上暴露出了瓶颈,那么,关系型数据库还是当前时代的最佳之选吗?未来的数据库将走向何方?


在今年11月举办的数据技术嘉年华上,我们有幸邀请到了来自数据库行业的不同细分领域的专家,将为我们揭晓数据库技术的最新发展现状与未来方向。


重点嘉宾及主体简介如下:


Oracle内存数据库-TimesTen


主要围绕即将推出的基于分布式架构的关系型内存据库产品Oracle TimesTen 进行介绍。配合今年OOW2017上的DEMO演示,更加形象的为大家展示云时代下的内存分布式关系型数据库技术。





除此之外,Oracle数据库本身也有自己的分布式方案Sharding,Oracle Sharding 可以被看做是一个 Shared-Nothing 架构的弹性关系型数据库。每个分片存储全局表的局部数据,依托原有的分区技术,实现数据的拆分。



近几年随着分布式数据库的崛起,Sharding也逐渐得到越来越多的关注和尝试。


金融云分布式DB的事务处理技术


围绕该主题,嘉宾将深入分析金融云数据库的需求,介绍TDSQL的技术与发展,并从事务处理技术与分布式事务处理技术出发,简谈互联网对于云数据库提出的挑战,以及TDSQL是怎么应对挑战、并以技术推动互联网金融业务发展的。从分布式TDSQL出发,谈事务处理相关的技术,包括分布式事务处理的技术以及TDSQL的分布式事务处理技术、高可用、分布式这些方案等。




阿里云新一代数据库PolarDB


介绍阿里云数据库历史简介,10万量级数据库实例的挑战,POLARDB的架构与性能以及其Redo机制。将全面展示PolarDB的技术优势和适用场景。



TiDB 的架构及应用案例


TiDB 是由 PingCAP 研发的新一代开源的 NewSQL 数据库,受Google F1/Spanner 启发,同时具有 NoSQL 和 RDBMS 的优点,且兼容MySQL协议。这次演讲和大家分享 TiDB 的架构、实现细节以及如何与 Cloud 紧密结合。



银行PB级非结构化数据管理实践


银行的非结构化数据管理上需要分布式扩容、高并发和高性能支持以及高可用、灾备甚至双活能力。讲师将介绍巨杉为用户提供的的分布式内容管理平台,如何解决用户的需求,实现PB级别非结构化数据的管理,并以实际案例作为介绍。



百度NewSQL数据库探索实践


分享内容主要包括开源NewSQL数据库CockroachDB关键技术分析以及CockroachDB在百度内部的应用和实践。



分布式强一致性DB的灵魂


Raft 分布式一致性算法在 2013 年发布,以容易理解、实现方式明确的特点,迅速在业界流行起来。本次分享将介绍 TiDB 如何使用 Raft 算法构建分布式可扩展的后端存储系统,以及 TiDB 在可靠性、可用性、性能等方面对 Raft 做的工程优化。



京东云数据库架构实践

从京东商城的私有云,到京东公有云的运化之路,在云化的过程中,京东的商城、物流、金融、云等丰富的场景和沉淀的数据,使智能化成为京东的发展方向。本次分享将剖析京东的数据库发展历程 , 介绍京东云数据库产品形态及实践经验。



MySQL在金融支付的应用实践


财付通金融支付平台支撑了整个腾讯集团的底层支付业务,包括大家所熟知的微信支付、手Q支付、红包转账、商业支付等。而财付通也是最早就使用开源MySQL数据库系统支撑整个金融支付业务的平台。本次将对外分享财付通平台上的MySQL数据库应用,以及在如此大规模数据库平台上如何高效的运维这么庞大的数据库集群以及对于未来金融数据库架构的发展讨论。



新一代金融级分布式数据库


OceanBase是一款阿里巴巴自主研发的高性能、分布式的关系型数据库,支持完整的ACID特性。它高度兼容MySQL协议与语法,让用户能够以最小的迁移成本使用高性能、可扩展、持续可用的分布式数据库服务,同时对用户数据提供金融级可靠性的保障。在本次分享中将会全面剖析OceanBase的架构特点,应用场景以及未来发展。



11、还有更多数据库领域的探索和实践,来自去哪儿网周彦伟老师在MySQL运维中,通过选用各种开源工具,充分发挥其左右,在工作中实现事半功倍的效果。来自杭州平民的楼方鑫老师分享在医疗行业,分析数据库异常,实时监控。镇伟老师分享的Oracle云上的最佳实践,以及来自王佳毅老师和胡航丽老师带来的数据库优化经验分享。




更多精彩主题,敬请期待。大会正在限免报名中,精彩不容错过。扫码立即报名:

接下来我们简单分析一下数据库领域的发展现状及未来演进方向。


数据库的前世今生


由于SQL标准的优越性,在过去的50年间,数据库领域并没有发生太大的变化。但基于不同场景下的业务需求,不同的商家一直处于不断摸索和创新的状态。目前可以说是百花齐放百家争鸣,但其实但我们简单将整个发展历程归纳为以下几个阶段(只表达逻辑上的关系,并不完全符合各个数据库出现的时间点):


第一阶段:商用的关系型数据库占绝对市场

第二阶段:互联网的兴起催生开源关系型数据库的发展

第三阶段:互联网场景深化,NoSQL数据库应运而生

第四阶段:由于NoSQL的局限性,SQL回归,并与NoSQL结合产生NewSQL数据库


01

从商用到开源


在数据库刚兴起的那些年,很长时间以来,关系型数据库一直是大公司的专利,市场被 Oracle / DB2 等企业数据库牢牢把持。


随着互联网的崛起、开源社区逐渐兴起和发展,在关系型数据库领域,典型的代表是MySQL和PostgreSQL。从MySQL 1.0的问世,标志着开源数据库的兴起,到现在,MySQL成为开源世界最热门的数据库,为广大互联网公司和中小型企业所使用。同时MySQL也在自身的技术变革中不断超越和突破,比如从5.6版本提出的InnoDB存储引擎,以及5.7版本中的Group Replication,使其不断完善和强大。与此同时,MySQL社区也越来越火热。社区良好的生态也为技术的发展带来了许多优势。


自Oracle 接手后,MySQL在性能和稳定性上都有了明显的提升。


作为早一批的开源数据库,PostgreSQL的技术也许并不逊于MySQL,甚至在设计和部分功能上是优于MySQL的设计的,然而由于没有良好的社区生态环境以及从业人员较少,在市场上一直处于不问不热的状态。



相对于传统商用数据库而言,开源数据库的确给企业尤其是中小企业带来更多的选择,灵活开发,自主可控的特性让开源数据库一直受广大用户的青睐。在这期间,关系型数据库通过自身技术的进步,依然是企业的最佳之选。


02

NoSQL的兴起


互联网和Web的蓬勃发展正在改变着我们的世界,随着互联网的不断发展和壮大,企业数据规模越来越大,并发量越来越高,关系数据库无法应对新的负载压力,于是Google和亚马逊两家互联网巨头公司,率先开始研究关系型之外的数据库,之后Hadoop,Cassandra,MongoDB等数据库的出现,避开了SQL,导致了NoSQL的兴起。


非关系型数据库NoSQL因其良好的可扩展性,弱化数据库的设计范式,弱化一致性要求,在解决海量数据和高并发的问题上明显优于关系型数据库。因而很快广泛应用于互联网业务中。


NoSQL数据库在以下环境中会体现出明显的优势:


 1、数据模型比较简单;

2、需要灵活性更强的IT系统;

3、对数据库性能要求较高;

4、不需要高度的数据一致性;

5、对于给定key,比较容易映射复杂值的环境。


但是,很快NoSQL的问题就暴露出来了,首先由于缺乏统一的标准,不同的系统都有各自的规范,切换成本高,很难通用。而SQL经过多年的发展,已经形成了完整的生态链。


其次NoSQL数据库语言的不成熟增加了系统的复杂性,出现很多胶水代码,一方面系统和应用的对接更加复杂,同时缺乏专业的运维人员和运维工具。非规范反而导致了数据的膨胀和僵化。


传统的SQL无法应对海量数据和高并发的场景,而NoSQL因缺少标准而无法通用,那么数据库的未来在哪里?


03

NewSQL引领的未来


最初引入NoSQL是为了解决SQL的可扩展性问题,当NoSQL不能被大规模使用的时候,人们逐渐意识到,必须要有一种新的数据库,在支持SQL规范的基础上实现可扩展,这就是今天逐渐走向市场的NewSQL 数据库。


目前市场上很多NewSQL数据库是MySQL(开源数据库)结合了大数据的解决方案(比如Hadoop)之后而形成的新的数据库类型,比如 TiDB,OceanBase等。TiDB 能够通过使用 Raft 算法构建分布式可扩展的后端存储系统。当然还有从Pg 与大数据结合衍生出的Cockroach DB 等。


NewSQL的出现代表着SQL标准的回归,也代表数据库的新的变革方向,未来数据库领域终将向着分布式前进,在完善的标准下不断创新和演进,适应海量数据和高并发的业务场景。


最后,我们引用Luca Olivari博客中的一段话作为结尾:

Certainly, we will continue to live in a polyglot persistence world. However, multi-model databases are emerging as the next generation database platform to provide a one-fits-most solution that’s been missing for a very long time.

我们将继续生活在一个多元化并存世界,多元模型数据库正在成为下一代数据库平台,这将成为当今世界数据库领域的最佳方案。


现在,百花齐放,谁为王者,我们拭目以待!


000.jpg