集群治理之存储治理篇

前言

转眼间,七月过去一半有余。感觉时间过的好快,上周末还在和小伙伴讨论去哪玩,这又到周末了。回头看看,距离上篇文章差不多过去一个月。是时候总结下这一个月干了点啥了。

背景

自从入了数据的坑,感觉有做不完的优化。和以前做业务系统不同,之前,更多的是被源源不断的业务需求砸晕。而如今,做基础数据建设,每天都在想法设法优化数据,优化集群。怎么把数据的价值体现的更好上。

最近忙着搞数据治理。好像,这几天都在发送“账单”,催用户去处理数据。那么,有人会问:这是问什么呢?首先,数据有进无出。再大的存储系统也迟早会爆满。而且,从公司投入成本来算。没必要对一些冷数据或无用的数据投入过多的存储。

在说说,如果一味的以堆加机器的方式来弥补存储的不足。一方面,成本增加;另一方面,运维的成本也会增加。每天路过大数据运维同事旁边,拍拍肩膀:“今周打算加多少机器?”。对于运维同学来说,不也是很尴尬的一件事么?加机器,重复而无聊。虽说可以使用自动化部署,但是这种只增无减必定会带来维护成本上的“熵”增。

措施

面临这些囧状,对于数据的治理就迫在眉睫。就像人有生老病死,数据同样也有产生和消亡的过程。那么,数据就是有“生命”的实体。


如何开展数据治理呢?


数据治理

生命周期

首先,要赋予数据生命,涉及到生命周期管理,这是贯穿整个数据链路上的。针对不同等级的数据设定不同的“生命”长短。过期的表删除,冷备归档,最终销毁。

账单

其次,要使用户对数据有感知,让用户知道自己使用的数据资产情况。那么,就会抽象出另一个概念“存储账单”。说到这,你可以理解为用户使用的存储成本计费。这样一来,将无感知物理存储,转变为更贴于生活的成本计费。比如:100G每天计费1元。那么,用户就会知道自己的表大概一天使用多少钱。只要谈到“钱”,一般人都不会轻视,“壕”哥除外。进行个人日账单,部门周账单的推送。

个人账单

部门账单

数据行为分析

再者,有了上面的生命周期:可以实现用户自助管理自己数据生命,设置不同的生命周期,进行无用表的删除。同样,也可以对数据进行恢复。存储账单:直观的体现数据成本,督促用户治理数据。

那么,似乎还需要给用户提供治理建议。这么一来就有了关于数据行为分析的概念。简单来说就是数据的增长(用户可以重点关注增长过快的数据),数据的访问情况(用户可以区分冷热数据)。其底层,会依赖hdfs的一些系统数据和metastore的数据。技术上,就是通过hdfs的fsimage分析存储目录的最近访问时间和存储目录大小等,再结合hive的metastore元数据信息,给出表的一些行为表现。从而,给予用户一些指导作用。

经历过数据治理的同学,一般都会被用户质问:

  • 这个表为什么没用,最近什么时候访问的?
  • 我用的很多么,我业务就需要啊。
  • 能给出优化建议么?
    等等。

所以,有这个数据行为分析展示。咱们治理的同学说话也有了底气不是么?

效果

大概治理了2周,公司的数据量从之前的接近12PB降低到现在的10PB不到,降幅在16.7%。同时,用户也接受了表生命周期这个概念,能够主动去设置表生命周期来管理表。

不足

  • 用户还是需要有更强的数据意识,当然,做业务的还是业务为重,这也不能怪他们。
  • 缺少了点奖罚措施,或者说是治理委员会的一种治理制度规范。
  • 在自动化治理上,工具还是欠缺。

改进

  1. 首先,希望在未来能够从数据源头做起,提高数据质量,避免不必要的加工环节,优化ETL链路(依赖表的血缘)。如果有自动化的工具,可以检测到数据链路,预测给出最优链路是再好不过的了。

  2. 其次,就是跟完善的数据行为分析和优化建议。结合各个指标的TopN进行治理。

  3. 然后,就是数据的准确唯一性,对判断依据统一化。

  4. 再者,加大“曝光度”。对数据大户,和数据使用不合理的用户增加其曝光度。这样,推动起来更高效。

  5. 最后,能够实现数据配额的管理,对部门使用数据量严格把控。

还有很多很多….欢迎交流!

Alan Zhang wechat
欢迎您扫一扫上面的微信公众号“补愚者说”,订阅我的博客!