GaussDB(DWS) 如何实现实时, 批量和交付式查询一站式开发
1 数据分析平台的挑战
在智能数据时代多样性应用、海量数据、实时处理对数据平台提出挑战
数据应用快速发展,现阶段主要矛盾是数据的供需矛盾
数据平台建设重心转向支撑业务应用上线,现阶段的主要矛盾是
数据平台无法满足业务部门日益增长的==数据消费==需求的无法处理多样化==数据供给==之间的矛盾
1.1 当前典型的数据架构
1.2 主要痛点
七国八制,组件多,开发方式不统一,数据格式不统一,需要反复转换;
组件间数据流转开发复杂,流转效率不高;跨集群,跨组件数据一致性差;
依赖于 Oracle 提供实时数据接入和交互式查询,分析的扩展性差;
1.3 GaussDB(DWS)整体解决方案
1.3.1 解决思路:
—套架构支撑实时、此量和交互式查询
与 Kafka/Flink 等组件联合提供批比流合—能力与 Hadoop、OBS 联合提供历史数据存储、归档、数钢交换和查询能力
1.3.2 周边配套的云服务:
数据接入:Kafka:做流式弋规接入;DRS:从业务数据库中实时同步增量数据;CDM:从业务数据库或者文本数据同步批量数据。
数据存储:DWS 本地存储:数据有存储在 DWS 的数据盘;HDFS:与大数 MRS 配合方案时,大数据加口工后的数据可以使用 DWS 外表方式读取;OBS:大量数热导入到 DWS 时,可以先放到 OBS 上,再以 DWS 外表方式写入到 DWS;或者是历史数据可以归档到 OBS 中,使用是可以以 DWS 外表方式读取。数据治理:DAYU:做数据加工、数据治理、业务调度。
数据展示:BI 工具:专业 BI 工具可以使用严选中的永洪、帆软。
2GaussDB(DWS)如何支撑实时、批量和交互式查询的
2.1 GaussDB(DWS)产品策略:一套架构支撑实时、批量和交互式查询
产品目标:围绕==企业级内核==(高性能,高扩展,高可用,融合分析,智能运维)、==实时分析==、==云原生==三大方向构筑业界第一数据仓库关键竞争力:
架构归一:一套架构支撑标准数仓、实时数仓、云数仓,支持一站式实时、批量和交互式查询
业界首创:实时数仓、2048 节点大集群、逻辑集群(流程 IT)
持续领先:大规模集群(G 行,480 节点上线)、性能领先,非对称容灾(RTO<30min)、在线扩容、Cloud-Native 运维
2.2 GaussDB(DWS)实时处理技术:实时数据接入+实时分析
方案价值实时数据接入:支持 lot 数据接入和交易数据实时接入,lot 时序数据接入 10w/s/节点,流数据接入 60w/s/节点;数据更新秒级同步:交易数据实时接入,支持增删改数据实时数据和维度数据、历史数据关联分析:实时数仓可以存储维度数据、历史数据,并支持关联分析,负载隔离。关键技术数据复制:交易数据实时接入,支持增删改数据流引擎:流数据接入、持续计算
时序引擎:时序数据接入、实时合并
Delta 引擎:微批数据接入、实时合并
应用举例:
某国有保险实时系统:40+节点,~500TB 数据,3W+表分钟级实时接入,整体替换掉 100+单机 SQL server 库。
2.3 GaussDB(DWS)批量处理技术:高性能+大集群
应用举例:
某国有大行 EDW 系统:480 节点,3PB+数据,3W+批处理作业
2.4 GaussDB(DWS)交互式查询技术
核心问题:如何处理高并发点查询;如何如何处理 Adhoc 复杂 SQL;如何防止烂 SQL 搞跨整集群
分布式查询优化核心技术
分布式查询重写: 30+查询重写技术,10+项分布式查询重写,查询重写相关专利 4 篇
分布式查询优化:基于 Poisson 的估算模型、全局/单点 cOst 估算模型
—健式 SQL 调优:简易 SQL 调优
异常资源实时监控核心技术
运行态实时视图:实时监控运行状态和资源消耗
基于规则的异常资源实时监控
应用举例
某国有大行分析师平台:480 节点,3PB 数据,每天支撑 10w+笔查询,1w+分析师。
3 实时、批量和交互式查询一站式分析的开发实践及案例
3.1 GaussDB(DWS)一站式技术负载感知的优化执行技术,实现多种负载混合管理
多种技术提升混合负载并发能力 1.优化器动态感知系统负载,根据资源状况生成最优执行计划。
CN 队列控制全局并发,资源池队列控制局部并发,利用资源池优先级管理混合负载复杂场景。
分时复用机制,限额配额分酉配机制保证资源的隔离的基础上实现充分利用。
快慢车道实现复杂查询和简单查询的混合运行。
资源限额保证资源绝对隔离,资源配额保证系统充分利用。
3.2 GaussDB(DWS)—站式技术逻辑集群,支持多业务统一管理和隔离,实现纵向扩展
在企业传统的数据分析系统中,各系统烟囱式建设、资源无法池化共享,各个业务分散部署,缺乏统—管理。
将不同用户的数据存放在不同的物理节点组(逻辑集群),元数据统―管理,实现数据共桌的同时实现资源的绝对隔离。
3.3 GaussDB(DWS)—站式技术融合分析,互联互通,支持直接读写 HDFS/OBS 数据
多种互联互通:
通过 Extension Connector 和 Oracle、Hive 等数据源互联互通
通过 FDW 外表机制实现和 HDFS、oBS 数据读写,支持 HDFS 外表、OBS 外表、MPP 外表
HDFS 外表支持 ORC/txt/csv/Parquet 文件格式,OBS 外表支持 ORC/txt/csv 文件格式
应用透明,兼容标准 SQL:
标准 ANSI SQL2003
标准开发接口 JDBC、ODBC
支持 SQL2003 标准访问 HDFS、OBS
3.4 场景一:分时复用资源,实现实时、交互式查询一站式
资源池队列实现资源隔离与负载管理,解决业务核心痛点:
业务高峰期,批量作业一启动,实时查询大量排队等待,影响使用
某业务部门上线烂 SQL,吃光所有系统资源,影响其他部门正常使用
多 ISV 合作,互相抢占集群资源,影响作业性能指标
利用资源池分时计划,合理规划不同类型作业执行时间,充分使用系统资源
3.5 场景二:多逻辑集群实现实时、批量、交互式查询的库内数据流转
系统特点
在一套集群内,规划不同的节点,分别承载实时数据接入,批量处理以及高并发查询
T+0 数据接入实时集群,提供实时分析和微批运算
T+0 数据根据时间戳,采用 Insert into ... Select 的方式定时导入到批量集群
批量计算后的分析汇总数据根据时间戳,采用 Insert into ... Select 的方式定时导入到交互式查询逻辑集群
优缺点分析
系统资源完全隔离,各业务可无干扰并行运行
数据同步可使用 SQL,方便高效,不需要额外数据存储空间
数据同步需拷贝数据
3.6 场景三:多集群互联互通,分别承载实时、批量、交互式查询,实现集群间数据流转
系统特点
规划不同的物理集群,分别承载实时数据接入,批量处理以及高并发查询
T+0 数据接入实时集群,提供实时分析和微批运算
实时集群 T+0 数据根据时间戳,采用 OBS 外表导出的方式导出到 OBS,批量集群采用 OBS 外表导入的方式导入到批量集群
批量计算后的分析汇总数据根据时间戳,采用 OBS 外表导出的方式导出到 OBS,查询集群采用 OBS 外表导入的方式导入交互式查询逻辑集群
优缺点分析
系统资源完全隔离,各业务可无干扰并行运行
数据同步可使用 SQL,方便高效
需要设计外表,并有额外空间存储同步数据
3.7 典型案例(RY)︰批量与查询业务一站式
按照数仓设计模型,将业务数据加工链路映射至读写分离的逻辑集群
业务领域需要加工,清洗,汇总的贴源数据、明细数据,从数据湖直接抽取入库批量逻辑集群
公共维数据,从数据湖抽取到批量和查询逻辑集群
在批量集群中进行指标计算、汇总计算,加工成各类指标维数据、集巿数据
面向业务对象萃取标签(事实规则类、统计类、算法类)汇总数据,通过 ETL 导入到查询逻辑集群。
分析师、业务人员从查询逻辑集群中进行联机分析
3.8 典型案例(SD 城商)︰一套系统分时实现批量和交互式查询
系统特点:混合负载
批量作业和实时查询,集群规模:12 节点 4*12DN,5CN 数据量 12OT+
**批量系统 **完成数据归档,数据加工,五大会计报表作业,共 17W/天
数据归档,xx 家商业银行,xxx 家村镇银行的曰增量数据批量入库,每日 23:00 -- 1:00;
数据加工,核心作业 7W 个 2h 内加工完成。
实时系统 手机银行终端 7×24 小时实时查询业务
个人用户量 1xxxW+,企业用户量 xxW+,交易量 xxxW+笔/天,并行日间批量作业 10W+个;
实时查询在批量高峰期 3s 内响应,跑批和实时作业互不影响。
4 一站式分析的未来规划
4.1 GaussDB(DWS)云数仓,基于云存储实现冷热数据,跨集群数据共享,数据同步
基于本地盘进行性能加速,OBS 作为冷数据区、共享交换区,备份数据区,实现一体化的数据仓库
4.2 GaussDB(DWS)云数仓,基于云存储实现跨集群数据共享
关键技术:
文件级多版本,实现多集群读写不冲突基于云存储实现一份
数据跨集群共享访问,并保证数据一致性
4.3 GaussDB(DWS)云数仓,基于云存储实现跨集群数据同步
关键技术
单 SQL 实现跨集群数据同步,透明访问
流水线文件读写,异步传输,性能高;
版权声明: 本文为 InfoQ 作者【乌龟哥哥】的原创文章。
原文链接:【http://xie.infoq.cn/article/c2b8c4229b7510653c93b632b】。文章转载请联系作者。
评论