StarRocks致力于构建实时数仓以应对数据产生到消费周期缩短、数仓使用方扩展及实时数据流量爆发式增长的需求。其典型案例包括小红书广告中心、顺丰科技运单业务、微信监控及华润万家零售报表等。
实时数仓的必要性
- 数据周期缩短:数据从天级下降到秒级。
- 用户扩展:数仓使用方从高管扩展到一线运营人员,QPS从10提升至1000,响应时间从1分钟缩短至1秒。
- 流量增长:单集群日均消费Kafka记录达1000亿条。
StarRocks存储引擎新进展
- 导入性能优化:
- 全流程接入新的Pipeline引擎,提供2PC事务语义,降低流式数据接入成本。
- Replicate Storage功能提升多副本导入效率。
- Kafka Topic任务调度智能化,日均接入1000亿条记录。
- JSON/Parquet解析全面向量化,大幅提升解析速度。
- 性能测试:
- ClickBench测试显示,Parquet导入速度达1.35 GB/s,远超CSV和JSON。
- 大宽表(10800列)文件格式为Parquet时,导入速度最优。
Primary Key V2进展
- Persistent Index:支持持久化索引。
- Partial Update:支持部分更新。
- Conditional Update:支持条件更新。
- MVCC Refactor:重新设计compaction,支持update/delete SQL。
Flink适配优化
- 传统MySQL CDC链路局限:表数据量大、开发难度大、schema变更繁琐、Flink资源占用高。
- Flink CTAS&CDAS:引入Flink CTAS&CDAS新链路,提升效率。
- Flink Connector V2:支持两阶段提交(2PC)。
- 统一建表和导入语法:支持stream load、broker load、spark load、routine load及insert into等多种方式。
行存表与物化视图
2022
微信公众号:StarRocks加入社区