扇贝技术总监丁彦:扇贝在数据治理方面的实践(附 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

相关文章

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired