- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
Apache Kylin 在贝壳找房的实践
展开查看详情
1 . Apache Kylin 在贝壳找房的实践 张如松-贝壳找房 | 大数据 架构团队 1 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
2 . 引言 • 随着链家的快速发展,从链家网到如今的升级版贝壳找房,我们面对的数据规模在快速增 长。与此同时,对数据的需求也越来越多,越来越多元和复杂。如何在超大数据规模场景 下满足用户复杂多变的需求,是我们面临并要解决的问题。本次和大家分享一下贝壳找房 是如何一步步解决这些问题,以及 Apache Kylin 在其中发挥的作用。 2 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
3 . 目录 • 早期架构 • OLAP 简介 • 基于 Apache Kylin 的升级版架构 • Apache Kylin 监控 • 优化经验和定制改造 • Q&A 3 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
4 . 早期架构 • 早期架构特点 • 架构简单、不易解耦 • 需求驱动、case by base解决问题。 • 固化 MySQL 难以存储大数据量 • 查询原始 Hive 速度慢、使用成本高 • 实时数据分析无解 4 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
5 . 目录 • 早期架构 • OLAP 简介 • 基于 Apache Kylin 的升级版架构 • Apache Kylin监控 • 优化经验和定制改造 • Q&A 5 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
6 . OLAP分类 • ROLAP(Relational OLAP) - 基于关系模型,实时进行聚合计算 - 实现:传统数据库引擎/SparkSQL/Presto • MOLAP(Multi-dimension OLAP) - 基于预定义模型,预先进行聚合计算,存储汇总结果 - 实现:Kylin/Druid • HOLAP(Hybrid OLAP) - 混合多引擎,不同场景路由到不同引擎 6 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
7 . ROLAP Warehouse • 优势 扫描 - 支持任意的 SQL 查询 - 无数据冗余,实时性好 • 缺点 聚合 - 大数据量及复杂查询返回慢 - 并发较差 • 场景 汇总 - 灵活性很高的分析 7 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
8 . MOLAP • 优势 warehouse - 支持超大原始数据集 - 快速返回,并发高 • 缺点 定义模型(cube) - 不支持明细 - 结果固化 预聚合存储 • 场景 - 能预知查询模式,并发有要求的 少量计算汇总 场景 8 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
9 . 目录 • 早期架构 • OLAP 简介 • 基于 Apache Kylin 的升级版架构 • Apache Kylin 监控 • 优化经验和定制改造 • Q&A 9 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
10 . OLAP 引擎选型 较高的并 发 百亿数据 亚秒级响 集 离线为主 MOLAP 应 (KYLIN) 具有一定 最好有sql 灵活性 接口 10 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
11 . 贝壳 Apache Kylin 使用统计 • 定位:离线 OLAP 引擎 • 800+ Cube,覆盖公司16个业务线 • Cube 存储总量300T+, 数据行数1600+亿行,单 Cube 最大60+亿行 • 日查询量100万+,时延<500ms(95%), <1s(99%) 11 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
12 . 升级版架构 降级 Tez mr 12 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
13 . 产品展示-指标平台 • 统一指标口径 • 自助配置报表 • 支持上卷下钻 • 权限控制 13 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
14 . Cube 管理平台 • 优化创建流程 • 灵活的权限控制 • 多集群透明 • 业务线隔离 • 关联任务调度 14 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
15 . Cube 管理平台 15 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
16 . Cube 管理平台 16 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
17 . Cube 管理平台 17 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
18 . Kylin 中间件 • 无限容量队列 • 并发控制 • Cube 优先级 • 多集群调度 • 任务重试 • 监控报警 18 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
19 . 目录 • 早期架构 • OLAP 简介 • 基于Apache Kylin的升级版架构 • Apache Kylin 监控 • 优化经验和定制改造 • Q&A 19 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
20 . Kylin 监控与分析 Ø 实时监控 l 慢查询监控 l 系统存活 l 异常监控 Ø 离线分析 l 合规检查 l Cube 统计 l 查询分析 l 膨胀率 l 耗时过程统计 20 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
21 . 实时监控 21 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
22 . 目录 • 早期架构 • OLAP 简介 • 基于 Apache Kylin 的升级版架构 • Apache Kylin监控 • 优化经验和定制改造 • Q&A 22 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
23 . Kylin 优化经验 • 维度组合优化(层级维度,衍生维度,联合维度等) • 选择高基数列做分片(默认rand存在bug,KYLIN-3388 ) • 维度编码选择(高基数维度不适合 dictionary) • HBase Rowkey 设计(查询频率/高基数优先) • 定期清理及合并(原生merge有bug) 23 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
24 . Kylin 定制改造 • 移植2.x分布式构建,并优化任务分配逻辑 • 下载字典逻辑(2.x已修复) • 全局字典锁bug(提交社区: KYLIN-3087 ) • 元数据同步并发优化 (提交社区: KYLIN-2862 ) • 非分区列 segment 裁剪 • 强制维表关联,查询成本统计… 24 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
25 . 目录 • 早期架构 • OLAP 简介 • 基于Apache Kylin 的升级版架构 • Apache Kylin 监控 • 优化 • Q&A 25 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED
26 .26 WE ARE BEIKE, 2018 BEIKE ALL RIGHTS RESERVED