大数据

大数据治理平台——维度管理

2019-03-28  本文已影响169人  Sophie12138

背景

image

苏宁八大产业,每个产业有自己的数据集市,每个数据集市有自己的维度表,没有统一的维度管理(包括管理规范和系统支撑)。业务痛点包含以下几个方面:

目的

建立统一的维度管理系统,实现对维度信息的统一管控,并为集团的数据产品提供统一的维度数据服务,包含维度开发管理,维度信息管理及维度数据服务三个方面。

image

维度数据

image

如上图所示,ETL将采集的数据,进行数据清洗之后存储到维度数据仓库(磐石)中,维度系统再将维度数据仓库中的数据同步达到维度库系统。

维度数据存储方式:维度数据一般以一百万的数据量作为分割点,一百万以上数据量的维度采用的存储是HBASE,一百万以下的数据采用的存储是MYSQL。

维度数据同步方式:存储到HBASE的维度数据采用的是BULKLOAD导入,存储到MYSQL的维度数据采用的是SPARKSQL+RDD写入。针对数据同步都已经实现通过页面配置任务的方式一键同步,节省人工。

为什么采用这种存储方式?

1, 针对数据量的大小采用不同的存储引擎,节约存储资源,提高维度服务的稳定性。

2, 实时指标的计算:OALP需要关联维度表和事实表做指标数据加速(实时计算指标数据)。这种需要实时的查询维度表的所有维度属性,调用量非常庞大,所以采用了直接查询HBASE的方式。

3, 维度需要提供基于维度值ID查询维度值名称的服务(包括批量精确查询和模糊查询),HBASE在精确查询上性能较高。MYSQL由于数据量不大,可以再加一层分布式缓存,提高精确查询维度值的性能。

维度建模

1, 选择业务过程

根据业务场景以及可用数据源

2, 声明粒度

根据事实表及应用场景,确定汇总粒度,一般尽可能的用最细粒度

3, 确定维度

根据确定的粒度,定义对应的维度,最细粒度,也是最低层次的维度

4, 确定事实

确认将哪些事实放到事实表中,维度表只是做关联,不做维度数据的查询服务。

维度定义

image

1. 当增加新的维度时,编码号将在已用号码的基础上递增,四位十进制编码号不能满足需求时,可增加编码号长度为五位十进制数,以此类推。

2. 当删除已有的维度时,其编码号将不再利用。

3. 当修改已有的维度时,其编码号不变。

4. 当拆分已有的维度或合并两个及两个以上的维度时(数据应用场景需要),其编码号的使用原则按照删除原维度,并新增拆分/合并后的维度执行。

维度管理

维度:目前维度平台支持快速定义维度,通过设置维度的基本信息,选择维度映射的维度表,做好维度与维度表的映射,设定维度的一些特性(布尔维度,时间维度,杂项维度等),检测维度的定义结果。达到了让业务人员能够只是通过页面操作就可以制定需要的维度。

维度表:数据开发人员可以通过维度库平台定义维度表,定义好之后可以集成数据仓库的同步任务一键将仓库的数据同步到维度表中,将维度表与维度做映射关系。

维度层级:维度库平台支持定义维度层级,只要是维度库平台上有的维度表并且做好维度与维度的映射关系之后,就可以定义需要的维度层级,根据维度层级提供维度值的上卷下钻查询服务。

维度血缘:提供了维度,指标,报表的血缘关系,以及还准备做的维度数据的血缘,维度,指标,报表调用次数的血缘等等。

image

维度服务

1. 维度服务调用申请:

调用维度服务,需要在维度库管理系统中申请调用权限。等维度管理系统授权之后,生成维度服务调用授权码,在调用维度服务的时候带上维度服务调用授权码,维度服务会根据授权码判定是否有访问权限。

2. 维度系统提供的服务:

1,对存储在HBASE的维度表,我们又加了一层存储到ELASTICSEARCH(提供维度值的模糊查询服务)

2,针对负载较高的HBASE表,加了一层本地缓存,解决热点问题。

3,对存储在MYSQL的维度表,我们又加了一层存储到分布式缓存ZEDIS(提供维度值精确查询服务)。提供了定时或者手动刷新缓存数据的功能,以及缓存数据的监控机制。

image

监控分析

由于维度服务的调用量是亿万级别的,系统的监控统计,采用的是Log4j+kafka+druid的架构,如下图所示,应用将调用日志采用log4j- KafkaLog4jAppender写入kafka中,再将kafka与druid集成,准实时的输入druid中,业务基于druid做统计分析,查看维度服务调用成功或失败的情况。

除了维度服务的调用监控,平台还有针对维度值的数据量监控(主要监控暴增或者突然没有维度数据的情况),维度值数据质量的监控(根据维度表和事实表做数据比对,分析维度值数据的差异情况)。维度数据同步任务的监控(每个维度表的数据同步情况监控,异常告警到具体的任务负责人)。通过各种有效的监控手段,来提升维度服务的稳定性和准确性。

image

未来展望

1. 未来平台会更加的完善,会有越来越多的维度在平台上建设,提供更加稳定和高效的维度查询服务。

2. 能够支持更多个性化的维度,能够支持维度的数据版本(例如过去一段时间的维度值),支撑全集团所有数据产品的维度调用服务,将平台打造成苏宁主数据服务的航空母舰。

3. 通过维度数据资产体系的建立,实现集团一切业务数据化,连接打通数据孤岛,驱动一切数据业务化,助力企业数字化转型,让数据做到真正意义上的产生价值。

4. 通过提供各种维度数据支持数据产品及各类应用产品,帮助各岗位用户在日常经营决策中做出正确决策。

总结

目前平台的现状及以后的规划

1, 完善系统监控功能点:缓存任务较多,没有有效的监控,告警机制。

2, 完善业务监控功能点:数据量监控,数据异常监控,告警功能

3, 落地维度新增、变更、下线全流程审核管理功能.

4, 完善应用层的维度、指标、报表数据链路的血缘分析图谱,全方位透析资产,

5, 打通全链路维度变更通知的消息机制,降低数据链路变更带来的风险,

6, 多系统用户资源隔离、限流,保障多个部门在使用和体验上的一致性,

7, 支持用户自定义维度、完善个人工作台,基于通用维度进行维度的衍生,

8, 维度门户的建设,将业务端和管理端进行隔离,提升用户体验

上一篇 下一篇

猜你喜欢

热点阅读