| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .pdf | 3 |
| 摘要 | ||
腾讯音乐内容库数据平台从 ClickHouse 迁移到 Apache Doris,解决了 ClickHouse 的局限性,提升了数据时效性和查询性能。Doris 具备简单架构、多数据模型支持、联邦查询能力等优势,通过部分列更新、联邦查询优化和冷热数据管理,显著降低了运维成本并提升了系统性能。 | ||
| AI总结 | ||
### 文档总结
#### 背景与动机
腾讯音乐内容库数据平台在业务运营中需要对海量内容数据进行分析,包括歌曲、词曲、专辑、艺人等对象。平台最初使用 ClickHouse 作为分析引擎,但在使用过程中遇到了以下问题:
- **ClickHouse 的局限性**:架构复杂,运维难度高,且依赖多套引擎,导致维护成本和难度较高。
- **社区沟通问题**:ClickHouse 由国外开源,语言交流存在障碍,问题反馈和解决效率较低。
- **数据更新延迟**:ClickHouse 不支持部分列更新,导致数据延迟,影响数据时效性。
- **架构复杂性**:ClickHouse 的强耦合架构容易引发集群稳定性问题。
#### 架构升级与 Doris 优势
为了解决上述问题,腾讯音乐将分析引擎从 ClickHouse 切换为 Apache Doris,Doris 具有以下优势:
- **架构简单**:仅需 FE 和 BE 两类进程,部署和运维简单。
- **兼容性好**:支持 MySQL 协议和标准 SQL,降低开发成本。
- **丰富功能**:支持多种数据模型、联邦查询、多种数据导入方式(如 Hive、Iceberg、Kafka 等)。
- **社区活跃**:社区技术支持能力强,问题解决效率高。
#### 架构优化与实践
在 Doris 的支持下,腾讯音乐对数据架构进行了优化,主要包括:
1. **数仓层优化**:
- 去掉了 DWM 集市层,直接通过 Spark 和 Flink 将数据增量更新到 Doris 和 ES 中,提升了数据时效性。
2. **加速层优化**:
- 将大宽表拆分为小宽表,根据更新频率配置分区策略,降低存储压力和查询延迟。
- 利用 Doris 的多表查询和联邦查询性能,提升查询吞吐量。
3. **应用层优化**:
- DataSet 统一指向 Doris,支持对 ES 引擎的直接查询,提升灵活性。
#### 成本与性能优化
通过 Doris 的特性,腾讯音乐实现了以下优化:
1. **冷热数据管理**:
- 利用 Doris 的 TTL 机制和分区副本设置,降低存储成本。
2. **数据链路优化**:
- 简化数据链路,降低开发和运维成本。
3. **性能提升**:
- 通过 Flink 预聚合、查询优化和 BE 负载均衡等技术,提升了写入和查询性能。
#### 未来规划
腾讯音乐计划在以下几个方向继续优化:
1. **湖仓一体**:利用 Doris 和 Iceberg 实现冷热数据分离,简化查询。
2. **物化视图**:对高频标签和指标进行预计算,提升查询性能。
3. **实时分析**:探索 Doris 在数仓计算任务中的应用,提升数据时效性。
#### 数据模型与写入优化
为了满足业务需求,腾讯音乐在数据模型和写入优化方面进行了以下实践:
1. **元数据管理**:
- 通过 MySQL 存储标签和指标的元数据,实现名称修改和上下架的轻量级操作。
2. **写入优化**:
- 使用 Flink 预聚合减少写入压力。
- 自适应调整写入批次大小,优化网络 IO 和 BE 负载均衡。
#### 总结
腾讯音乐通过从 ClickHouse 到 Doris 的架构升级,解决了数据延迟、运维复杂性和社区支持不足等问题,提升了数据时效性、降低了运维成本,并实现了灵活的数据管理。未来将继续探索 Doris 的潜力,进一步优化数据架构和性能。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
5 页请下载阅读 -
文档评分














SelectDB案例 从 ClickHouse 到 Apache Doris