写点什么

华为云原生数据仓库 GaussDB(DWS) 深度技术解读:融、快、大、稳、易

发布于: 2021 年 03 月 01 日

摘要:云原生数据仓库 GaussDB(DWS)架构师应邀为大家解读数仓深度技术。


“云原生”在 2020 年成为备受瞩目的热词,云原生在确保企业数字化转型中资源快速供给、按需使用的同时,支持敏捷的应用开发、稳定的交付运维,加速企业的敏捷创新,是企业数字化转型、智能化升级的必经之路。


在华为云原生 2.0 技术峰会上,云原生数据仓库 GaussDB(DWS)架构师应邀为大家解读数仓深度技术。



GaussDB(DWS)云原生数据仓库五大核心竞争力


关键能力 1- 融:云原生架构,支持跨源数据融合分析、冷热数据分级存储


融合分析能力是云原生数据仓库 GaussDB(DWS)核心亮点之一。GaussDB(DWS)采用一套 SQL 引擎,支持 Oracle、Mysql、HDFS 等多源数据融合分析,并通过算子下推、加速集群等技术对分析性能进行了大幅优化,在数据免搬迁的前提下,实现了跨源数据免搬迁、高效分析。


GaussDB(DWS)云原生数据仓库支持冷热数据多温存储,热数据存储于数仓内部,以获得良好的查询分析性能,冷数据可分级存储到更低成本的 OBS 中,不仅降低存储成本,并且在 OBS 内,通过合法鉴权,数据能够共享开放,供其他引擎处理分析,GaussDB(DWS)当前已经支持表内不同分区间的冷热数据存储,未来还将支持更细粒度、更加智能的冷热数据管理。


关键能力 2 - 快 :聚合云海量算力,软硬垂直优化,效率最优


第二大特点,快。GaussDB(DWS)主要通过多层级全并行架构来实现。


并行的第一个层级,是集群内物理节点间的并行,CN 将计划动态分布到多个服务器,通过分布式执行框架,将查询计划在集群内多台物理节点并行执行;


第二个层级,是算子级并行,在每个服务器内,查询算子能够利用一个节点内多个 CPU 核心进行并行计算;


第三个层级,是在一个 CPU 核心的指令序列中支持 SIMD 指令,结合我们的向量化引擎,实现一个指令同时操作多条数据。


同时,我们还集成了现代编译器技术,利用 LLVM 框架,运行时动态生成执行代码,减少无关指令生成;数据量越大,可获得的性能提升效果越好。


正是因为有这样一个全并行计算引擎,我们可以将系统资源最大化利用,提供极致的分析性能。


随着金融风控,以及 IoT 场景对数据实时处理分析的诉求,我们正式发布了 GaussDB(DWS)实时数仓版本,快上加快,将快发挥到极致。实时数仓的快主要体现在两个方面。首先是入库速度快,与传统数仓不同,数据的加载不再是 T+1 的大批量加载模式,而是更加实时的高并发小批量模式。DWS 实时数仓时序数据单机入库性能达 10w/s,流数据达 60w/s,并能够线性扩展。其次是计算分析快,支持基于流式数据的持续计算查询,预置了丰富的时序和流处理函数,通过 SQL 即可完成复杂流式计算,可实现亿级数据,秒级聚合。


正所谓一切皆 SQL,经历了几十年的发展,SQL 依然是最简洁高效的数据开发语言,能极大的简化应用开发。以 Druid 监控的一个场景为例,原先 1900 行的脚本,在 GaussDB(DWS)实时数仓中采用 SQL 语句,仅用 150 行代码就能实现同样的功能,开发效率提升 10+倍。



关键能力 3 - 大 :云分布式、按需扩展,支持 10PB 级数据,大而有序


第三个特点,大。我们在 Shared-Nothing 全分布式架构下,不仅实现了容量线性扩展,在数据加载、数据分析性能上同样实现了线性扩展,从小集群逐步扩展到大集群规模过程中,随着节点数增加,线性扩展比可以高达 0.9。


从技术上看,大集群需要攻克通信风暴、故障容错和数据备份恢复一致性三大难题。我们通过独创的 Multi-Streams 多流通信技术,支持集群内百亿级的通信连接,突破了大规模通信的技术瓶颈。在高可用方面,大规模集群下硬件故障成为常态,我们积累了多年,做了大量硬件故障感知及容错处理的工作,来保证大规模集群下的集群自愈和业务可用。在备份恢复方面,我们不仅通过多层级并行实现了线性扩展,还做到了完全在线的全局强一致物理备份,甚至支持表级别的细粒度恢复,竞争力达到了业界领先。


GaussDB(DWS)现网运行的 PB 级数据量以上的大集群已经有 10+个,最大商用单集群规模达到 240 节点。在产品能力上,GaussDB(DWS)可扩展至 2048 节点,并且该规模在 12 月已通过信通院的权威评测,树立了业界新标杆。另外,我们还实现了逻辑集群特性,一套物理集群可针对不同业务划分多个逻辑集群,数据相互隔离,支持跨逻辑集群的计算资源调动。通过逻辑集群,可以进一步扩展集群的规模。


关键能力 4 - 稳:高可用设计,支持跨 AZ 容灾,数据无忧、永远在线


第四大特点,稳。首先,产品所有内部组件 CN、DN、GTM、CM 等采用多活或主备设计,通过集群管理进行故障检测和切换。其次,在硬件层面,除了最基本的宕机、断网的直接故障外,GaussDB(DWS)还针对夯死、慢节点、亚健康等僵而不死的复杂场景,做了大量的建模和针对性优化,能够实现故障的准确探测和自愈。


在数据可靠性方面,对于数仓而言,数据存一份有单点故障问题,存三份又太浪费资源,一般来讲数据一主一备是个相对合理的选择,但在故障造成网络分区的场景下,很容易出现双主“脑裂”问题,造成数据不一致。GaussDB(DWS)独创的“主-备-从”技术,引入“主”、“备”、“从”三种角色。集群正常时数据仅在主备间进行同步,发生单点故障时数据向“从”同步,从而保证任何状况下都有两副本的数据冗余。在网络分区等异常场景下,一旦主备产生数据分叉,从备又可以承担仲裁者的角色,通过日志比对找到持有正确数据的节点继续提供服务。从而既完美解决了一主一备的脑裂问题,又能够仅用两副本空间代价实现接近三副本的可靠性。


对于可靠性要求更高的客户,我们还提供了双集群容灾能力,通过跨 AZ、跨 Region 的物理复制,实现异构集群容灾。通过多年的技术积累,我们基本做到了“数据无忧、永远在线”的目标。


关键能力 5 - 易:快速迁移传统数仓,助力企业轻松上云


第五个特点,易利用 GaussDB(DWS)的迁移工具,用户能够非常容易的将数据从线下的 Teradata、Oracle 等传统数仓快速搬迁上云。


迁移主要分为应用迁移数据迁移两部分。应用迁移是指由于线下传统数据仓库的语法及功能不同,导致业务脚本、存储过程等需要改造适配,为此,GaussDB(DWS)把深耕市场多年、成功迁移数十套 Teradata 和 Oracle 数仓的成功经验,开发为一套完整的语法迁移工具,能够支持对数据类型、SQL 语法、DSQL 脚本、存储过程等语法的自动化转换,对 Teradata 的常用语法自动化转换率超过 90%,对 Oracle 超过 60%。


对于动辄几十 TB、数百 TB 的海量数据而言,数据迁移速度极大程度影响业务停机的时间,这对网络、入库能力和迁移工具的效率都提出了很高的要求,以我们去年的某次数据搬迁为例,1PB 的数据仅用 11 小时即完成传输,加上准备工作和数据校验的时间,端到端也仅用时 17 小时,搬迁速率 91TB/小时,并且做到数据 0 丢失。 GaussDB(DWS)经过近 10 年的技术沉淀,已服务于全球 1000+客户,广泛应用于金融、政府、运营商、交通、物流、互联网等领域。


本文分享自华为云社区《五大关键能力,华为云原生数据仓库 GaussDB(DWS)深度技术解读》,原文作者:DWS 殿阁大学士 。


点击关注,第一时间了解华为云新鲜技术~


发布于: 2021 年 03 月 01 日阅读数: 43
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
华为云原生数据仓库GaussDB(DWS)深度技术解读:融、快、大、稳、易