业务挑战
随着业务场景的不断拓展和用户规模的迅速增长,业务运营过程中,智慧芽深度依赖对实时数据的分析和结果呈现,需要进行用户行为分析,提供实时大盘和特定场景的运营数据,对流量和服务的分析也不可或缺。
智慧芽原先采用 Segment 与 Redshift 的数据分析架构,仅构建出了 ODS 层,数据写入的规则和 schema 不受控制,且需要针对 ODS 编写复杂的 ETL,按照业务需求进行各类指标的计算来完成上层业务的数据请求。Redshift 中落库数据量大,计算慢(T+1 时效),影响对外服务的效率。
实时数仓解决方案
经过多轮选型和对比测试,智慧芽选用 TiDB + Flink 实时数仓方案拓展数据分析架构体系的能力版图。结合了 TiDB HTAP 与 Flink 两者的特性,TiDB + Flink 的方案优势显而易见:首先是速度有保障,两者都可以通过水平扩展节点来增加算力;其次,TiDB 深度兼容 MySQL 协议,Flink 提供 Flink SQL 和强大的连接器来编写和提交任务,学习和配置成本相对较低。
替换为基于 TiDB + Kinesis + Flink 构建的实时数仓架构后,不再需要构建 ODS 层。Flink 作为前置计算单元,直接从业务出发构建出 Flink Job ETL,完全控制了落库规则并自定义schema,即仅把业务关注的指标进行清洗并写入 TiDB 来进行后续的分析查询,写入数据量大幅减少。
按用户/租户、地区、业务动作等关注的指标,结合分钟、小时、天等不同粒度的时间窗口等,在 TiDB 上构建出 DWD/DWS/ADS 层,直接服务业务上的统计、清单等需求,上层应用可直接使用构建好的数据,且获得了秒级的实时能力。
这套实时数据分析平台架构实现了真正意义的 Real-Time Data as a Service,目前应用于智慧芽用户行为分析和追踪、租户行为分析等实时分析场景,并为业务运营大盘提供实时数据支撑。
业务收益
延展视频:TiDB 在智慧芽在线分析场景的应用探索
客户简介
行业:信息服务
智慧芽(PatSnap)是一家科技创新情报 SaaS(软件即服务)服务商,聚焦科技创新情报和知识产权信息化服务两大板块,为全球 50 多个国家超 10000 家科技公司、高校、科研与金融机构提供大数据情报服务。在数据源方面,智慧芽已存储了 1.5 亿多个全球专利数据、1.7 亿多个化学结构数据,以及千万级财务新闻、科技文献、市场报告、投资信息等海量数据。