0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文学会ByteHouse搭建数仓最佳实践

jf_ro2CN3Fa 来源:芋道源码 作者:芋道源码 2022-12-16 11:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着数据的应用场景越来越丰富,企业对数据价值反馈到业务中的时效性要求也越来越高,很早就有人提出过一个概念:数据的价值在于数据的在线化。实时计算起源于对数据加工时效性的严苛需求:数据的业务价值随着时间的流逝会迅速降低,因此在数据产生后必须尽快对其进行计算和处理,从而最大效率实现数据价值转化,对实时数仓的建设需求自然而然的诞生了。而建设好实时数仓需要解决如下几个问题:

一、稳定性:实时数仓对数据的实时处理必须是可靠的、稳定的;

二、高效数据集成:流式数据的集成必须方便高效,要求能进行高并发、大数据量的写入;

三、极致性能要求:实时数仓不能仅限于简单查询,需要支持复杂计算能力,且计算结果可秒级返回;

四、灵活查询:需要具备自助分析的能力,为业务分析提供灵活的、自助式的汇总和明细查询服务;

五、弹性扩缩:需要具备良好的扩展性, 必须架构统一具备扩展性,可为IT建设提供灵活性。

针对以上问题,火山引擎不断在业务中摸索,总结了基于 ByteHouse 建设实时数仓的经验。

选择ByteHouse构建实时数仓的原因

ByteHouse 是火山引擎在 ClickHouse 的基础上自研并大规模实践的一款高性能、高可用企业级分析性数据库,支持用户交互式分析 PB 级别数据。其自研的表引擎,灵活支持各类数据分析和保证实时数据高效落盘,实现了热数据按生命周自动冷存,缓解存储空间压力;同时引擎内置了图形化运维界面,可轻松对集群服务状态进行运维;整体架构采用多主对等架构设计,架构安全可靠稳定,可确保单点无故障瓶颈。

ByteHouse 的架构简洁,采用了全面向量化引擎,并配备全新设计的优化器,查询速度有数量级提升(尤其是多表关联查询)。

用户使用 ByteHouse 可以灵活构建包括大宽表、星型模型、雪花模型在内的各类模型。

ByteHouse 可以满足企业级用户的多种分析需求,包括 OLAP 多维分析、定制报表、实时数据分析和 Ad-hoc 数据分析等各种应用场景。

ByteHouse 优势一:实时数据高吞吐的接入能力

面对业务大数据量的产生,需要高效可靠实时数据的接入能力,为此我们自研了 Kafka 数据源接入表引擎 HaKafka ,该表引擎可高效的将 Kafka 的数据接入 ByteHouse ,具有有如下特性:

数据接入高吞吐性,支持了多线消费 Kafka topic 对应 Partition 的数据,满足大数据量实时数据接入的需求。

数据接入高可靠性,通过 Zookeeper 来实现主备消费节点管理,比如,当线上出现某个节点出现故障或无法提供服务时,可以通过 Zookeeper 心跳感知机制自动切换到另一个节点提供服务,以此来保障业务的稳定性。

数据接入原子性,引擎自行管理 Kafka offset ,将 offset 和 parts 进行绑定在一起,来实现单批次消费写入的原子性,当中途消费写入失败,会自动将绑定的 parts 撤销,从而实现数据消费的稳定性。

具体流程原理如下图所示

aef11e28-7ce9-11ed-8abf-dac502259ad0.png

ByteHouse 优势二:基于主键高频数据更新能力

随着实时数据分析场景的发展,对实时数据更新的分析需求也越来越多,比如在如下的业务场景就需要实时更新数据能力:

• 第一类是业务需要对它的交易类数据进行实时分析,需要把数据流同步到 ByteHouse 这类 OLAP 数据库中。大家知道,业务数据诸如订单数据天生是存在更新的,所以需要 OLAP 数据库去支持实时更新。

• 第二个场景和第一类比较类似,业务希望把TP数据库的表实时同步到 ByteHouse,然后借助 ByteHouse 强大的分析能力进行实时分析,这就需要支持实时的更新和删除。

• 最后一类场景的数据虽然不存在更新,但需要去重。大家知道在开发实时数据的时候,很难保证数据流里没有重复数据,因此通常需要存储系统支持数据的幂等写入。

基于以上业务场景的需求,我们自研了基于主键更新数据的表引擎 HaUniqueMergeTree,该表引擎即满足高效查询性能要求,又支持基于主键更新数据的表引擎,有如下特性:

通过定义 Unique Key 唯一键,来提供数据实时更新的语义,唯一键的选择支持多字段和表达式的模式;

支持分区级别数据唯一和表级别数据唯一两种模式;

支持多副本高可靠部署,实测数据去重写入吞吐达每秒10万行以上(10w+/s),很好的解决了社区版 ReplacingMergreTree 不能高效更新数据的痛点。

具体流程原理如下图所示

af0368d0-7ce9-11ed-8abf-dac502259ad0.png

具体的原理细节可查阅之前发布的文章 干货 | ClickHouse增强计划之“Upsert”

ByteHouse 优势三:多表 Join 查询能力

在构建实时数据分析的场景中,我们常在数据加工的过程中,将多张表通过一些关联字段打平成一张宽表,通过一张表对外提供分析能力,即大宽表模型。其实大宽表依然有它的局限性,一是,生成每一张大宽表都需要数据开发人员不小的工作量,而且生成过程也需要一定的时间;二是,生成宽表会产生大量的数据冗余。针对宽表模型的局限性,我们从0到1自研实现了查询优化器,非常好的支持复杂查询的需求,有如下特性:

兼容两种 SQL 语法,支持 ANSI SQL 和原生 CLICKHOUSE SQL ;

支持基于RBO优化能力,即支持:列裁剪、分区裁剪、表达式简化、子查询解关联、谓词下推、冗余算子消除、Outer-JOIN 转 INNER-JOIN、算子下推存储、分布式算子拆分等常见的启发式优化能力;

支持基于 CBO 优化能力,基于 Cascade 搜索框架,实现了高效的 Join 枚举算法,以及基于 Histogram 的代价估算,对 10 表全连接级别规模的 Join Reorder 问题,能够全量枚举并寻求最优解,同时针对大于10表规模的 Join Reorder 支持启发式枚举并寻求最优解。CBO 支持基于规则扩展搜索空间,除了常见的 Join Reorder 问题以外,还支持 Outer-Join/Join Reorder,Magic Set Placement 等相关优化能力;

分布式计划优化,面向分布式 MPP 数据库,生成分布式查询计划,并且和 CBO 结合在一起。相对业界主流实现:分为两个阶段,首先寻求最优的单机版计划,然后将其分布式化。我们的方案则是将这两个阶段融合在一起,在整个 CBO 寻求最优解的过程中,会结合分布式计划的诉求,从代价的角度选择最优的分布式计划。对于 Join/Aggregate 的还支持 Partition 属性展开。

高阶优化能力,实现了 Dynamic Filter pushdown、单表物化视图改写、基于代价的 CTE (公共表达式共享)。

af1cb1aa-7ce9-11ed-8abf-dac502259ad0.png

具体的原理细节可查阅之前发布的文章 干货 | ClickHouse增强计划之“查询优化器”

实时数仓建设方案

借助Flink 出色流批一体的能力,ByteHouse极致的查询性能,为用户构建实时数仓,满足业务实时分析需求。

af382a3e-7ce9-11ed-8abf-dac502259ad0.png

Flink 作为流式数据处理引擎,使用Flink SQL为整个实时数仓数据提供数据转化与清洗;

Kafka作为流式数据临时存储层,同时为Flink SQL 数据转化与清洗提供缓冲作用,提高数据稳定性;

ByteHouse 作为流式数据持久化存储层,使用 ByteHouse HaKafka 、HaUniqueMergeTree 表引擎可将 Kafka 临时数据高效稳定接入储存到 ByteHouse ,为后端应用提供极速统一的数据集市查询服务。具体的数据链路如下图所示

af4a3940-7ce9-11ed-8abf-dac502259ad0.png

实时数仓各逻辑层功能职责如下:

ODS 层(Operational Data Store)

把生产系统的数据导入消息队列,原则上不做任何清洗操作,字段信息跟数据源保持一致。目的是为了对数据源做收敛管理,数据排查上也好做溯源回查。

DWD 层(Data Warehouse Detail)

DWD 层采用维度建模理论,针对业务内容梳理业务实体的维表信息和事实表信息,设计 DWD 明细宽表模型,根据设计好的逻辑模型对 ODS 层的数据进行数据清洗,重定义和整合,整合主要包含多流 join 和维度扩充两部分内容, 建设能表达该业务主题下具体业务过程的多维明细宽表流。每一份 DWD 表从业务梳理->模型设计->数据流图->任务开发链接->数据校验结果->数据落地信息->常用使用场景归纳。

DWS 层(Data Warehouse Summary)

该层级主要在 DWD 层明细数据的基础上针对业务实体跨业务主题域建设汇总指标,根据统计场景,设计汇总指标模型。

APP 层(Application)

作为对接具体应用的数仓层级,由 ByteHouse 提供统一的数据服务,是基于 DWD 和 DWS 层对外提供一些定制化实时流。

ByteHouse 已经在火山引擎上全面对外服务,并且提供各种版本以满足不同类型用户的需求。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7315

    浏览量

    94031
  • 数据库
    +关注

    关注

    7

    文章

    3993

    浏览量

    67794
  • 数据分析
    +关注

    关注

    2

    文章

    1508

    浏览量

    35953

原文标题:一文学会 ByteHouse 搭建数仓最佳实践

文章出处:【微信号:芋道源码,微信公众号:芋道源码】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    长电科技荣获2025年上市公司可持续发展最佳实践案例

    近日,长电科技荣获中国上市公司协会颁发的“2025年度上市公司董事会最佳实践案例”“2025年上市公司可持续发展最佳实践案例”两项大奖,彰显市场对长电科技公司治理,践行ESG可持续发展
    的头像 发表于 12-10 10:34 244次阅读
    长电科技荣获2025年上市公司可持续发展<b class='flag-5'>最佳</b><b class='flag-5'>实践</b>案例

    立讯精密荣获2025年上市公司可持续发展最佳实践案例

    11月18日,由中国上市公司协会(中上协)主办的2025上市公司可持续发展大会在北京隆重召开。会上,中上协发布了2025上市公司可持续发展最佳实践案例名单,从环境、社会和治理3个维度出发评优树典,立
    的头像 发表于 11-26 17:49 1511次阅读

    爱芯元智荣获2025金辑奖最佳技术实践应用奖

    2025年盖世汽车第七届“金辑奖”揭晓,爱芯元智凭借全球化辅助驾驶芯片M57系列荣获“最佳技术实践应用奖”。
    的头像 发表于 11-02 09:17 525次阅读

    安波福荣获2025年度最佳实践奖之产品领导力大奖

    近日,全球领先的增长咨询公司Frost & Sullivan在美国亚利桑那州举办2025年度最佳实践奖颁奖典礼。安波福PULSE雷达视觉体感知系统凭借在全球汽车辅助泊车领域的卓越表现,荣获2025年度
    的头像 发表于 10-30 15:02 1550次阅读

    达实智能荣获中国企业管理“十大最佳实践”奖

    受邀参会,达实智能凭借公司创新案例荣获“十大最佳实践”奖。 活动汇聚了全球顶尖管理学者、企业家及政商学界精英,共探AI时代的管理变革与创新路径。作为本届论坛的重要成果,首届“中国企业管理
    的头像 发表于 10-20 17:53 1828次阅读

    洲明科技入选2025年上市公司内部控制优秀实践案例

    近日,由中国上市公司协会主办的“2025年中国上市公司内部控制最佳实践案例”评选结果正式揭晓。洲明科技凭借在内控工作上系统化、智化建设的积极实践与显著成效,荣获“2025年上市公司内
    的头像 发表于 10-11 10:11 415次阅读

    中软国际多领域聚智能方案的实践分享

    聚智能方案的实践分享》的演讲,深入剖析了公司围绕“云+AI”构建的服务体系与产品矩阵,以及多个行业的落地案例,为企业智化转型提供了清晰路径与实用借鉴。
    的头像 发表于 09-01 11:42 498次阅读

    生产环境中Kubernetes容器安全的最佳实践

    随着容器化技术的快速发展,Kubernetes已成为企业级容器编排的首选平台。然而,在享受Kubernetes带来的便利性和可扩展性的同时,安全问题也日益凸显。本文将从运维工程师的角度,深入探讨生产环境中Kubernetes容器安全的最佳实践
    的头像 发表于 07-14 11:09 510次阅读

    Linux网络管理的关键技术和最佳实践

    在大型互联网企业中,Linux网络管理是运维工程师的核心技能之。面对海量服务器、复杂网络拓扑、高并发流量,运维人员需要掌握从基础网络配置到高级网络优化的全套技术栈。本文将结合大厂实际场景,深入解析Linux网络管理的关键技术和最佳实践
    的头像 发表于 07-09 09:53 697次阅读

    长安汽车与深演智能荣获2025爱分析DeepSeek最佳实践案例

    近日,深演智能与长安汽车联合打造的 《长安汽车基于大模型的线索清洗创新运营项目》 荣获 2025爱分析·DeepSeek最佳实践案例奖项。面对汽车市场竞争加剧、线索成本攀升的行业痛点,该项目通过AI技术重构营销全链路,为车企
    的头像 发表于 06-28 15:59 2249次阅读

    天马荣获新财富杂志“2024 ESG最佳实践奖”

    天马可持续发展•ESG表现再获认可,上榜2024年新财富杂志最佳上市公司评选“ESG最佳实践榜单”。
    的头像 发表于 05-21 14:43 751次阅读

    曙光存储入选2025年中国先进存力最佳应用实践

    近日,国际权威分析机构沙利(Frost & Sullivan)联合头豹研究院发布《2025年中国先进存力最佳应用实践》,以闪存为标志的先进存力已在各行业落地,尤其是AI、金融、通信等行业,先进存力占比均超过30%。
    的头像 发表于 04-10 09:55 848次阅读

    SOLIDWORKS 2025教育版:紧密的产学研合作,搭建理论与实践的桥梁

    在工程技术教育领域,理论与实践的结合直是培养高素质人才的关键。SOLIDWORKS 2025教育版作为款CAD软件,通过紧密的产学研合作,成功搭建起了理论与
    的头像 发表于 03-26 17:21 602次阅读
    SOLIDWORKS 2025教育版:紧密的产学研合作,<b class='flag-5'>搭建</b>理论与<b class='flag-5'>实践</b>的桥梁

    BEM+Sass结合使用的最佳实践

    BEM(Block Element Modifier)与Sass的结合使用是前端开发中种高效且规范的样式编写方式。以下是最佳实践,旨在帮助开发者更好地利用这两种工具来提高代码的可
    的头像 发表于 02-12 16:50 969次阅读

    兆芯最佳实践应用场景解决方案发布

    《兆芯最佳实践应用场景解决方案》现已正式发布,扫描下方二维码或点击阅读原文即可获取下载。
    的头像 发表于 01-13 14:45 857次阅读