写点什么

GaussDB(DWS) 如何实现实时, 批量和交付式查询一站式开发

作者:乌龟哥哥
  • 2022 年 8 月 23 日
    河北
  • 本文字数:3243 字

    阅读完需:约 11 分钟

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.优化器动态感知系统负载,根据资源状况生成最优执行计划。


  1. CN 队列控制全局并发,资源池队列控制局部并发,利用资源池优先级管理混合负载复杂场景。

  2. 分时复用机制,限额配额分酉配机制保证资源的隔离的基础上实现充分利用。

  3. 快慢车道实现复杂查询和简单查询的混合运行。

  4. 资源限额保证资源绝对隔离,资源配额保证系统充分利用。


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)︰批量与查询业务一站式

按照数仓设计模型,将业务数据加工链路映射至读写分离的逻辑集群


  1. 业务领域需要加工,清洗,汇总的贴源数据、明细数据,从数据湖直接抽取入库批量逻辑集群

  2. 公共维数据,从数据湖抽取到批量和查询逻辑集群

  3. 在批量集群中进行指标计算、汇总计算,加工成各类指标维数据、集巿数据

  4. 面向业务对象萃取标签(事实规则类、统计类、算法类)汇总数据,通过 ETL 导入到查询逻辑集群。

  5. 分析师、业务人员从查询逻辑集群中进行联机分析


3.8 典型案例(SD 城商)︰一套系统分时实现批量和交互式查询

系统特点:混合负载


批量作业和实时查询,集群规模:12 节点 4*12DN,5CN 数据量 12OT+


**批量系统 **完成数据归档,数据加工,五大会计报表作业,共 17W/天


  1. 数据归档,xx 家商业银行,xxx 家村镇银行的曰增量数据批量入库,每日 23:00 -- 1:00;

  2. 数据加工,核心作业 7W 个 2h 内加工完成。


实时系统 手机银行终端 7×24 小时实时查询业务


  1. 个人用户量 1xxxW+,企业用户量 xxW+,交易量 xxxW+笔/天,并行日间批量作业 10W+个;

  2. 实时查询在批量高峰期 3s 内响应,跑批和实时作业互不影响。


4 一站式分析的未来规划

4.1 GaussDB(DWS)云数仓,基于云存储实现冷热数据,跨集群数据共享,数据同步

基于本地盘进行性能加速,OBS 作为冷数据区、共享交换区,备份数据区,实现一体化的数据仓库


4.2 GaussDB(DWS)云数仓,基于云存储实现跨集群数据共享


关键技术:


  • 文件级多版本,实现多集群读写不冲突基于云存储实现一份

  • 数据跨集群共享访问,并保证数据一致性

4.3 GaussDB(DWS)云数仓,基于云存储实现跨集群数据同步


关键技术


  • 单 SQL 实现跨集群数据同步,透明访问

  • 流水线文件读写,异步传输,性能高;

发布于: 刚刚阅读数: 3
用户头像

乌龟哥哥

关注

正在努力寻找offer的大四小菜鸟 2021.03.16 加入

擅长 Hbuilder、VS Code、MyEclipse、AppServ、PS 等软件的安装与卸载 精通 Html、CSS、JavaScript、jQuery、Java 等单词的拼写 熟悉 Windows、Linux、 等系统的开关机 看–时间过得多快,不说了,去搬砖了

评论

发布
暂无评论
GaussDB(DWS)如何实现实时,批量和交付式查询一站式开发_8月月更_乌龟哥哥_InfoQ写作社区