随着业务的增长,精细化运营的提出,产品对数据部门提出了更高的要求,包括需要对实时数据进行查询分析,快速调整运营策略;对小部分人群做 AB 实验,验证新功能的有效性;减少数据查询时间,降低数据查询难度,让非专业人员可以自主分析、探查数据等。为满足业务需求,MateApp 实现了集事件分析、转化分析、自定义留存、用户分群、行为流分析等功能于一体的 OLAP 数据分析平台。
这是一个典型的 OLAP 的架构,分成两部分,一部分是离线,一部分是实时。
- 在离线场景中,我们使用 DataX 把 Kafka 的数据集成到 Hive 数仓,再生成 BI 报表。BI 报表使用了 Superset
组件来进行结果展示; - 在实时场景中,一条线使用 GoSink 进行数据集成,把 GoSink 的数据集成到 ClickHouse,另外一条线使用
CnchKafka 把数据集成到 ByConity。最后通过 OLAP 查询平台获取数据进行查询。
ByConity 和 ClickHouse 功能对比
ByConity 是基于 ClickHouse 内核研发的开源云原生数据仓库,采用存算分离的架构。两者都具有以下特点:
- 写入速度非常快,适用于大量数据的写入,写入数据量可达 50MB - 200MB/s
- 查询速度非常快,在海量数据下,查询速度可达2-30GB/s 数据
- 压缩比高,存储成本低,压缩比 可达 0.2~0.3
ByConity 拥有 ClickHouse 的优点,与 ClickHouse 保持了较好的兼容性,在读写分离、弹性扩缩容、数据强一致方面进行了增强。两者对于以下 OLAP 场景均适用:
- 数据集可能很大 - 数十亿或数万亿行
- 数据表中包含许多列
- 仅查询特定几列
- 结果必须以毫秒或秒为单位返回