更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群
 
近日,火山引擎数智平台VeDI与DataFun联合举办以“OLAP计算引擎”为主题的直播活动,来自火山引擎数智平台VeDI的产品专家从技术选型、能力分析、性能优化以及应用场景落地多个角度,介绍火山引擎ByteHouse如何基于ClickHouse实现实时计算能力升级。
 
据介绍,火山引擎ByteHouse来源于字节跳动多年内部沉淀。由于场景越来越丰富以及数据分析需求增长,业务对于实时数仓的要求也越来越高。首先是数据体量大以及不断增长的问题。早在2019 年,字节内部每天新增的数据量就达到了100TB。其次,在海量数据基础上,由于数据类型多样(包括批式数据和流式数据)、查询需求多样、交互式分析复杂,数据引擎需要具备灵活性。目前,行业Redis、 SparkSQL 等开源方案可以从不同角度满足上述两个需求,但是维护多个开源数据库将导致成本高,选择一款可以避免成本无限扩展的计算引擎成为字节数据研发首要考虑的问题。
 
ClickHouse性能高、灵活性强,且主要依赖磁盘、成本相对可控,成为字节跳动内部计算引擎的首选。但原生 ClickHouse 能力难以支持 upset 、实时数据更新等一些场景,在很多层面有局限性,例如:
  • 单表性能强劲,但多表能力局限,且对标准 SQL 兼容性低。
  • 缺乏成熟运维管理工具,运维复杂程度高。
  • ClickHouse 为 MPP 架构(存算一体架构),性能强,但横向扩容成本非常高、数据隔离性差。
 
ByteHouse产品专家在直播中介绍到,“为了解决以上问题,我们主要从4个方向进行优化,让OLAP引擎能力、性能、运维、架构进一步升级。”
 
第一,丰富的自研表引擎,实现OLAP引擎能力进化。 ByteHouse 弥补了ClickHouse表引擎的不足,并衍生出全新的表引擎,包括使高可用表引擎、实时数据引擎、Unique 引擎、Bitmap 引擎。以Unique 引擎为例,它解决了社区版 ReplacingMergeTree 实时更新延迟问题,真正做到实时 upset。
 
第二,新增优化器、字典、索引支持能力,实现OLAP引擎性能进化。ClickHouse在多表场景中性能存在缺陷,而ByteHouse 通过自研CBO 和 RBO(基于代价和基于规则的优化器),支持了多层嵌套的下推、Join 子查询的下推、Join-Reorder、Bucket Join、Runtime Filter 等优化器特性,做到 TPC-DS 的性能可以达到 99 条sql100%覆盖,极大提升多表场景下的性能。另外,ByteHouse还支持了全局字典以及更多索引,如 Bitmap index,让查询效率更快。
 
第三, 自动化、可视化,实现OLAP引擎运维进化。ByteHouse 提供标准化运维、集群健康度检测、问题发生时的诊断工具,帮助运维人员提高效率。例如,集群健康度的检测工具,类似于集群的实时巡检,能够报告当前集群状态、出现了什么问题、问题如何解决,最大程度把问题前置化,降低运维风险。从效果上看, 18000 个节点只需要不到 10 个运维人员来支持。
 
第四, 存算分离,实现OLAP引擎架构进化。ByteHouse推出了 MPP 2. 0 即存算分离架构。一方面, 存算分离可以更好实现资源隔离,每一个计算任务都会提交到不同的计算资源中,做到用户之间互不影响,还能灵活扩容、缩容存储计算资源;另一方面,存算分离能做到真正云原生(Cloud native),ByteHouse 存储层既支持 HDFS,也支持 S3 对象或者其他的对象存储,实现云原生部署。
 
目前,ByteHouse已经在行为分析、精准营销、实时监控等业务场景中落地。以实时监控为例,很多互联网APP有线上运营活动、直播电商等业务,数据实时性格外重要。数据从生产到展现在大屏上,延迟往往要控制在分钟级甚至秒级以内。而ByteHouse高吞吐性能、查询性能,使数据从输入端到输出端的流程达到秒级。在数据保障层面,ByteHouse 也能精细到Exactly Once 的语义,保证数据不丢失、不重复,最终达到数据是高效存储、准确查询。
 

点击跳转火山引擎ByteHouse了解更多
 

让快更快,火山引擎 ByteHouse 为 ClickHouse 提速的更多相关文章

  1. 高性能、快响应!火山引擎 ByteHouse 物化视图功能及入门介绍

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 物化视图是指将视图的计算结果存储在数据库中的一种技术.当用户执行查询时,数据库会直接从已经预计算好的结果中获取数据 ...

  2. 比快更快——微软LightGBM

    LightGBM介绍 xgboost是一种优秀的boosting框架,但是在使用过程中,其训练耗时过长,内存占用比较大.微软在2016年推出了另外一种boosting框架--lightgbm,在不降低 ...

  3. 如何又快又好实现 Catalog 系统搜索能力?火山引擎 DataLeap 这样做

      摘要 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理.资产.安全等全套数据中台建设,降低工作成本和数据维护成本.挖掘数据价 ...

  4. CSS 和 JS 动画哪个更快

    基于Javascript的动画暗中同CSS过渡效果一样,甚至更加快,这怎么可能呢?而Adobe和Google持续发布的富媒体移动网站的性能可媲美本地应用,这又怎么可能呢? 本文逐一遍览了基于Javas ...

  5. CSS VS JS动画,哪个更快[译]

    英文原文:https://davidwalsh.name/css-js-animation 原作者Julian Shapiro是Velocity.js的作者,Velocity.js是一个高效易用的js ...

  6. 比Redis更快:Berkeley DB面面观

    比Redis更快:Berkeley DB面面观 Redis很火,最近大家用的多.从两年前开始,Memcached转向Redis逐渐成为潮流:而Berkeley DB可能很多朋友还很陌生,首先,我们简单 ...

  7. 让你的 Node.js 应用跑得更快的 10 个技巧(转)

    Node.js 受益于它的事件驱动和异步的特征,已经很快了.但是,在现代网络中只是快是不行的.如果你打算用 Node.js 开发你的下一个Web 应用的话,那么你就应该无所不用其极,让你的应用更快,异 ...

  8. 让Python代码更快运行的 5 种方法

    不论什么语言,我们都需要注意性能优化问题,提高执行效率.选择了脚本语言就要忍受其速度,这句话在某种程度上说明了Python作为脚本语言的不足之处,那就是执行效率和性能不够亮.尽管Python从未如C和 ...

  9. 正则表达式匹配可以更快更简单 (but is slow in Java, Perl, PHP, Python, Ruby, ...)

    source: https://swtch.com/~rsc/regexp/regexp1.html translated by trav, travmymail@gmail.com 引言 下图是两种 ...

  10. 更轻更快的Vue.js 2.0与其他框架对比(转)

    更轻更快的Vue.js 2.0 崭露头角的JavaScript框架Vue.js 2.0版本已经发布,在狂热的JavaScript世界里带来了让人耳目一新的变化. Vue创建者尤雨溪称,Vue 2.0  ...

随机推荐

  1. QGradient渐变填充

    QGradient渐变填充 QGradient (一)简介 (二)枚举类型 1.spread 2.CoordinateMode 3.type (三)常用函数 1.coordinateMode() 2. ...

  2. git 添加/删除子模块

    背景 在很多项目中经常会重复使用一些代码块, 例如按键处理, LED提示, modbus等等 在传统开发中, 我们经常是将一些代码写成独立的.c/.h模块. 但随着时间的推移我们经常需要根据一 些项目 ...

  3. Java SPI机制总结系列之万字详细图解SPI源码分析

    原创/朱季谦 我在<Java SPI机制总结系列之开发入门实例>一文当中,分享了Java SPI的玩法,但是这只是基于表面的应用.若要明白其中的原理实现,还需深入到底层源码,分析一番. 这 ...

  4. window.onload 触发时机问题

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...

  5. TechEmpower 22轮Web框架 性能评测:.NET 8 战绩斐然

    自从2022年7月第21轮公布的测试以后,一年后 的2023年10月17日 发布了 TechEmpower 22轮测试报告 刚刚发布:Round 22 results - TechEmpower Fr ...

  6. 数据分析师如何做好PPT

    作为一名数据分析师,制作出色的PPT是非常重要的技能之一.一个好的PPT可以让你的数据洞察更加生动有趣,并有效传达给观众.以下是一些详细的步骤和技巧,帮助你成为一名擅长制作PPT的数据分析师: 确定目 ...

  7. Typora的安装与使用教程

    一.安装 1.下载 下载地址:Typora 官方中文站 二.安装 1.无脑下一步即可. 三.使用教程 1.Typora系统设置 一般导出使用PDF文件比较好,性价比比较高. 2.其他设置 以下所有设置 ...

  8. 0x00.常用名词、文件下载、反弹shell

    下载文章 方法一:下载谷歌插件fireshot,捕捉整个页面 方法二:使用js代码 f12进入控制台,粘贴如下代码 (function(){ $("#side").remove() ...

  9. 神经网络优化篇:详解训练,验证,测试集(Train / Dev / Test sets)

    训练,验证,测试集 在配置训练.验证和测试数据集的过程中做出正确决策会在很大程度上帮助大家创建高效的神经网络.训练神经网络时,需要做出很多决策,例如: 神经网络分多少层 每层含有多少个隐藏单元 学习速 ...

  10. serdes 常见并口位宽

    serdes主要完成串并转换功能.常见的并口位宽如下: GE/10/25GE/32GE        10/20/40/16/32位 50GE                              ...