全文将围绕以下四个部分展开:媒体业务介绍数据仓库建设演进数据治理体系数据治理展望01媒体业务介绍1.业务介绍网易从门户到新闻客户端,我们的目标是让用户在短时间内以去中心化的方式获取内容信息。整体业务流程可以简单理解为:内容生产者生产内容,平台负责分发,用户消费内容。大数据团队的工作职责是:支持日常业务运营等核心数据报表的输出,支持AB实验平台、运营平台、渠道分析等各系统的数据输出,提供个性化的自我-服务报表和数据多维分析服务,客户买点数据采集和买点标准化数据建设。2.数据架构数据架构自上而下分为数据访问层、数据计算层、数据服务层和数据应用层。数据访问层:来自业务数据库的数据(如内容生产数据、用户信息)、公司集团数据(如用户画像等),以及客户端日志、服务器日志等,这些结构化和半结构化数据统一到数据仓库中。数据计算层:采用Lambda架构,离线计算和实时计算分离,离线计算使用SparkonHive,实时计算使用Flink。离线和实时数仓分层统一。DWS层和APP层。数据服务层:由两部分组成,一是数据工具层的存储,二是数据标准服务。我们对数据输出进行了标准化和统一。数据应用层:包括内部数据应用和外部数据应用。02数据仓库建设的演进接下来介绍媒体数据仓库建设的演进过程。1、2015年之前1.0到2.0,当时的背景是我们公司的业务还处于门户信息化阶段。此时的内容形式比较单一,多为新闻文章、图片和文字,数据的丰富度较低,数据量级也很小,数据需求主要是针对公司整体运营的数据报表。那个时候没有专业的数据团队,所有的数据需求都靠平台组支撑。随着公司业务的发展,我们已经从门户信息向综合信息转变。内容载体不再只是图文文章,视频、直播等新载体相继推出。内容制作者不再是编辑和老师,而是加入了PGC和UGC,内容制作更加多元化。同时衍生出众多平台,数据需求往往得不到及时响应。另一方面,以往的数据统计逻辑大多在APP层,数据口径不统一,对数和排查成本极高。我们推出了数据仓库2.0,从零到一个构建数据团队。数据仓库建模采用维度建模的方法,自下而上进行数据构建,高效支撑业务需求。我们还取得了以下成果。我们确定了清晰的数据层次结构,确定了面向业务流程的数据仓库主题,使影响范围可控。数据输出商业化,衍生出媒体数据报道门户和内容运营平台。和其他数据产品,更好的支撑数据产品定制化的需求,也更好的支持业务的精细化运营。2、从2.0到3.0,我们在今年年初推出了DataWarehouse3.0。针对临时的数据需求,我们开始做分析题目的广表,然后拓宽产品输出的表模型,定期和业务方宣讲我们的广表模型和自助抽取工具的使用,让业务方能够直接在产品层面探索,获取他们想要的数据。我们还简化了数据仓库的层次结构,在逻辑层面将原来的六层缩减为标准的四层,并在ODS层引入了视图来解耦数据。03数据治理体系一、数据治理的背景随着媒体业务的快速发展,数据团队承担了大量的数据需求,同时面临着资源成本、数据质量、数据质量等方面的诸多痛点。研发效率:成本:资源使用负载高,资源使用不可控。为了最大限度地利用资源,所有离线任务都提交到一个队列中。没有限制。一个不规则的任务占用大量资源,必然影响核心报表的产出。质量:由于资源使用负载高且不可控,导致数据SLA不稳定,数据质量建设体系缺失。效率:资源的限制也限制了研发的效率,使得数据需求的交付周期很长。基于以上问题,我们确定数据治理是非常必要的。2.数据管理框架数据治理的构建围绕DAMA数据管理指南展开,分为十个模块。整体数据治理由元数据驱动。本次会议将重点关注数据建模和设计、元数据管理、数据资产管理和数据成本管理方面的实践。①数据建模与设计数据的循环流动包括两部分:第一部分是数据化运营,即利用数据让客户快速获取他们想要的数据;第二部分是运营数据,即收集和管理数据。主要包括数据采集、数据分层、面向主题的构建、数据模型的持续改进、数据质量的提升、数据的易用性。基于数据的流通,我们规范了数据研发流程。从用数据到养数据再用数据,形成了数据应用的闭环。②元数据管理随着数据生成速度的加快,元数据已经成为数据迁移和集成不可或缺的一部分。随着存储容量的提高,元数据管理的作用越来越重要。参照DAMA数据管理指南,确定了元数据上下文图,描述了元数据系统的实现过程:确定元数据管理目标-元数据实现-基于技术实现元数据分析和影响分析。元数据管理的元数据构成我们将元数据系统分为业务元数据、技术元数据、流程元数据和安全元数据四个部分。元数据管理的数据地图第一篇是数据仓库表指南。根据数据使用频率和业务重要性,对外开放数据仓库各主题域下的部分核心数据表。您可以查看数据仓库所有产生的数据,有一个全局的了解。第二部分是数据洞察力。目前,它只是初步实现了帮助用户查找和使用数据的功能。③数据资产管理的第一步是定义数据资产级别,分为四个级别:L1-L4。第一块是L4级别,是具有全球影响力的数据资产,比如项目的管理日报等;第二块是L3层,是具有局部影响力的数据资产,主要包括支持业务的决策分析,针对某个核心业务线特有的一些核心指标和核心维度;第三块是L2级别,是一种具有一般影响的数据资产。这方面的问题影响很小或没有影响。最后一个区块是levell1,是影响未知的数据资产。有了数据资产层面的定点,接下来就是如何落地。第二步是实现:数据从业务系统产生,然后通过同步工具进入数据仓库,最后通过同步工具输出到数据产品进行消费。将不同的数据产品划分等级,然后根据数据的血缘关系标注资产等级,并对不同等级采取相应的保障措施。核心资产占比控制在30%以内,进出严格审核。通过数据资产层级体系,确定4个资产层级、36个核心数据报表、153个核心数据生产任务。④数据成本管理资源成本优化分为三个部分:存储成本治理、计算成本治理、资源成本运营体系。存储成本治理通过存储使用监控、僵尸文件管理、生命周期管理、存储格式压缩、数据模型优化,近年数据物理存储减少25%,当前周期数据存储占用值处于稳定阶段。计算成本治理构建计算成本监控体系,设计相应的维度和指标。通过僵尸任务管理、邮件任务迁移等政策的实施,CPU占用率从今年2月份开始逐渐下降并趋于稳定。当资源闲置时,数据使用者可以及时获取数据,调整运营策略。资源成本运营体系建立资源成本运营体系,分为事前、事中、事后。提前拆解资源消耗场景,确定每个场景的资源使用者,制定《离线数据研发规范》等,并组织定期会谈。事前主要是保证大家对研发规范的认知对齐,减少非标准数据的提交。主要是复习数据任务的上限。目前审核主要围绕数据任务占用的计算资源、存储资源、SQL代码规范、调度信息设置四个方面,避免非标准任务上线,影响核心的数据输出报告。事后资源治理是对资源成本治理进行分类:计算成本治理主要包括无效任务的治理和超长任务的优化,以提高资源利用率;存储成本治理主要包括冷热数据管理、数据模型优化、数据生命周期管理等;数据采集??主要包括日志的上下游应用监控,以及无效买点的清洗和下线。其次,在计算资源方面,根据CPU和内存的资源消耗情况,计算资源使用任务排行榜,定期优化计算资源占用排名靠前的数据任务和存储资源。总结:从资源的角度来看,通过存储治理策略,过去一年数据存储负担降低了25%,CPU使用率通过计算治理策略降低了25%。通过建立资源成本保障体系,资源使用稳定,流程合理。从业务角度来看,部分数据报表的输出时间从12:00增加到10:00,输出时间稳定。运营、编辑、分析师和产品人员可以在早上处理数据需求。04数据治理展望结合DAMA的数据管理成熟度评估和媒体业务的实际情况,我们认为数据治理主要有四个阶段。第一个阶段是起步阶段,大家使用有限的工具集进行通用的数据管理,很少或没有治理活动,然后数据处理过程中的角色和职责在各个部门分别定义,数据质量问题也很普遍。是的,基础设施支持也在业务的单位层面。第二阶段是可重复的水平。在这个阶段,有一套一致的工具或角色来支持数据治理过程的执行,并使用集中的工具来开展数据治理活动。这个阶段主要是解决一个或几个非常关键的问题。在治理实施过程中,大部分问题仍然是人工处理,组织开始关注数据质量问题。第三阶段是管理层,引入并制度化可扩展的数据管理流程。从数据生产环节和全局角度,集中规划数据治理的一些相关功能。此时,组织开始着重管理与数据相关的风险,并确定了一些可量化的数据管理评估指标体系。最后一个阶段是优化级,它积累了前面三个级别的一些经验,然后结合强大的元数据系统,使数据治理活动自动化和高度可预测。网易传媒2021年将进行数据治理从零到一,主要解决资源使用负载高、痛点不可控等痛点,构建数据资产层级体系和资源成本保障运营体系,让数据生产稳定、可控了很久。接下来,我们希望依托完善的元数据体系,实现数据治理活动的标准化和自动化。05Q&AQ:数据链路监控需要监控整个Kafka集群还是只监控写入和读取的数据就够了?如何提升数据质量?A:我们会监控来自Kafka、MySQL和Oracle的数据的数据一致性。监控范围包括访问数据仓库后的数据量是否与原始数据量一致。我们会根据资产等级系统对数据进行核查,对核心数据进行监控,确保数据的整体质量。Q:数据治理很难量化数据。有什么好的方法或者一些做法吗?A:我们在推动数据治理的时候,一个是治理能给业务带来的价值。只有明确治理效果,才能推动落实。二是元数据的覆盖面和准确性。Q:媒体的数据治理有多少数据?使用什么框架?A:与数据表相关的元数据大约有4000条,数据报表1200多条,还有一些不可测量的元数据。这里我们参考DAMA数据管理知识体系,一般使用元数据来驱动整个治理工作的开展。Q:媒体亲属系统是如何实现的?是否需要人工干预?它有多准确?A:我们的亲属系统主要包括两部分。一种是数据表的亲属关系,通过Hive插件扫描SQL代码实现。第二块是数据表对应的数据任务的血缘关系,主要看大家在猛犸线下开发创建任务。两块会合并,受制于数据任务的血缘关系。
