InfoQ网易严选数据产品实践( 三 )


数据质量保障是一个复杂而系统化的工程 , 展开讲可以写一本书 , 本文的主题是数据产品 , 下面主要从数据产品的角度讲下我们的数据质量保障的解决方案 。 针对数据质量保障需求 , 我们设计开发了一系列中台数据产品来保障数据的完整性、准确性和稳定性 。
InfoQ网易严选数据产品实践
本文插图
在刚开始构建数仓的时候 , 我们就形成了默认的规则 , 所有的业务数据库、业务日志都接入数仓 , 保障了在线化数据的完整性 。 尽管我们严选产技团队 , 几年来加班加点地不断研发系统 , 但是严选依然有很多业务没有线上化 , 进而数据不能通过业务系统、日志进入数仓 。 一方面是因为作为品牌电商 , 业务链路长 , 对应的业务线上化的需求也多 , 另一方面业务不断更精细化运营、不断探索新的业务方向(这样才互联网) , 进而不断产生新的业务线上化需求 。 针对尚未线上化的业务过程 , 我们开发了数据填报系统 , 业务通过excel就可以快速把数据导入数仓 。
数据产品经理结合业务需求通过指标管理系统先定义指标(口径、描述等) , 数据开发同学通过数仓设计系统根据指标定义进行数仓模型的设计 , 网易猛犸大数据开发平台根据数仓设计系统的模型设计来新建表 。 通过需求->设计->开发的在线化协同 , 来保证指标开发的一致性 。 指标地图 , 提供所有核心指标的定义 , 业务人员可以在指标地图查看指标定义 , 来解决指标口径理解问题 。 从数据源的角度看 , 业务DB的数据一方面有数据库scheme的校验 , 另一方面应用层也会进行校验(业务DB的数据是通过应用层代码写入的) , 出问题的概率很低 。 数据填报系统excel导入的数据 , 因为在excel里直接操作数据且操作非常灵活(约束少) , 很容易出现导入的数据有问题 。 我们首先控制数据填报系统的建表权限(只有数据开发可以建表) , 同时在系统里提供了大量的校验规则 。 业务人员需要导入数据到数仓时 , 先联系对应的数据开发提数据导入需求 , 数据开发根据需求设计表的结构 , 并配置对应的表级/字段级的校验规则 。 业务人员导入excel的时候 , 相应的校验规则就能提前发现不符合规则的数据 , 并要求业务人员修改后重新导入 。 埋点由于端多、涉及的开发人员多、没有强scheme约束 , 也是数据源问题重灾区 。 埋点管理系统提供了埋点的定义 , 埋点流程管理和埋点测试 。 埋点开发人员使用埋点管理系统的单元测试能力 , 在埋点开发完成后就能进行单元测试 , 检查埋点数据是否符合埋点定义 。 测试人员可以使用埋点管理系统的回归测试能力 , 对核心埋点进行回归测试 。 通过埋点测试 , 可以保障埋点数据源的准确性 。
由于数据任务量大(1W+任务节点)、大数据平台本身稳定性相对较差 , 任务稳定性保障一直是个难题 。 我们跟杭研共建任务运维中心 , 提供任务治理、智能监控报警、任务影响分析等功能保障数据稳定产出 。 通过任务运维中心 , 发现高耗时、耗资源风险任务 , 及时进行任务优化 。 智能监控报警 , 在任务出错、预测基线有破线风险时及时报警给数据开发值班人员 , 数据开发值班人员自己或组织对应的开发人员 , 及时进行问题的处理 , 保障任务的稳定(准时)产出 。
CXO 无处看数看到“CXO无处看数” , 大家可能觉得很奇怪 。 上文不是说了 , 在有数上已经制作了大量报表 , 怎么CXO会无处看数 。 因为CXO有不一样的场景 , 进而产生不一样的需求 。 尽管BI平台(严选有数)上有大量报表 , CXO依然面临“难找”、“不能随时看”的问题 。 CXO有整个BI平台的权限 , 进入平台后面对海量的报表 , 难以快速找到想看的数据(CXO的时间又很少) 。 CXO工作特性需要随时随地查看数据 。 CXO事情特别多 , 电商CXO尤甚 , 品牌电商CXO更甚 , CXO不是在开会/出差 , 就是在开会/出差的路上(连我自己现在也差不多) 。