使用 TiDB 进行实时数据分析-马晓宇
9.32 MB
36 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
中文(简体) | .pdf | 3 |
摘要 | ||
文档介绍了TiDB在实时数据分析中的应用及其优势,包括支持高并发访问、扩展性强以及处理复杂SQL查询的能力。然而,TiDB在处理分析型查询和大表Join时存在性能瓶颈,因此引入了TiSpark来提升分析能力,并支持与Hadoop数据的联合查询。TiDB采用行存格式以保证短读写的高效,但在分析场景下IO效率较低。文档还通过易果生鲜的实时数仓案例,展示了TiDB在全局实时汇聚、多维度复杂查询和高频更新场景中的应用。 | ||
AI总结 | ||
## 《使用 TiDB 进行实时数据分析-马晓宇》案例回顾总结
### TiDB 在实时数据分析中的应用与挑战
TiDB 是一种开源的分布式关系型数据库,旨在解决扩展性、高并发访问和复杂 SQL 查询等问题。然而,在实时数据分析场景中,TiDB 也面临一些挑战:
1. **Ad Hoc 查询与大表 Join**:TiDB 在处理偶发性查询(Ad Hoc Query)和大表关联查询时,索引使用效率可能不高,计算任务分散处理能力有限。
2. **分析查询与数据科学需求**:对于 SQL 以外的分析查询,如数据科学和机器学习场景,TiDB 的处理能力相对有限。同时,需要联合查询其他数据源(如 Hadoop)的能力也未能完全满足。
3. **行存与列存的选择**:TiDB 默认使用行存格式以保证短读写性能,但在分析场景下,其 IO 效率低于列存数据库。此外,分析应用的大批量数据读取可能会对短读写造成干扰。
4. **资源限制与场景冲突**:在分析与短读写场景无法错峰、系统资源受限的情况下,TiDB 的性能可能会受到显著影响。
### TiSpark 的补充作用
TiSpark 是 TiDB 生态中的 Apache Spark 连接器,旨在为 TiDB 提供分布式计算框架,突破单机资源限制:
1. **分布式计算能力**:TiSpark 支持复杂计算的下推以及索引,能够高效处理大表 Join 等复杂查询。
2. **生态系统对接**:TiSpark 可与 Apache Zeppelin、Hive 仓库以及机器学习框架结合,支持更广泛的数据分析需求。
### 易果生鲜实时数仓案例
在易果生鲜的实时数仓场景中,TiDB 被用于构建统一的逻辑视图,支持高频更新和多维度复杂查询:
1. **实时数据同步**:通过 Binlog 实时同步 MySQL 数据库,TiDB 的协议兼容性使数据同步更加高效。
2. **复杂查询支持**:TiDB 提供了完整的 SQL 支持,满足多维度复杂查询的需求。
3. **与 Spark 的结合**:通过 TiSpark,易果生鲜实现了复杂数据分析,例如joined查询和机器学习任务。
### 对比与归因
1. **与 NoSQL 对比**:TiDB 拥有更强的数据库特性,但在某些场景下可能显得不经济,部分访问模式可能存在热点问题。
2. **与 Hadoop 对比**:TiDB 的写入吞吐量远低于 Hadoop,适用于中小规模数据存储,而 Hadoop 更适合大规模数据湖场景。
### 结论
TiDB 在实时数据分析场景中具有显著优势,但仍需结合 TiSpark 和 Hadoop 等技术生态,以应对复杂的分析需求和大规模数据处理挑战。选择 TiDB 时,需综合考虑其特性、性能和经济性,以满足具体业务需求。 |
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
24 页请下载阅读 -
文档评分