背景
目前很多业务方碰到需要数据就找数据平台,一些数据需求是合理的,但是一些数据需求是不合理的,根据公司的情况简单列一下,碰到此类问题的解决方案。
另外数据平台目前还是以数据仓库人员为主,开发rd比较少,提供的API还是以通用数据为主。
需求分析
- 数据API的开发和维护成本较高,要弄清楚以下几件事情
- 每天的数据量是什么样,小数据量的用不到数据平台
- 当前的数据是否业务方都能获取,或者已经在自己的数据库中,都能获取的无需数据平台重复开发
- 计算复杂度如何,关联,排序,全量历史数据计算?
- 是否可以复用,不可复用的要谨慎
- 是否可以接受延迟,目前实时延迟+15min,离线t+1
- 数据获取后是否有下一步的业务动作,如果有要谨慎,不能卡业务流程 eg 形成一些任务需要操作
- 数据的计算或者获取中,是否存在业务逻辑规则,注意尽量数据平台不存储业务规则,维护成本不可持续
- 是否有下钻到明细层的需求,如果有,注意需要的其实是明细,而不是汇总的结果,数据平台只能提供汇总型的明细,业务规则由业务端实现
- 尽量提供离线数据,实时开发成本较高
- 数据API比较适合提供哪类数据
- 数据资产型数据,例如用户生命周期类数据
- 可以大量复用的数据,例如一些常用的业务数据,已定量
- 业务数据无法计算的数据,例如相关流量数据
- 画像,数据建模,搜索等数据应用类数据
- 主要形式
- API的形式
- 推送到Kafka
- 推送到业务数据库mysql
- 提供mysql数据库查询权限
- 提供hive表的查询权限
- 提供es的查询权限
未来
数据部门应该形成自己的数据应用类产品,例如cdp等,结合公司规则引擎等产品,提供更高层次的数据服务。