背景介绍
闲鱼 2014 年成立至今已实现了千万级 DAU 的跃迁,业务决策方法和基于方法背后的能力亟需提升——从原始的经验驱动到更科学合理的数据驱动体系,这里需要越来越多的数据分析和报表开发工作。在整个数据分析的链条上,存在一些痛点的事情我可以去帮助到业务:
BI资源紧张、响应较慢
SQL 查询速度慢、等待耗时较长
前端与服务端的联调成本较高
数据类型复杂度高,难以直观发现有价值的信息
业务现状
数据分析的现状流程分为三个部分
SQL 开发
应用开发
数据可视化、前台产出分析报告
完成一整个开发流程,平均耗时要达到 5 天甚至以上。我们一步一步地来看看,每一个研发节点在现阶段存在的问题,以及能不能去优化和解决它们。
SQL 开发
负责 SQL 开发的同学工种是 BI,由于BI缺乏工程抽象的概念,导致每个数据开发的需求过来的时候,都需要从 0~1 重新开发 SQL 代码,但绝大部分数据分析需求的基本逻辑是相似的,没有可复用性,使整体效率变得特别低。那我能不能在 SQL 的领域增加工程抽象的概念呢?我把 SQL 抽象成一个一个的原子 SQL,前台只需要指定原则 SQL 的拼装规则,拼装层对原子 SQL 进行组装得到最终的SQL查询字符串,进而就得到了想要的查询结果,通过这样,重复的 SQL 能被沉淀和复用,大大减少了重复开发的时间成本。另外,因为 SQL 查询