字节京东互联网大厂为什么使用 clickhouse

news2025/1/12 6:44:44

ClickHouse 开源于 2016 年,是一款开源列式存储的分析型数据库,相较业界 OLAP 数据库系统,其最核心优势就是极致的查询性能。它实现了向量化执行和 SIMD 指令,对内存中的列式数据,一个 batch 调用一次 SIMD 指令,大幅缩短了计算耗时,带来数倍的性能提升。目前,国内外许多头部大厂都在深度使用 ClickHouse 技术。

在性能方面,ClickHouse 在 OLAP 场景下的性能超越同类产品数倍不止,它允许系统以亚秒级的延迟从 PB 级的原始数据生成报告,服务器吞吐量高达每秒数十亿行

字节

当前,字节跳动已将经过五年定制化改造的 ClickHouse,沉淀为 ByteHouse,正式通过火山引擎对外提供服务

字节跳动无疑是一家非常有代表性的国内企业:字节跳动从 2017 年开始大规模启用 ClickHouse;作为其深度用户,字节跳动拥有国内规模最大的 ClickHouse 集群。

目前,字节跳动内部的 ClickHouse 节点总数超过 1.8 万个,管理总数据量超过 700PB,最大的单个集群部署规模约为2400余个节点。

郭东东,字节跳动数据平台数据应用研发负责人,曾经任职于奇虎 360,负责大数据平台相关建设,有 10 年的大数据平台以及应用架构经验,对 OLAP、大数据实时 & 离线处理技术有比较深入的了解,熟悉 ClickHouse、Spark、Presto 等主流的大数据处理技术。

InfoQ:ClickHouse 其实在 16 年就已经开源了,但似乎直到去年热度和关注度才一下子变得特别高,这是为什么呢?

**郭东东:**其实一个开源技术从开源到逐步成熟、被业内广泛采用,本来就需要一个过程。另外,如果有一些大公司逐步在使用这个技术的话,也有助于更好地推动这项技术在业内被普遍采用。应该说字节跳动内部的 ClickHouse 应用实践,对于 ClickHouse 在业内更大范围的使用也起到比较大的推动作用。很多公司都跟我们交流过 ClickHouse 的使用情况,包括技术改进、技术引进路线等等。

另外,从本质上来说 ClickHouse 确实解决了一些特定场景和业务上存在的比较大的痛点。数据分析之前大家更多是困在数据量,很少能得到相对明细数据的分析,而 ClickHouse 强大的分析能力刚好解决了这一痛点。这其实也反映了大家对数据更细粒度的分析需求的持续拓展。

InfoQ:据了解,ClickHouse 在字节应用还比较多。能否基于您负责的团队和产品,介绍一下 ClickHouse 主要应用于哪些业务场景?第一个采用 ClickHouse 的业务场景是什么?

**郭东东:**ClickHouse 在字节的应用场景比较多,比如我负责的数据应用平台,基本上很多底层技术都非常多地依赖 ClickHouse 提供的能力,比如 BI 分析能力、AB 实验的分析能力、行为分析能力等等,包括商业化层面的广告效果分析,也都是依赖 ClickHouse 的。

InfoQ:在选用 ClickHouse 之前你们做了哪些技术选型工作?为什么上述业务场景选择采用 ClickHouse 而不是其他数据分析技术?主要看重 ClickHouse 的哪些特性?相对应可以解决业务场景中的什么问题?

郭东东:其实在选 ClickHouse 之前,我们也做了比较多的技术选型工作。当时我们有一个相对比较有挑战的技术场景,是要基于很多明细数据做行为分析,这一块我们研究了挺长时间,当时也试用了 Presto、Kylin 等等各种各样的分析技术,最后选择了 ClickHouse。主要是 ClickHouse 在相对固定的一个 Panel 场景下,查询能力确实有比较明显的优势,而且本身它是不会损失灵活性的,像 Kylin 的话其实灵活性会比较差,只要做一点修改就需要重刷。

另外我们其实也调研过 Druid 等,但使用起来跟 ClickHouse 还是有比较大差异的。我们本身选 ClickHouse,还有一个比较大的原因是 ClickHouse 本身 Engine 是相对简单的,因为它 Engine 的执行引擎写得比较高效,它带来的向量化执行等等这些特性对我们场景化分析的价值还是比较大的。

京东

https://www.iteblog.com/archives/10021.html

京东OLAP采取 ClickHouse 为主Doris为辅的策略,有 3000 台服务器,每天亿次查询万亿条数据写入,广泛服务于各个应用场景,经过历次大促考验,提供了稳定的服务。

50a660feaeca268f27ce2f2fa5614271.png

1ea62f2a655e25bb4415df62338371d5.png

6966808b1cab11a27f271f957837a19c.png

在对 OLAP 组件考量和调研之后,和大多数公司一样选用主流的 ClickHouse 和 Doris 作为京东内部主要的 OLAP 引擎,因为 ClickHouse 性能、扩展性和稳定性较好,而 Doris 在可维护性和易用性方面更好,所以在生产中选择了以ClickHouse 为主 Doris 为辅的策略,形成高低搭配。同时,针对开源产品后台功能不强的情况,通过自研管控面来进行集群管理,用户自助式操作,降低了运维成本,降低了用户的使用门槛。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/75003.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android-实现View模糊效果

首先,关于在Android上绘图的一句话 在最基本的层面上,Android 上的可视元素(如按钮、文本和其他 UI 或自定义元素)通常是通过调用 Canvas API 绘制的,如 drawLine()()、drawText(&a…

从《100道光芒》到《可爱冠军的诞生》:湖南广电打响“参与式”电商突围战

每年的双11,都是各电商平台秀肌肉的比拼时刻。 在这场看不见硝烟的战场上,已经逐步分化成两大阵营:阿里、京东为首的货架电商,抖音为主的兴趣电商。在“人货场”偏向“人”的形势下,它们无一例外都在全力布局吸引“人…

Apache APISIX 玩转 Tongsuo 国密插件

文|罗泽轩Apache APISIX PMC本文通过解读国密的相关内容与标准,呈现了当下国内技术环境中对于国密功能支持的现状。并从 API 网关 Apache APISIX 的角度,带来有关国密的探索与功能呈现。本文 3446 字 阅读 11 分钟1. 什么是国密 顾名思义&…

元素的显示与隐藏

元素的显示与隐藏 本质:让一个元素在页面中隐藏或者显示出来 1、display属性 源代码 display属性用于设置一个元素应如何显示 display: none; 隐藏对象 display: block; block除了转换为块元素之外&#xff0c…

软件测试基础理论体系学习5-静态测试的理解

5-静态测试的理解1 介绍2 静态测试技术2.1 代码检查2.1.1 代码走查2.1.2 编码风格与规范2.1.3 审查2.1.3.1 代码审查和代码走查2.1.3.2 代码审查清单2.2 静态结构分析2.3 代码质量度量1 介绍 静态测试包括包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行&#…

友芝友生物冲刺港交所上市:极其依赖单一供应商,周鹏飞为董事长

12月9日,Wuhan YZY Biopharma Co.,LTD.(武汉友芝友生物制药股份有限公司,下称“友芝友生物”)向港交所提交上市申请材料,计划在港交所主板上市,中信建投国际为其独家保荐人。 此前,贝多财经曾在…

Spark零基础入门实战(六)使用IntelliJ IDEA创建Scala项目

IntelliJ IDEA(简称IDEA)是一款支持Java、Scala和Groovy等语言的开发工具,主要用于企业应用、移动应用和Web应用的开发。IDEA在业界被公认为是很好的Java开发工具,尤其是智能代码助手、代码自动提示、重构、J2EE支持等功能非常强大。 在IDEA中安装Scala插件 在IDEA中安装…

【Keras计算机视觉OCR】文字识别算法中DenseNet、LSTM、CTC、Attention的讲解(图文解释 超详细)

觉得有帮助麻烦点赞关注收藏~~~ 一、OCR文字识别的概念 利用计算机自动识别字符的技术,是模式识别应用的一个重要领域。人们在生产和生活中,要处理大量的文字、报表和文本。为了减轻人们的劳动,提高处理效率,从上世纪50年代起就开…

GPR学术报告学习-刘四新 主持

钱荣毅 道路空洞 1 设备 天线矩阵 不能完全覆盖调查区域, 存在差异: 难以发现动态发育特征, 数据采集难以实现3D 全覆盖, 高频上探测深度浅, 通道间存在差异。 数据需要校准。。。主要A-SCAN的地面抖动矫正。 异常区…

【EmonCMS】开源数据处理平台安装教程

EmonCMS 安装教程1.EmonCMS平台介绍:2. EmonCMS安装2.1在 Ubuntu中安装2.2.在树莓派中安装3.安装完毕Emoncms是作为该项目的一部分开发的开源web应用程序,用于处理、记录和可视化能源、温度和其他环境数据。Emoncms从OpenEnergyMonitor监控硬件接收数据&…

VS Code 上已有200万+ Java 开发者!

大家好,我们很高兴与大家分享一个好消息,现在 Visual Studio Code 上已有超过200万 Java 开发者,这要来自于长期社区以及用户的支持,所以谢谢你们! 对于11月的更新,我们为您带来了全新的代码编辑功能&…

运行 Jmeter 文件生成 HTML 测试报告,我选择 ANT 工具

概述 ant 是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于 Java 环境中的软件开发。 在与 Jmeter 生成的 jmx 文件配合使用中,ant 会完成jmx计划的执行和生成jtl文件,并将jtl文件转化为html页面进行查看。 还可…

类加载器和反射

1.通过全限定名:包名类名(类名可能会重复,所以要加包名),然后用流拷贝到内存中,并在内存中创建一个class对象用来存储这个class文件的成员信息 类加载过程http://t.csdn.cn/FDnaa 在验证之前会把该类中引…

CRM的开发

开发步骤1.首页的开发2.由首页跳转到登陆页面3.用户登录4.记住密码实现5.安全退出6.登录验证7.创建市场活动8.分页查询市场活动9.删除市场活动10.修改市场活动11.批量导出市场活动12.导入市场活动13.查看市场活动明细14.添加市场活动备注15.删除市场活动备注16.修改市场活动备注…

分分钟搭建出nginx的https服务

nginx添加https协议一、https是什么?二、创建步骤1.安装nginx2.创建证书三、验证四、浏览器访问在windows安装证书总结nginx 192.168.122.50一、https是什么? HTTPS (全称:Hypertext Transfer Protocol Secure )&…

分布式文件存储系统Minio,tuling,fox,p3 5:27

MinIO | 高性能,对Kubernetes友好的对象存储 一 分布式文件系统应用场景 fastDFS 缺点: 部署麻烦。因为文件名是自动生成的,所以如果要处理文件的话,还要经过额外的编码。Minio介绍 应用场景 互联网海量非结构化数据的存储需求…

Spring常见注解

普通CURD框架结构 1、controller 控制器(注入服务)用于标注控制层,相当于struts中的action层 2、service 服务(注入dao)用于标注服务层,主要用来进行业务的逻辑处理 3、repository/Mapper(实…

25.前端笔记-CSS-溢出的文字省略号展示

1、单行文本溢出显示省略号 满足条件: (1)先强制一行内显示文本 white-space:nowrap;/*默认不写,或值是normal自动换行*/) (2)超出的部分隐藏 overflow:hidden; (3)文字用省略号代…

ESPnet-SE 开源工具介绍

下面是我们整理的钱彦旻教授、张王优、李晨达在第二届SH语音技术研讨会和第七届Kaldi技术交流会的报告内容,如果有误,欢迎指正。 基本情况 今天我们主要是围绕ESPnet-SE这个工具做一个简单的介绍,我会大概讲一下ESPnet-SE的情况,…

一文了解宏内核和微内核

【推荐阅读】 纯干货,linux内存管理——内存管理架构(建议收藏) 轻松学会linux下查看内存频率,内核函数,cpu频率 一文了解Linux内核的Oops 一篇长文叙述Linux内核虚拟地址空间的基本概括 需要多久才能看完linux内核源码? 内核是操…