扇贝技术总监丁彦:扇贝在数据治理方面的实践

665

2020 年 10 月 13 日,在以“数字化 正当潮”为主题的「神策 2020 数据驱动用户大会」现场,扇贝技术总监丁彦发表了《扇贝在数据治理方面的实践》的主题演讲。(文末附 PPT 下载地址)

本文根据其现场演讲整理,主要内容如下:

扇贝成立九年,是国内知名的移动互联网学习平台,现已拥有数千万注册用户,旗下产品包括扇贝单词、扇贝阅读、扇贝听力、扇贝口语、扇贝 Python 课程、Excel 课程、数据分析课程等。 关于数据治理,综合各家之言后,我发现大家一致认为这是一件复杂的事情。今天,我将从扇贝在数据治理方面的实践做简单的讲解,并非严格遵循理论模型,而是侧重实践。

什么是数据治理

数据治理一般包含六个方面,如下图所示: 在扇贝,我们的技术架构是微服务架构,对应产品矩阵和内容矩阵。

扇贝的现实目标及落地策略

在数据治理的过程中,我们常常会看到一些转型期、发展历程悠久的公司面临着各种各样的问题,普遍来说可以归结为历史负担比较重,或者现有架构比较复杂。

扇贝为了使业务更好、更快地发展,将产品和内容整合成几条业务线,不同的业务线由不同的团队负责。但是在整体做数据处理的时候,不得不面对以下几个相互冲突的现实目标:

·各业务数据都是相对独立的,但又是相互打通的。

·各业务数据拥有一定的自由度。保证高效业务线按照自己的发展速度进行,并以“快”带“慢”,拒绝以“慢”牵制“快”。

·各业务数据不能互相影响。

以上目标之间既要打通又要独立,又要保持一定的自由度,在具体执行过程中难度较高。基于此,扇贝提出三大解决措施:

1.数据分级

通常情况下,我们面对整体数据往往无从下手,但在将其做分级之后,处理效率会迅速提升。因此,我把数据分为关键数据、全局数据和一般数据。 关键数据通常面临着质量等要求;全局数据会影响企业整体发展,属于共用数据,要做严格审核与把控;一般数据可以允许其有一定程度上的不准确和混乱。

但是,针对以上三类数据,我们要始终确保它们之间是相互隔离的。

2. 数据治理

我们对于每个类别的数据均采取不同的策略,并且有专业的治理小组牵头推动,监督执行。

在成员构成上,每个治理小组牵头的人一定是企业内部的权威者,成员也必须包含所有与数据生产方利益相关的人,也就是说凡是能产生数据的组织一定要有其代表者加入到治理小组中。

·关键数据的治理小组由直接管理者组成,从生产开始,各业务线、微服务等不能自行生产;

·全局数据很多时候相互影响,因此要做统一管理,我们常用的用户画像就属于全局数据。

举个例子,一个用户的不同标签是由于不同的事件行为产生的,这些不同的事件行为分散在不同的组织里,当「扇贝单词」的用户 A 选择了一本四级单词书,那我们就可以猜测用户 A 大概率是在校大学生,并有 CET-4 考试的需求;那么,从「扇贝口语」等其他组织来看,这个用户标签同样可以适用。

·一般数据自由度较高,管理相对宽松,我们通常每周或隔周用自动化的手段去统计数据宏观的质量情况,如数量、规范等,然后产生报表,并做定期公布。

3.技术保障

所有的数据终归要做到产品里面,这不仅要求成员有这样的意识,也要求其有这样的能力。因此,扇贝在技术层面做了针对性的措施支撑。详见下图: ·规划命名空间

每一类数据均有其对应的命名空间,比如一般数据要有隔离化的命名空间,全局数据是跨命名空间的,整体来说,要对所有数据有统一规划。

·封装 SDK

基于神策的数据生产与数据采集,我们会主动做 SDK 的封装,做数据的规范校验与过滤。

·数据网关

我们对每一个数据都要再做一次强验证,如分发、清洗等,尤其是关键数据和部分全局数据;一般数据的数据网关处理常常表现为统计、审计等。