你家的数据库“云原生”了吗?

2020年9月16日,云原生数据库厂商Snowflake在纽交所上市,总市值超700亿美元,成为有史以来规模最大的软件IPO,“云原生数据库”一词也随之成为炙手可热的话题。

“Snowflake解决的需求本质上就是Oracle、DB2解决的需求,只不过时代和环境变了——市场需求在爆发,技术在更迭。核心是如何在云环境下保证弹性和扩展性的同时保证高性能。”偶数科技创始人常雷评价到。

偶数科技对标Snowflake。11月4日,偶数科技宣布完成金山云领投的B轮融资,成为国内第一家拿下独立云厂商投资的云原生数据库公司。近期,InfoQ采访了偶数科技创始人CEO常雷,就云原生数据库主题进行了深入交流,以飨读者。

读完本文你将收获:

什么是云原生数据库;

云原生数据库的优势;

云原生数据库的最佳落地案例。

什么是云原生数据库

云原生数据库的核心是存储与计算分离,同时还必须具备高性能、高可扩展、一致性、符合标准、容错、易于管理和多云支持等特性。

"数据库的本质是一个数据管理的工具,例如'关系型数据库'可以简单理解为装满了Excel表格的仓库。"常雷表示。

以网状数据库,关系型数据库,大数据应用(主要指SQL-on-Hadoop和MPP数据库)和云原生数据库为代表,数据库发展到今天经历了四个重要的时期。

20世纪70年代巴赫曼的网状数据库创造了一种新的数据管理范式,正如巴赫曼本人在图灵奖颁奖演讲中所说——这是从地心说到日心说的变迁。

20世纪80年代,埃德加·科德提出了关系型数据库并因此获得1981年图灵奖。关系型数据库模型简单明了,并且有坚实的数学基础,一度在学术界和产业界引起轰动。后来基于他的理论,诞生了很多世界级的数据库公司,比如一直占据全球过半数据库市场份额的Oracle。

同样在20世纪80年代,为了满足企业级的数据分析需求,出现了数据仓库。典型代表有Oracle、DB2、Teradata,虽然数仓的出现使得报表分析更加便捷,但传统数仓对云环境的支持很差,扩展困难,也没有存算分离的技术。

2000年左右大数据开始出现并普及,SQL-on-Hadoop和基于X86的MPP数据库成为大数据分析的热门应用。前者利用HDFS作为存储,节点规模可以扩展到数千,但单节点性能较差且SQL兼容性不好,典型代表如Hive、SparkSQL;后者利用了高速的网络传输和分布式技术,将任务并行分散到多个节点,独立计算后汇总得出最终结果,单节点性能优良且能很好的兼容SQL,但是节点扩展能力较差而且云环境支持不如SQL-on-Hadoop,典型代表有Greenplum和Vertica。

2015年前后云原生数据库的出现,在“存算分离”的基础上结合SQL-on-Hadoop和MPP数据库的优点。弹性高可扩展,并具有优秀的性能、SQL兼容性以及云环境的支持性。

OushuDB正是这个时期的典型产品。偶数科技成立于2016年年底,创始人常雷是北大计算机系博士,毕业后供职于EMC,致力于大数据和云计算方面的研究。

2011年,由于Hadoop在扩展性方面的缺陷难以满足大数据时代的应用需求,常雷在一个研究课题中提出了新一代SQL引擎,这个引擎成为了HAWQ的前身。同年,EMC收购Greenplum,常雷加入Greenplum部门并组建数据库团队将HAWQ产品化。而后的2015年,HAWQ捐赠到Apache基金会,成为中国第一个Apache数据库顶级项目。

“那时候Hadoop领域已经有两家上市公司,但都没有做的很好。从商业角度看,交易型(OLTP)数据库的需求本质是记录交易结果,因此仅记录最后一笔数据,而分析型数据库(OLAP)是帮助用户做业务决策,应用几乎无处不在。”常雷表示。之后的2016年,常雷认为时机已经成熟,便从EMC出走,创立了偶数科技。

由理论到实践,常雷完成了一个产品产业化的全过程,而后历经四年的创业实战,凭借OushuDB使得偶数科技成为云原生数据库的先锋。常雷认为,此时提出云原生数据库的定义是比较合适的。

从数据库用户的角度来说,计算和存储分离架构与云计算平台弹性扩展的特性结合可以节约成本。计算和存储分离架构可以使得计算和存储独立伸缩,需要存储的时候只需要添加存储,需要计算的时候可以只增加计算,结合云计算中存储和计算独立计费的模式,客户只需支付对应资源的费用即可;

存储和计算分离带来的另外一个好处是同样成本下可得到更好的用户体验。例如需要10个节点花费10分钟时间完成的一个查询,在使用100个节点处理的情况下只需要花费1分钟;客户利用云原生数据库完成上述查询时候可方便地选择后一种方案,从而提升10倍使用体验,但费用支出并没有差异;

高性能保证使用同样的计算环境下拥有更优的查询响应时间并支持高并发;

高可扩展性可以保证系统能够支持大规模集群并处理海量数据。传统的Hadoop集群一般包含几十个节点,大量扩展时通常需要做集群分割。而高可扩展性意味着系统可以扩展到数千个节点而不需要分割集群,自然而然地解决了传统数据库方案中需要多个集群,集群之间数据共享难,一致性保证难,数据质量保证难的问题;

一致性强意味着数据库可以保证一致性,简化用户开发应用的难度。一个典型的应用程序可简单分为数据层,业务逻辑层和前端的UI(用户交互)层。通常在并发进行增删改查的时候,如果通过业务逻辑层来保证一致性的话,对程序员来说很困难且容易出错。而在强一致性的云原生数据库支持下,这一需求可以交给数据库层来解决,简化程序员开发应用的难度。

容错保证系统可以不中断运行。在系统的某些节点出现错误的时候,云原生数据库系统可以自动恢复。

易于管理意味着可以降低实施难度和用户运维成本。同时,易于管理也是云原生数据库可以作为简单的SaaS服务呈现给用户的一个关键。

多云支持。从最终用户角度,还会考虑是否支持多云,也就是云原生数据库需要支持多个云平台,保证用户所使用的资源的中立性,防止云平台的“vorlock-in”。

2OushuDB--国产云原生数据库先锋

2016年,在成功将HAWQ产品化之后,常雷认为时机已经成熟,随后从EMC出走创立了偶数科技。如今3年多过去,偶数科技已发展成国内云原生数据库头部玩家,并且是第一个将产品卖到美国的国产云原生数据库公司。

OushuDB包含计算层和存储层,存储和计算分离,可以独立扩容。

OushuDB的计算层结构

一个OushuDB的计算层有多个OushuDBMaster节点,内部包含了元数据管理服务和资源管理服务。其他节点为Slave节点,每个Slave节点上安装有一个OushuDBSegment,用于实现OushuDB的计算。

在OushuDBmaster节点内部有几个重要组件:查询解析器(Parser/Analyzer),优化器,资源管理器,容错服务,查询派遣器,事务管理器,元数据服务。在查询执行时,针对一个查询,弹性执行引擎会启动多个虚拟Segment同时执行查询,节点间数据交换通过Interconnect(高速互联网络)进行。

查询解析器:负责解析查询,并检查语法及语义。最终生成查询树传递给优化器。

优化器:负责接收查询树,生成查询计划。针对一个查询,可能有数亿个可能的等价的查询计划,但执行性能差别很大。优化器的作用是找出最优的查询计划。

资源管理器:资源管理器负责整个集群的资源管理。资源管理器需要在并发的查询之间分配资源,并保证查询不使用超过分配给该查询的资源,否则查询之间会相互影响,可能导致系统整体不可用。

容错服务:负责检测哪些节点可用,哪些节点不可用。不可用的机器会被排除出资源池。

查询派遣器:优化器优化完查询以后,查询派遣器派遣计划到各个节点上执行,并协调查询执行的整个过程。查询派遣器是整个并行系统的粘合剂。

事务管理器:管理分布式事务。

元数据服务:负责存储OushuDB的各种元数据,包括数据库和表信息,以及访问权限信息等。

高速互联网络:负责在节点之间传输数据。使用软件实现,基于UDP协议。UDP协议无需建立连接,从而可以避免TCP高并发连接数的限制。

OushuDBSegment在执行查询的时候会在资源容器中启动多个QE(QueryExecutor,查询执行器)。而节点可以动态的加入集群,并且不需要数据重新分布。当一个节点加入集群时,他会向OushuDBMaster节点发送心跳,然后就可以接收未来查询了。

聊起OushuDB的特性,常雷脸上泛起一丝技术人特有的自豪,发自内心而略显腼腆。“OushuDB的优点太多了,如果选3个的话,我认为是弹性,高性能和多云”。

弹性。主要包含存算分离,弹性扩展,多级资源管理;

高性能。基于领先的性能优化技术打造的世界上最快的分析型数据库;

多云。支持AWS、Azure、阿里云、腾讯云、金山云等大厂的统一数据管理方案,也可结合私有云进行混合管理。

作为工程师出身的创始人,常雷看待问题具有一种朴素实用的思维。“我喜欢看问题的本质和具体需求,而OushuDB的很多特性都是为了提高资源利用率,进而为客户降本增效。我认为一个优秀的云原生数据库应该具备良好的弹性扩展能力,而‘是否做到存储和计算的完全分离‘以及’产品执行引擎是否完全弹性’是判断一个云原生数据库的基本标准。只有具备这两点,一款数据库产品才能称得上真正发挥了上云的优势,才可以将数据和云更好地融合在一起,就可以说自己做好了云原生”。

为VMware构建大数据分析系统,偶数科技将数据库卖到了美国

自然数中奇数和偶数各占一半,偶数科技要做的就是要管理世界上一半的数据,这是一家伟大公司的使命所在。

目前,偶数科技客群分布在金融、运营商、能源和政府等多个行业,比如建设银行,中国移动、国家电网等。除此外也不乏一些跨国企业,比如全球分布式巨头VMware以及制造业巨头海尔集团。“我们的标杆客户中,一个非常有代表性的是美国的VMware。首先,数据库作为刚需核心应用,涉及到企业数据管理最关键的存储环节。VMware选择采购中国公司的产品,这本身就是一种突破;第二,VMware是全球计算机软件巨头,本身拥有很强大的云计算团队,也很了解云原生数据库,选择OushuDB之前经历过严格的产品试用和采购评估环节。拿下VMware是偶数在获客道路上一次里程碑式的事件”。

VMware过去利用SAPHANA做BI和报表分析。但当业务数据超过100T后,数据分析性能便难以满足需求。一开始VMware尝试使用Greenplum等经典的MPP数据库产品,但由于产品底层的存储和计算资源绑定,在集群弹性可扩展方面难以满足需求,只能继续寻求更合适的解决方案,后来曾尝试使用Hive,但发现性能不满足需求。

2019年,VMware与偶数科技达成合作,应用数十个节点的OushuDB集群,运行在VMware的云平台上,处理对象存储中数百TB的数据。解决方案落地后,客户发现在同样节点集群和数百TB数据上,基于OushuDB的系统性能是Hive的数十倍,而且在不需要增加很多硬件的情况下,就可以完全满足VMware今后几年内数据持续增长条件下分析的时效性要求。

而且,由于OushuDB完善的遵从ANSISQL标准(包括SQL-92,SQL-99,SQL-2003)以及OLAP扩展函数,VMware的数据科学家可以更容易地编写SQL语句,极大提升了系统的使用体验。

最终的客户收益主要有以下三个方面:

满足同样需求的前提下节省成本。VMware基于OushuDB数据仓库建立的大数据平台,10节点集群相当于Hive大约100节点集群性能;

简化SQL语言编写。基于OushuDB的大数据平台,全面支持OLAP扩展函数,便于数据分析人员编写简洁的SQL语句,大大提高了数据分析人员工作效率;

弹性可扩展。OushuDB的计算层和底层对象存储分离,可以独立弹性伸缩。提高了用户体验,并降低了管理运维的难度。

随着产品愈发成熟,大客户不断增多,近期偶数科技拿下了B轮融资。新一轮融资之后,偶数科技开始了更大力度的市场推广和拓客。正如常雷所言:“未来,偶数科技将通过新一代数据库技术解放人力,希望能管理全世界一半的数据,让企业决策易如反掌,并让更多人只为兴趣而工作”。

版权声明:本站所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请举报,一经查实,本站将立刻删除。

相关推荐