技术架桥开源铺路分布式数据库精彩正当时开元

 行业动态     |      2022-01-20 19:52

  1 月 6 日,由中国电子技术标准化研究院指导、CSDN 主办、OceanBase 承办,木兰开源社区、开源中国、51CTO、思否、极客邦科技、稀土掘金、墨天轮、dbaplus 协办的 DC2021 分布式数据库开发者大会于线上正式召开。

  除了精彩纷呈的主论坛演讲、圆桌论坛与极客夜宵等内容之外,在下午的分布式数据库技术分论坛与分布式数据库开源生态与应用分论坛上,来自国内外主流分布式数据库的技术专家与各大开源社区、平台负责人为开发者带来了围绕核心技术与开源生态打造的内容盛宴。

  今年是数据库发展的变革之年,亦是分布式数据库崭露头角的重要时间节点。分布式数据库技术在走向千行百业应用深海的大势所趋下,越来越多的开发者关注于此,投身其中。下午 14:00,DC2021 分布式数据库开发者大会分布式数据库技术分论坛正式开幕,来自 OceanBase、GaussDB、PolarDB、巨杉数据库、StarRocks、Oushu 科技数据库以及 MongoDB 社区的 8 位产品技术专家,针对分布式数据库领域最新的技术亮点与产品革新进行了深度分享。

  OceanBase 首席架构师杨志丰分享了主题为《OceanBase 的一体化设计解析》的演讲。OceanBase 从 2010 年立项以来,其架构的演进一直围绕可扩展与高可用特性去建立与融合,这也是为什么 OceanBase 会采用一体化设计的直接原因。OceanBase 的一体化设计主要有四大方面:第一,OceanBase 能够兼备集中式数据库和分布式数据库的特性;第二,通过借鉴 OLAP 型数据库的特性,不断增强 OceanBase 的 AP 能力,从而形成了 HTAP 的能力特性;第三,通过多租户能力,OceanBase 在整个集群内部已具备资源的管理调度和隔离能力;最后一方面,OceanBase 具备多模特性 , 可以更好地支持客户 SQL 与 NoSQL 使用场景。

  在演讲中杨志丰介绍了 OceanBase 基于存储模型与事务模型基础提供的 Table API 接口,这个接口是和 SQL 在平行的一个位置和层次。在 Table API 基础之上,如果应用对延时特别敏感,用户可以直接通过 Table API 访问 OceanBase Server 提供的原生服务,极大地减少网络的时延。同时针对某些需要使用 HBase 特定业务场景,基于 Table API 接口 OceanBase 研发团队还扩展了一个 HBase API 接口,解决了用户在容灾演练过程中遇到的困难。

  杨志丰还介绍了 OceanBase 最新的 3.2 版本,3.2 版本提升主要体现在三个方面,优化器、SQL 执行引擎以及向量化的执行。杨志丰表示:对于单机分布式一体化的 OceanBase 系统来说,我们认为时延不再是一个选择传统亦或是分布式数据库的绝对标准,因为在 OceanBase 单机分布式一体化的设计之下,你可以选择鱼与熊掌兼而得之。

  华为 GaussDB 技术专家王磊带来了《GaussDB 分布式技术大揭秘》主题演讲。GaussDB 分布式集群的架构主要由 5 类组成:运维管理模 OM 组件、集群管理模块 CM 组件,全局事务管理器 GTM 组件、协调节点 CN 组件以及数据节点 DN 组件。GaussDB 高性能的关键在于分布式执行框架,这个框架会根据业务 SQL,生成最优执行计划,该框架主要包含算子下推与并行执行两大核心技术。

  GaussDB 有四大特性:第一是高扩展性,体现在 Scale-out 在线横向扩展;第二是高安全,体现在分布式防篡改技术;第三是高自治性,主要体现在 AI for DB 基础上;第四是高智能性,主要体现在 AI4DB 技术上。

  GaussDB 高可用架构的出发点是软硬件全栈冗余和分布式全组件冗余。在硬件层通过磁盘 red 冗余、双交换机冗余、多网卡冗余,UPS 电源保护等技术提供单点或多点硬件故障下的高可用能力。在软件层,针对分布式集群中的每一帧组件,均做了组件级冗余。

  王磊表示:GaussDB 在分布式数据库领域的积累和创新,使其能够从容应对企业级高性能、高可用、高安全的核心诉求。未来,GaussDB 会继续在分布式数据库领域坚持创新,勇攀高峰。

  阿里云智能数据库 PolarDB 产品经理胡中泉发表了《PolarDB-X 核心技术能力解读》主题演讲,在演讲中他主要介绍了 PolarDB-X 的整体架构以及核心能力。

  PolarDB 是一款基于分布式技术架构,是面向云原生和分布式结合的方向进行技术演进的分布式数据库产品。PolarDB-X 整体架构主要分 4 个部分:第一部分 CN 计算节点,主要提供分布式 SQL 引擎,解决分布式事务协调、优化器、执行器等;第二部分 DN 存储节点,主要提供数据库存储引擎,解决数据库一致性和持久化问题,并提供计算下推能力;第三部分 GMS,全局元数据服务,主要提供分布式下域元数据和全局授时的服务。第四部分 CDC,提供全一致性的 binlog,给下游更好的体验。

  CN 可以分为协议层、优化器和执行器一共三层,第一层协议层实现了 MySQL 最后协议,提供与云原生 MySQL 最接近的语法解析服务,负责建立连接、接收用户发送的数据包,组装成 SQL 和参数化传递给优化器。第二层优化器,对于 SQL 的处理,包括语法解析、校验,生成逻辑计划,并通过优化产生物理执行计划传输给执行器,优化器使用了 Apache 的 RB 和 CB 融合框架,可以实现自适应的 TP 和 AP 区分执行,并且可以提供执行计划管理的功能。最后一层执行器,PolarDB-X 的执行器接收到物理执行计划后,会根据计划类型确定执行模式。

  透明分布式是 PolarDB-X 核心能力之一,它能让应用在使用 PolarDB-X 的过程中,给予用户犹如使用单机数据库一样的体验。与传统中间件的类型的分布式数据库相比,具有透明分布式能力的 PolarDB-X 不需要应用考虑分区件的概念,应用可以完全将单机上的 SQL 复用到分布式数据库上来。同时,PolarDB-X 的透明分布式能力,能极大减少从单机数据库到分布式数据库的迁移成本。

  OceanBase 产品部总经理王南带来了《一站式企业级原生分布式数据库管理解决方案》主题演讲。王南将 OceanBase 的发展之路总结为三大阶段,第一个阶段为从无到有的构建,第二个阶段是产品走向通用行业与场景的阶段,而第三个阶段 OceanBase 将在一体化架构以及混合负载和多云多模这两个方向上发展。

  在思考如何解决海量数据给数据库带来的扩展问题过程中,OceanBase 通过两种视角,不同思路解决这一问题。王南表示:第一个视角就是对于开源和商业的生态的双生态的支持,也就是 Oracle 生态及 MySQL 生态,OceanBase 通过双引擎能够更好地来同时兼容这两个生态。另一个视角则是 OceanBase 想在数据库层来去解决集中式向分布式演变过程中遇到各种各样的问题,除了会在语法层面上来去做兼容之外,OceanBase 也会在语义以及分布式的内核的层面来去做兼容。

  王南介绍了今年 OceanBase3.X 版本对于开发工具家族的全面升级,在开发者的 OTC 工具,运维的 OCP 工具,以及数据迁移的 OMS 工具基础之外新增了一个 OMA 工具。OMA 工具帮助客户从集中式到分布式的迁移过程中快速评估以及完成应用。在开发工具方面,OceanBase 进行了两大方向的核心能力提升:在整个开发工具层面构建安全管控能力与在应用性上进行了深度优化。同时王南在演讲的最后还介绍了 OceanBase 全新的图数据库成员图 Graph,这个图库可以提供 OceanBase 在多模和大规模实时分析计算上很强大的能力支撑。

  巨杉数据库联合创始人许建辉为线上开发者分享了主题为《湖仓一体 Data Lakehouse 释放全量数据价值》的演讲。在湖仓一体化的大趋势下,产生了诸如数据在存储中相对孤立,产生冗余的问题。同时在海量数据趋势下,也对实时查询、实物保障、灵活分析等能力提出更高的要求。

  巨杉数据库通过多模的存储引擎,能够同时支持结构化、半结构化和非结构化的数据的统一存储,并能够实现统一的事务和一致性能力。经过多模的计算引擎,能够实现高并发的连接操作、实时计算和海量数据分析的能力,同时能够支持横向和纵向的海量数据的扩容,实现数据的存储和处理。

  巨杉数据库是一个全量的数据平台,通过多模存储引擎等类型产品的数据能够进行天然的存储。通过高并发的 SQL 引擎,分区计算能力,只查询并发计算,算子下推精准过滤和高性能的事务,能够实现海量数据的并发查询和实时分析。通过流式风险引擎、行列混合存储、存算分离、高性能的缓存和弹性计算能力,能够实现灵活的海量数据分析。通过统一的元数据管理和权限等,能够实现在多引擎的一致性。

  在数据容灾方面,许建辉介绍到:基于巨杉引擎级的一个副本容灾,可以实现 RTO 为零,还可以实现分区组级别的局部容灾机制,尽最大可能保证系统的可能性。面对在整个系统中是部分机器故障,我们可以采用部分机器的容灾切换,从而能够最大幅度地利用了系统的可行性,而不用产生整个集群的灾备切换。

  StarRocks 产品负责人赵恒带来了《StarRocks2.0 的特性介绍 & 版本前瞻》主题演讲。StarRocks 是一款主打急速统一的 MPPE 数据库,在数据分析场景上会有非常广泛的应用。全新的 StarRocks2.0 致力于将 OLAP 分析、实时分析、高并发查询和 Adhoc 能够在一个统一的引擎中进行实现。

  赵恒表示:多表分析场景下,我们使用了一个 TPCH 的测试集,在这个测试集下,我们对比了 StarRocks 新版本和旧版本有 3 倍到 5 倍的性能提升。同时我们在计算层在 RuntimeFilter 上也做了一些优化。

  在 2.0 的版本中,StarRocks 重新构建了内存的管理框架,hook 了所有的内存分配函数,然后并且基于线程,进行内存的统计。在生态对接方面,StarRocks2.0 通过在最近的版本也在过 Flick connector 上进行了很多的优化,可以实现数据的精确一次或者至少一次的导入。在读取方面,新版本实现了直联 BE 的方式,来满足大批量读取数据的一个分析需求。在实施同步方向,通过 Flick CDC 和迁移工具,实现了从 TP 数据库的秒级同步。

  欧数科技数据库首席架构师陶征霖分享了《新一代云原生数仓 OushuDB 的架构哲学》的主题演讲。OushuDB 是一款基于云原生的数据仓库,其计算和存储是完全分离的,有着多虚拟计算集群的特性。其次 OushuDB 通过 SIMD 的指令级实现了一个向量化的加速,并能够完全 SQL 兼容,支持混合型的负载。

  OushuDB 从上往下的体系架构有四层,分别为元数据集群、主节点集群、计算集群以及共享的数据层。在 OushuDB 中,不同的计算集群可以共享同一份的存储以及同一份的元数据,同时在计算机接电测实现了数据的缓存。在这样架构下 OushuDB 可以提供一种更高的并发度,以及集群间更好的一个资源的隔离。

  在云原生的架构下,OushuDB 有一个弹性的执行引擎,用户可以根据查询数据量的大小,以及根据当前集群资源的使用情况,动态地决定调度多少计算资源参与计算。同时 OushuDB 还有另一大特性是可插拔存储,不同的存储可支持不同的负载。

  现在的企业往往是有几十套甚至上百套的业务系统,这些业务系统是互不相连的,当你需要用数据的时候,开元ky88棋牌需要各种 A开元娱乐app官网版下载PI 或者是用 ETL 去抽数等等,这也就是数据孤岛的由来。数据孤岛目前有着非常多的解决方案,例如传统的 ETL、代码抽数,消息中间件或者是中央化的数据平台。

  但现有的方案都存在着局限性,即都是面向 AP 系统而打造,对于数据的分析存在滞后性。而 Delta Lake 有一套全新的设计,即在处理过程中,保持着每一小批的数据的增量,把这个增量记录下来,然后可以在这个基础之上回滚,即可实现一个相对实时的数据平台。

  而在 DeltaLake 的启发下,唐建法及其研究团队提供了一个全新的 increment data service 数据平台。唐建法表示:我们为 TP 型用户提供一个数据平台,不是基于批量的,而是基于实时的一个模式。它与目前绝大多数数据平台常用的 Hadoop 最大的差别,就是我们能够提供毫秒级、高于 Hadoop 百倍的查阅性能,然后写入能够支持这种及时更新、原地更新。目前我们的数据平台在零售业、制造业都有很好的落地。

  在开源的大趋势下,分布式数据库与开源的结合如同水到渠成一般呈现在开发者眼前。在接下来的分布式数据库开源生态与应用分论坛上,来自 InfoQ、OceanBase、SphereEx、Apache Doris PPMC、CSDN、红象云腾、Flink CDC Maintainer & Apache Flink Committer、Seata 的媒体,企业与开源社区负责人围绕开源议题开展了度分享。

  infoQ 主编王一鹏分享了《开源分布式数据库及行业趋势解析》的主题演讲。 2021 年 1 月,开源许可证流行度首次超过了商业许可证的流行度,分布式数据库的价值以及它的架构上的优势越来越被大家所认可。在演讲中王一鹏使用 Star、Fork 和 Commit 数量来对比国内外分布式数据库的典型产品。他发现在国内可能一般情况是 Star 数量高于 Commit 数量,而在国外一般是 Commit 数量高于 Star 数量。

  对于开源分布式数据库的未来,王一鹏表示:分布式数据库是业内共识的主要技术潮流之一,PGXC 和 NewSQL 两种风格都有成功的产品。分布式数据库在快速进入金融业,革新各大银行的底层基础设施。开源以高效的研发组织形式,动摇了传统商业数据库的根本,同时在人才梯队层面开源已经形成了技术创新的闭环。

  OceanBase 研发总监 & 开源负责人封仲淹带来了题为《OceanBase 社区版核心能力解析》的演讲。OceanBase 历经 11 年的发展,从最早的一个简单的存储系统不断创新,自研成为今天的分布式系统。在演讲中封仲淹表示:开源是一种很好的联结上下游开发商、用户和开发者不断打磨产品的有效方式。

  在社区发展上,OceanBase 的社区用户已经超过 23000 名,外部超过 100 名开发者,与超过 100 名的企业用户进行了深度的探索,进行了 POC。在社区建设上,OceanBase 的 GitHub 点赞数已经超过 4000 次,Fork 超过 860 多个,Commit 数超过 640 次。在最为关键的社区活跃度上,OceanBase 社区每日和用户的沟通次数超过了 300 次,并且社区问答数迄今为止已经超过 4600 次,在技术上与超过 3500 名开发者进行了深度的交流。

  同时在演讲中,封仲淹分享了 OceanBase 在支付宝、中汽知投、TPCC 测试、短视频厂商以及银行的 两地三中心 中的实际案例,通过六大应用场景详尽地体现了 OceanBase 的高可用、低成本、高扩展以及 HTAP 混合负载能力。

  封仲淹介绍了 OceanBase 社区版 3.1.2 版本中最新推出的社区版工具体系中的五大特性:

  OMS 社区版:OMS 是 OceanBase 提供的一站式数据库传输产品,支持多种关系数据库以及消息队列等数据终端与 OceanBase 之间的数据复制。

  ODC 支持社区版:ODC 是客户端开发套件,能够使用户更加方便地管理和使用 OceanBase,管理表、视图、库等存储对象,进行 SQL 的操作,以及导入导出等高级功能。

  秒杀热点行优化:秒杀热点行优化核心是进行提前解行锁,将过去事务中的占时最大的日志刷盘和同步进行解行锁。在性能测试中,优化后性能提升了超过 4 倍。

  开放 Table API 和 HBase 的 API:简化了运维流程的同时,可以保障开发人员不用担心 GC 和抖动问题。同时提供了更快的性能,如 scan 性能提升 2.42 倍 ,insert 性能提升 1.7 倍。

  SphereEx 创始人张亮发表了《分布式数据库下的 Proxy 与 Proxyless》的主题演讲。分布式数据库的现状主要是从单一化向多样化去发展,随着应用场景越来越多,数据量越来越大,并发越来越高,吞吐量的要求越来越高,用一款数据库去适用所有场景是不可能的。现有的异构数据库存在着数据库访问协议、SQL 方言、存储接口和结构均不同、以及数据库间无协作能力的痛点。同时异构数据服务也存在着单一数据库周边服务无法复制、难于处理多源数据库的共性需求痛点。

  ApacheShardingSphere 提出了一个叫做 Database Plus 的概念,这个概念的目标就是希望构建数据库上层生态和标准。开发者可以使用标准的 SQL 和原生的数据库协议,通过 ShardingSphere 去访问异构的多元化数据库。同时在可插拔架构之上 ShardingSphere 提供了增量的能力,可以让用户、开发者通过 ShardingSphere 提供的接口进行能力的开发。

  张亮介绍了 ShardingSphereProxy、JDBC、Proxyless 三大架构模式。其中 Proxy 有着跨语言、零侵入、隔离业务和数据计算资源的优势,但性能较低。而 JDBC 机构有着性能高、零侵入的优势,但其缺点也较为明显,仅支持 Java 且占用业务资源。而在演讲中张亮也提出了 ShardingSphere Mesh 架构设想,这一架构能够提供配置治理、流量治理以及部署治理的能力。

  Doris 是由百度自主研发并贡献给 Apache 社区的一个 MPP 架构分析型数据库产品,目前是国内唯一的分析型数据库孵化项目。Doris 全面兼容 MySQL 的网络协议,简单易用,不依赖任何外部组件。Doris 通过精心设计的 MPP 框架、向量化执行引擎、智能物化视图等多种技术,能够实现对于海量数据的毫秒 / 秒级响应,适用于高并发、高吞吐、低延时等等多场景的需求。

  Doris 基于高效的列存和现代化的 MPP 框架能够实现非常极致的查询性能。由于其完全兼容 MySQL 的网络协议以及标准的 SQL,开发者可以非常方便地将 Doris 与现有的系统进行融合。同时 Doris 能够支持离在线一体,通过灵活的资源配置策略,能够支持离线的大吞吐和高并发,适应非常丰富的场景。

  杨政国在演讲中表示:我们实现了三种非常精巧的数据模型。第一种是聚合模型,会根据相同的 key 对 Value 进行预先的聚合,通过提前聚合提升查询的性能。另外我们也实现了 Unique Key 主键唯一模型,key 相同的时候会对 Value 进行去重,从而我们也实现了精确去重和行级更新。另外我们也实现了明细模型,我们不需要提前聚合数据,实现快速排序,能够存储更多的明晰数据。

  CSDN 开源平台负责人谢志锋带来了《从 CSDN 社区看开源数据库的发展趋势》的主题演讲。他谈到,数据库本身的演进历史是一个从技术驱动到需求驱动、从单一到多样的过程,其中也诞生了诸如 CAP 理论、事务 ACID 原则、BASE 原理(NoSql、分布式)、一致性算法等重要理论原则。在数据库全新的技术时代下,一定会有大量的新型数据库出现,同时开源一定在其中占据很大的比重。

  从 CSDN 的 BI 大数据查询诉求出发,CSDN 的 BI 数据目前已经超过了 70T,支持公司内部的业务分析以及 CSDN 用户的智能推荐功能。谢志锋表示:为了优化查询,我们从租户使用,数据表管理,数据输出三个方面做了优化。在实践过程中我们发现 OceanBase 能够兼容 MySQL 所有的功能,迁移的门槛也很低,尤其是它的连接数很大,要求的数据量又很多。在需要分库分表且 NoSql 查询无法满足的情况下,OceanBase 就非常适用。

  红象云端创始人 &Hadoop 技术讲师童小军分享了题为《OceanBase 及 Hadoop 在 PB 级大数据场景下的应用探索》的演讲。红象云端旗下的 Redoop Enterprise 产品基于大数据场景需求的多样性打造,整个 Hadoop 架构包含了几十个不同的开发软件,通过组合的方式完成各种各样的需求,包含批处理需求、实时需求,云计算需求,以此服务整个企业。

  童小军表示:在选择分布式数据库时,我们列了一些必要的标准。首先是开源开放,同时分布式数据库需要具备高可用与线性扩展能力,与 Hadoop 比较接近。第三要求这款产品具有强大而事务处理能力以弥补 Hadoop 在事务处理能力的不足,最后需要与 MySQL、Oracle 有很好的兼容性,最终我们选择了 OceanBase。

  在演讲中童小军介绍了 Hadoop 与 OceanBase 组合服务的客户案例。在新能源光伏电力大数据上线的案例中,OceanBase+Redoop Enterprise 的平台服务于数据接口、系统应用、报表展现、可视化等一系列功能,形成了一个敏捷的,统一的电力行业大数据平台。在通信领域的大数据案例中,通过 Redoop Enterprise 平台部署了一系列安装、监控、运维等各种组件,OceanBase 在中间承担了关键的替换 MySQL 的任务。

  FlinkCDC Maintainer & Apache Flink Committer 徐榜江发表了《基于 Flink CDC 的全增量一体化数据集成方案》的主题演讲。通常来讲 CDC 技术主要是面向数据库的变更,用于捕获数据库中数据变更的技术。而 Flink CDC 将传统的数据库 CDC 技术跟 Flink 底层的 log 机制进行深度结合,再利用 Flink 优秀的管道能力和丰富的上下游生态,将 CDC 数据通过加工后同步到下游。

  在入湖架构中,FlinkCDC 提供了全增量实时同步能力,能够做到不影响业务的稳定性,将数据的产出提高到分钟级别。同时,FlinkCDC 能够做到全量和增量的一体化同步,一个组件、一条链路就解决需求,其链路更短,组件更少。

  在演讲中徐榜江介绍了基于 Flink CDC 做全增量一体化数据集成有四个核心特性,分别是增量快照读取、存储写入友好、支持异构数据融合、支持分库分表合并。在最后徐榜江分享了 Flink CDC 开源社区最新的动态,除了版本高速更新外,在 GitHub 的十大年度增长中,Flink CDC 的增长超过 330%,目前已经到了 1500 左右。

  Seata 开源社区负责人季敏带来了主题为《基于 Seata &OceanBase 在微服务架构下的数据一致性解决方案》的演讲。根据 Seata 在 2019 年在微服务市场中做的调差显示,分布式服务是微服务中最大的痛点。分布式事务的主要业务场景可以归为三类,一种是跨库,例如 Oracle 到 MySQL 的迁移,另一种是跨服务,最后一种是资源多样性。

  关于 Seata 社区的演进,Saeta 最初的定位是开源的分布式事务解决方案。对市面上主流的数据库,Seata 都进行了广泛地支持。Seata 从概念上定义了分布式事务的角色,在原生的 Oracle XA 角色,又扩展了 TCC 角色扮演独立的协调性,增强了事务边界的可扩展性。同时 Seata 通过抽象出实物模型框架 Framework,并将 AT、TCC、Saga、XA 模式融入其中进行了重塑。

  季敏表示:Seata 未来长期的发展路径就是支持更多数据库生态,这样的话就可以做到我们在业务的应用中可以无缝地使用各种数据库。当我们做到这一点,Seata 跟数据库生态的集成就是一个完全透明、非常紧密的结合,我们也期待着未来 Seata 能支持数据库生态中有更好的应用架构。