扇贝技术总监丁彦:扇贝在数据治理方面的实践(附 PPT 下载)

2023-10-15 03:59

本文主要是介绍扇贝技术总监丁彦:扇贝在数据治理方面的实践(附 PPT 下载),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

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

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

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

什么是数据治理

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

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

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

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

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

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

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

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

1.数据分级

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

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

2. 数据治理

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

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

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

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

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

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

3.技术保障

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

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

·封装 SDK

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

·数据网关

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

这篇关于扇贝技术总监丁彦:扇贝在数据治理方面的实践(附 PPT 下载)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/215192

相关文章

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

pandas数据的合并concat()和merge()方式

《pandas数据的合并concat()和merge()方式》Pandas中concat沿轴合并数据框(行或列),merge基于键连接(内/外/左/右),concat用于纵向或横向拼接,merge用于... 目录concat() 轴向连接合并(1) join='outer',axis=0(2)join='o

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

在Java中使用OpenCV实践

《在Java中使用OpenCV实践》用户分享了在Java项目中集成OpenCV4.10.0的实践经验,涵盖库简介、Windows安装、依赖配置及灰度图测试,强调其在图像处理领域的多功能性,并计划后续探... 目录前言一 、OpenCV1.简介2.下载与安装3.目录说明二、在Java项目中使用三 、测试1.测