导读:在公司内部,业务线经常面临数据有哪些、质量如何、是否可用、能产生多大价值的困惑,并且,随着数据量的增加,计算和存储资源面临瓶颈。本次将围绕数据治理重点关注的计算、存储等方面,分享数据治理的产品实践。通过分享,一方面可以了解当前业务线主要面临的待治理的数据问题;另一方面,从计算、存储等主要方面,了解数据治理需要重点关注的内容,同时,对数据治理的整体产品实践有宏观的认识,对内部业务线的数据治理提供针对性的建议。本次分享将主要包括以下几大方面:
--
这部分主要介绍网易内部业务线,包括严选、传媒和音乐,做数据治理工作中遇到的问题、对应的产品解决策略,以及治理成果。
专项数据治理活动有着以下背景:

在专项治理活动中,我们对各个业务线面临的问题给出了针对性的策略。
首先是确权,明确责任人,每个数据表和调度任务都要落实到一个具体的责任人。由责任人负责推进治理中的具体任务。对于无人认领的资产,要各个业务线指定专项治理的负责人去做处理。
第二,优化存储资源。首先要定义什么是“无用数据”,把分析自动化,工具化之后进行优化操作,形成分析闭环。
第三,优化计算资源。从离线任务、实时计算到即席查询,所有的消耗计算资源的任务都要纳入成本分析核算。业务方看到相应的计算任务和成本后,才可以做优化治理的决策。另外要提供优化前后的效果分析比对来看是否达到预期。
第四,量化治理成效。存储、计算治理累计的效果、单次的效果,需要变成一种量化指标。让治理的成果一目了然。

上图是成本度量体系的设计。红色线框中是账单体系,定义了成本的算法,让用户轻松理解自己的账单费用。黄色线框中是计算成本模块,根据规则把调度执行的计算成本算好形成账单。绿色线框中会算出存储成本。上边的功能都会依赖于底层的调度任务/表的血缘等元数据信息。
针对于上节所说的策略,我们做了对应产品功能的落地。整体有八个功能模块:
下边是产品功能截图:



从下图中可以看到我们的治理成果数据。通过上述的多种策略,初步取得了治理成效。2020年,为云音乐和严选分别优化了47.6%和61%的表,也为传媒业务线节省了约38%的计算资源,数据治理各个业务线的专项活动策略得到了业务方的肯定。

--
这部分主要介绍当前治理的痛点,以及我们在制定落地策略的时候,会遇到的各种各样的“坑”。

上图是我们已经解决的一些痛点:

当前我们依然面临成本问题,对于历史数据较多的公司,数据治理需要一个过程。这个过程“前路漫漫,道阻且长”,我们亟待解决的几方面问题包括存储成本、计算成本、数据质量、模型规范、数据安全和数据价值这几方面。具体如下图所示:

--

正如上文提到的诸多痛点,解决起来无法一蹴而就。我们选择采取了阶梯化的治理方案,整体分为三个阶段:

我们围绕数据生命周期,从生产、消费到管理来梳理治理的范围。在数据生产阶段,需要对需求进行分析,明确业务口径,对数据进行规范采集、任务开发和监控运维;在数据消费阶段,涉及到快速的查找数据,对数据的分析和对数据质量的探查;在数据管理过程中,包含权限和成本管理等。整个流程涉及到成本、标准、质量、安全和价值,各个阶段都会面临对数据的治理工作。

我们基于数据的全生命周期,通过资产的健康分来体现数据治理的价值,健康分涵盖了成本、质量、安全、标准和价值五个维度,每个维度都要有可量化的指标项。

最后就是把数据治理进行体系化,让数据治理活动形成闭环,能够持续进行,从而保证数据资产的健康。首先是发现问题,我们配套多维度健康评估体系来量化发现问题。同时通过工具把问题和建议的解决方式推送给负责人去解决问题。配套资产账单、治理红黑榜,同时把健康分和预算申请进行关联,促使治理能够形成闭环。最后日常我们会做数据治理大赛、业务专项治理等专题活动来推动数据治理运营,让数据治理形成一个良性的循环。
--

接下来用一个房子图来介绍下我们的未来规划。我们的愿景是打造一款全流程、自动化、可落地、高质量的大数据评估和优化工具。数据治理工具的使命本是降本提效,省钱省力。
房子图中愿景以下分别是目标、抓手和支撑层。图中可以看到,支撑层的完成度更高,因为这层是一个基础。抓手层的两大块分别是健康分和通知机制,这两块已经实现了部分功能,已经能够初步形成治理的闭环,接下来我们会继续围绕健康分把质量、安全和标准这部分做好。通过围绕着健康分把数据治理的工作运营好,形成一个从问题发现到快速治理的高效闭环,来保证数据使用的效率、质量和安全,充分发挥数据价值。
--
Q:怎么让数据治理工作能够内嵌到开发工作当中,而不是多出来的一项工作?
A:很多业务在使用数据的时候,是只开发不治理,这种方式会遗留下来不少需要治理的问题。很难避免要去单独做数据治理。如果在业务开发初始阶段就把数据规范、指标体系、指标口径有一个规划设计,并且按照规范落实。那么后续会减少很多治理的动作。比如一开始创建表的时候,就要指定好是否分区表,数据的生命周期,这样到期后,就可以自动删除掉,也不会涉及这个表占用了很多存储,需要额外梳理和确定是否需要下线的工作。
Q:资产健康资产分是基于什么得出来的?
A:健康分涉及到很多方面,成本、价值、规范、质量、安全等等。健康分的五个维度,都是从实际需要治理的任务抽象出来的,涉及到数据生命周期的各个环节。有了这样一个资产健康分,再和用户的开发权限申请和资源申请进行挂钩,能够促进数据治理形成一个高效的闭环。
Q:数据治理,一般由谁来做?
A:数据治理涉及到资源方、使用方和管理方。一般来说我们会明确具体的负责人,他有义务对负责的表、任务做治理。实际执行时候,会碰到一些任务最早的负责人离职了,针对这种我们会指定专人治理。专人除了把自己负责的任务、表做好治理之外,还需要处理历史遗留的治理任务。
Q:中台当中的数据治理都做什么?只是数据库表的原数据吗?
A:其实刚才也说过,治理不只针对于数据库表的原数据。数据从入仓到加工到后续生命周期的管理的这个流程上,每个阶段都会涉及到数据治理。比如创建模型的时候,涉及到指标口径的定义和模型的规范。再比如离线开发中的ETL加工,会涉及到数据源配置,数据质量校验等,这些都涉及到治理的动作。那么在应用层出报表时候,涉及到是否要建中间表等,也要有规范。整个生产应用的链条上都会涉及到治理,表和元数据只是其中的一方面,其他的比如涉及到计算资源的治理、安全的治理等。
Q:数据治理一般要花多长时间?
A:其实数据治理没有一个既定的时间就能够完成它,它不是做完之后就不用再做了,而是一个持续的过程。因为你的项目当中的表,你的计算任务随着业务的需求肯定是慢慢在增加,一直在增加的。就像收拾屋子一样,只要屋子有人用,总会再需要收拾。
Q:计算成本是怎么核算的?
A:计算成本是看任务对CPU的消耗,折算成以CU为单位的数据,然后就可以根据硬件成本折算成费用。
今天的分享就到这里,谢谢大家。
分享嘉宾:

本文首发于微信公众号“DataFunTalk”。
很好奇,就使用rubyonrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,
有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳
我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
我正在编写一个简单的静态Rack应用程序。查看下面的config.ru代码:useRack::Static,:urls=>["/elements","/img","/pages","/users","/css","/js"],:root=>"archive"map'/'dorunProc.new{|env|[200,{'Content-Type'=>'text/html','Cache-Control'=>'public,max-age=6400'},File.open('archive/splash.html',File::RDONLY)]}endmap'/pages/search.
导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵
本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01 客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02 数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit
文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co