2. ClickHouse MergeTree原理解析-朱凯中石油 中石化 中冶集团 酒钢集团 中国商飞 厦门航空 南京地铁 中煤集团 许继集团 中盐公司 中农发集团 深粮集团 首都图书馆 奇瑞汽车 双汇集团 完达山 珠江投资 国网英大集团 珠海市政府 九三学社 珠海特区报 三峡电能 秦山核电 香港医思医疗 国家能源集团 安徽皖能 南方电网 金川集团 金晶集团 中航集团 比亚迪股份 互联数据资源、为组 数据标记 04 / 表引擎 表引擎,是ClickHouse设计实现中的一大特色。可以说正是由表引擎,决定了一张 数据表最终的性格,它拥有何种特性、数据以何种形式被存储以及如何被加载。 ClickHouse拥有非常庞大的表引擎体系,截至到目前(19.14.6),共拥有合并树、 内存、文件、接口和其他5大类20多种。 合并树 这众多的表引擎中,又属合并树(MergeTree)表引擎及其家族系列(*MergeTree)最 )最 为强大,在生产环境绝大部分场景中都应该使用此系列的表引擎。 只有合并树系列的表引擎才支持主键索引、数据分区、数据副本和数据采样这些特 性,同时也只有此系列的表引擎支持ALTER相关操作。 合并树家族 其中MergeTree作为家族中最基础的表引擎,提供了主键索引、数据分区、数据副 本和数据采样等所有的基本能力,而家族中其他的表引擎则在MergeTree的基础之 上各有所长。 MergeTree的名称由来0 码力 | 35 页 | 13.25 MB | 1 年前3
2. 腾讯 clickhouse实践 _2019丁晓坤&熊峰目录 部署与监控管理 一切以用户价值为依归 3 1 4 部署与监控管理 1 高内存,廉价存储: 单机配置: Memory128G CPU核数24 SATA20T,RAID5 万兆网卡 一切以用户价值为依归 5 部署与监控管理 1 生产环境部署方案: Distributed Table Replica1Replica1 Replica1Replica1 Replica1Replica1 Shard03 Load Balancing 一切以用户价值为依归 6 部署与监控管理 1 线性平滑扩容: 扩容: 1.安装新部署新的shard分片机器 2.新shard上创建表结构 3.批量修改当前集群的配置文件增加新的分片 4.名字服务添加节点 一切以用户价值为依归 7 部署与监控管理 1 大批量,少批次 WriteModel BatchSize RowLengt h QPM iData 2 iData画像服务需要升级 Ø扩展性差 数据导入后结果不支持修改/追加 Ø数据类型有限 数据类型只能支持数字类型 Ø数据量有限 数据量达到10亿级以上查询效率有所降低 Ø单表计算 不能进行多表关联计算 一切以用户价值为依归 21 业务应用实践 iData 2 为什么选择ClickHouse • SQL • OLAP • 超高性能 • 列式存储 • 统计函数0 码力 | 26 页 | 3.58 MB | 1 年前3
2. Clickhouse玩转每天千亿数据-趣头条1:内存限制,对于一些大的查询会出现内存不够问题 2:存储限制,随着表越来多,磁盘报警不断 3:cpu限制 64G对于一些大表(每天600亿+)的处理,很容易报错,虽然有基于磁盘解决方案,但是会影响速度 clickhouse的数据目录还不支持多个数据盘,单块盘的大小限制太大 cpu需要根据实际情况而定 解决: 1:机器的内存推荐128G+ 2:采用软连接的方式,把不同的表分布到不同的盘上面,这样一台机器可以挂载更多的盘 count(1) from table where dt='' and timestamp>='' and timestamp<='' and eventType='' 建表的时候缺乏深度思考,由于分时指标的特性,我们的表是order by (timestamp, eventType)进行索引 的,这样在计算累时指标的时候出现非常耗时(600亿+数据量) 分析: 对于累时数据,时间索引基本就失 clickhouse裸奔时max_memory_usage_for_all_queries默认值为0,即不限制clickhouse内存使用 解决: clickhouse安装完成以后,在users.xml文件中配置一下max_memory_usage_for_all_queries,控制 clickhouse-server最大占用内存,避免被OS kill 我们遇到的问题 Memory limit (for0 码力 | 14 页 | 1.10 MB | 1 年前3
蔡岳毅-基于ClickHouse+StarRocks构建支撑千亿级数据量的高可用查询引擎依赖稀疏索引,列式存储,cpu/内存的充分利用造就了优秀的计算能力, 并且不用考虑左侧原则; 缺点: 1. 不支持事务,没有真正的update/delete; 2. 不支持高并发,可以根据实际情况修改qps相关配置文件; 全球敏捷运维峰会 广州站 StarRocks的特点 优点: 1. 支持标准的SQL语法,兼容MySql协议; 2. MPP架构,扩缩容非常简单方便; 3. 支持高并发查询; 4 ClickHouse/StarRocks在酒店数据智能平台的架构 全球敏捷运维峰会 广州站 ClickHouse的全量数据同步流程 1. 清空A_temp表,将最新的数据从Hive通过ETL导入 到A_temp表; 2. 将A rename 成A_temp_temp; 3. 将A_temp rename成 A; 4. 将A_ temp_temp 的方式大幅提升写入速度; 2. 直接读Hdfs文件的方式,但内存波动较大; 全球敏捷运维峰会 广州站 ClickHouse的增量数据同步流程 传统方式: 1. 将最近3个月的数据从Hive通过ETL入到A_temp表; 2. 将A表中3个月之前的数据select into到A_temp表; 3. 将A rename 成A_temp_temp;0 码力 | 15 页 | 1.33 MB | 1 年前3
4. ClickHouse在苏宁用户画像场景的实践6 2019-10-02 4 p1 7 2019-10-02 5 p1 8 2019-10-02 5 p2 一张简单的订单明细表 detail_order,如何计算用户的日留存? 15 标签 SQL 大表join,count distinct 都比较慢,而且容易 OOM! Bitmap应用示例 order_date uv_bitmap 2019-10-01 [1,2] 16 detail_order 聚合为天维度表 留存用户的SQL Bitmap函数 千万级用户, 秒级出结果! Contents 苏宁如何使用ClickHouse ClickHouse集成Bitmap 用户画像场景实践 17 用户画像原有的流程及痛点 Hive表 商品数据 ElasticSearch 用户数据 交易数据 交易数据 HBase Redis 第三方… Spark 用户画像平台 现有的流程: ES中定义标签的大宽表 通过Spark关联各种业务数据,插入到ES大 宽表。 高频查询的画像数据通过后台任务保存到加 速层:Hbase 戒者 Redis 实时标签通过Flink计算,然后写入Redis 用户画像平台可以从ES、Hbase、Redis查 询数据0 码力 | 32 页 | 1.47 MB | 1 年前3
3. 数仓ClickHouse多维分析应用实践-朱元通过kettle每天 定时导出文件至 本地 Etl服务器 • 通过clickhouse- client将文本导 入ck数据库 clickhouse数据库 数 仓 建 设 01 ck数仓数据模型采用星型模型搭建 02 数 仓 建 设 – 维度表 一般维度表数据量不大. 目前采用的是引擎Log+字典表(dictionary) 数 仓 建 设 – 主题事实清单表 主题事实清单表采用引擎MergeTree 主题事实清单表采用引擎MergeTree. 同步策略: 每日从 oracle数据平台增量同步到ck数仓. 数 仓 建 设 – 对外数据 目前对外开放是主题事实清单表+维度表 封装成一个视图,类 似如下 数 据 展 示 + 多 维 分析 采用开源报表系统davinci 地址: https://github.com/edp963/davinci 03 1. Memory limit (for query) exceeded0 码力 | 14 页 | 3.03 MB | 1 年前3
6. ClickHouse在众安的实践支持高维度表 易观开源OLAP引擎测评报告 洞察数据模型+Clickhouse 使用效果 CHAPTER 使用ck对百亿数据的探索 03 背景 我们希望对保单、用户数据进行灵活分析,根据用户标签筛选出符合 要求的客户进行精准营销。 原始保单数据百亿+,用户数据数亿,如果用户标签几百个,数据存 储和查询以及分析的压力就会很大,原有系统使用es来保存用户标签 数据。 保单表 用户表 用户行为表 用户行为表 ODPS ES 用户标签表 痛点 • 数据查询慢:每个查询需要5~10分钟; • 数据更新慢:更新数据可能需要数天时间; • 不灵活:用户有新标签需求时,需要提需求给标签开发人员排期开发 需求,开发人员开发完再更新到系统中,这时离需求提出可能已经过 去几天,无法及时给到业务人员反馈。 思路 利用clickhouse实时计算的高效性能,对原始数据进行查询分析,从而支 持用户灵活的定义标签并让用户实时得到反馈。 持用户灵活的定义标签并让用户实时得到反馈。 标签平台 clickhouse 保单表 用户表 用户行为表 数据 • 历史保单数据 join 用户数据 join 用户行为数据 • 100+亿行,50+列 • 用户id • 事业部 • 入库时间 • first_policy_premium • ... • phone_flag • ha_flag • ... clickhouse集群配置0 码力 | 28 页 | 4.00 MB | 1 年前3
ClickHouse在B站海量数据场景的落地实践ClickHouse-JDBC 与ClickHouse兼容的 HTTP 接口 请求管理/流量控制 查询缓存 查询分发器 查询处理器 ClickHouse 监控管理平台 元数据管理 库表管理 权限管理 埋点分析 报表平台 HDFS/Hive Kafka/Databus 离线接入 (Rider/Spark/WaterDrop) 实时接入 (BSQL/Saber/Flink Flink/JDBC/Go/HTTP 标签圈人 。。。 广告DMP 内容定投 内容分析 日志&Trace 平台 APM ClickHouse as Service v Berserker数据源管理: Ø 建表 Ø 修改表元数据 Ø 表元数据管理 v Yuuni: Ø 屏蔽集群信息 Ø 原⽣JDBC,HTTP接⼜ Ø 读写分离 Ø 动态查询缓存 Ø 流量控制 v 监控管理平台: Ø 统计⼤盘 Ø 回归测试 OTEL标准化⽇志采集 v 统⼀scheme⽀持 日志 v ClickHouse较ES写⼊吞吐量提升近10倍 v ClickHouse存储成本为ES的1/3 日志 v ClickHouse中采⽤分表,统⼀schema的设计 v ⽇志查询采⽤类似ES语法,降低⽤户迁移成本 用户行为数据分析 概述 v 基于ClickHouse构建B站⽤户⾏为数据分析产品:北极星 v 行为数据分析平台主要以下功能模块:0 码力 | 26 页 | 2.15 MB | 1 年前3
共 8 条
- 1













