设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 创业者 手机
当前位置: 首页 > 大数据 > 正文

字节跳动数据平台技术揭晓

发布时间:2022-06-25 12:58 所属栏目:125 来源:互联网
导读:ClickHouse作为目前业内主流的列式存储数据库(DBMS)之一,拥有着同类型DBMS难以企及的查询速度。作为该领域中的后起之秀,ClickHouse已凭借其性能优势引领了业内新一轮分析型数据库的热潮。但随着企业业务数据量的不断扩大,在复杂query场景下,ClickHouse容
  ClickHouse作为目前业内主流的列式存储数据库(DBMS)之一,拥有着同类型DBMS难以企及的查询速度。作为该领域中的后起之秀,ClickHouse已凭借其性能优势引领了业内新一轮分析型数据库的热潮。但随着企业业务数据量的不断扩大,在复杂query场景下,ClickHouse容易存在查询异常问题,影响业务正常推进。
 
  字节跳动作为国内最大规模的ClickHouse使用者,在对ClickHouse的应用与优化过程中积累了大量技术经验。在近日的【T·Talk】系列技术分享活动的第11期中,我们特别邀请到了字节跳动数据平台资深研发工程师董一峰老师为广大听众解析ClickHouse的复杂查询问题,董一峰老师也在直播过程中首次公开分享了字节跳动解决ClickHouse复杂查询问题的优化思路与技术细节。【T·Talk】将本次的核心内容进行了整理,希望能给大家带来一些启发:
 
  技术方案
  对于ClickHouse复杂查询的实现,我们采用了分Stage的执行方式,来替换掉目前ClickHouse的两阶段执行方式。类似于其他的分布式数据库引擎,例如Presto等,会将一个复杂的Query按数据交换情况切分成多个 Stage,各Stage之间则通过Exchange完成数据交换。Stage之间的数据交换主要有以下三种形式。
 
  按照单个或者多个key进行Shuffle
  将单个或者多个节点的数据汇聚到一个节点上,称为Gather
  将同一份数据复制到多个节点上,称为Broadcast或广播
  对于单个Stage执行,继续复用ClickHouse目前底层的执行方式。开发上按照不同功能切分不同模块。各个模块预定接口,减少彼此的依赖与耦合。即使模块发生变动或内部逻辑调整,也不会影响其他模块。其次,对模块采用插件架构,允许模块按照灵活配置支持不同的策略。这样便能够根据不同业务场景实现不同的策略。

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读