168大数据

标题: 数据仓库实践杂谈(七)——数据标准化 [打印本页]

作者: 168主编    时间: 2021-3-25 10:28
标题: 数据仓库实践杂谈(七)——数据标准化
数据标准化是数据仓库建立过程中的另一个难点和重点。可以说如果企业没有建立自己的数据标准,基本上是无法建立统一的、整合的数据仓库模型的。数据标准有很多理论标准的,比如,国家标准有一个叫《数据元的规范与标准化》。这里叫数据元,不是我们前面讨论的元数据,虽然有点接近。简单的来说,这个标准就是描述了如何描述一个数据。比起对表和字段的描述更基础了一层。本人之前有一段时间专门为几个银行做了数据标准的事情。对此工作深有体会,发现这是一个非常繁琐的工作,而且业务不断发展,不断会有新的数据进入,标准交付物维护难度也非常高。
其实我认为,数据标准化首先是语义上的标准化,能做到同一个“名称”表示同一个事物,不同的“名称”表示不同的事物,标准化就胜利一大半了。
从数据仓库建立的角度,数据标准化可以分成两个层面:
现实的情况往往是你可以自己建立一套适合自己,甚至很好的数据标准。但你一般很难约束别人遵守,比如采购一套新的软件。供应商很难按照你的标准去修改自己的数据库,那几乎就是重新开发一套软件了。但是这样的标准确实是有价值的:
曾经碰到过一个银行两套业务系统使用了不同的科目表,连子目层次都不一样,那是相当的难过。
实体及属性标准化其实更多是一个文字工作。首先把每张表都有一个良好的命名。我一般喜欢用编号+英文名。编号规则为:
域编号+表编号
所谓域,是数据模型中的主题域了,一般分为参与方、协议、产品等,根据实际情况,能分出七八个到十几个不等。整个编号一般别太长,三四位最好。英文名直接用反应实际意思的英文单词或者约定俗成的缩写。总之目的是尽量消除歧义,容易记忆。
属性(字段)直接用反应实际含义的英文单词或者缩写。有一些字段的名字翻译过来会很长,就创建一个特定缩写。字段命名很重要的地方是不同表里面同样内涵的字段要使用同样的名字。
至于数据元规范中对一个数据的规范性描述内容,比如标准命名,含义,数据类型,取值范围,启用时间以及维护管理机构等信息,都可以在元数据中描述。虽然大部分信息是否正确并不影响系统的运行,但如果数据有问题的时候,溯源追踪排查问题很重要。毕竟,每个系统每个模块都是得找到对应的负责人才好解决的。
所谓代码,如地区、行业、性别、学历等各种分类代码,系统会有很多。而且这些代码对于统计来说非常重要,往往就是现成的统计维度。标准化代码的维护是一个长期的过程,随着业务发展和国家标准的变更会持续的进行。代码的变更对系统的影响是难以预计的,尤其是统计分析类系统,部分代码的变更会引起统计口径的变更,需要对历史数据进行大量的修改工作。
由于代码变更引起的数据变动通常无法自动化的进行,因此,应该把代码标准化系统看作是一个基础数据的存储,能够以方便的形式被其他系统获取标准化的代码。
对于新系统的建设,应该首先参考标准化系统的代码标准,尽可能直接采用系统中的标准化代码,而不应该自行设立代码规范并各自进行维护工作。
从代码的权威性来看,代码分为两大类:
一般来说,权威代码具有权威性,数据也最为全面,在设计系统的时候,应该尽量考虑采用此类代码。可以总结出来,在数据仓库,建立标准代码的工作是:
有了标准的代码,剩下就是源系统代码和标准代码的映射关系的维护了。做一个好的数据维护工具是不错的选择。
标准化代码可以通过如下要素来描述:
不分代码存在归属关系,比如地区、机构、科目等。一般情况下,这种归属关系可以采用树状结构来描述。但在一些复杂的业务场景,一方面,归属关系会变化,另一方面可能存在多种归属关系。如对于地区代码来说,我们可以用行政区域归属(省、市等)来对地区进行 分类,也可以使用经济区域(东部地区,中部地区,西部地区等)来进行统计。因此,归属关系也存在一个标准化的定义:
未完待续。
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/cfy_fantasyxx/article/details/103617098





欢迎光临 168大数据 (http://www.bi168.cn/) Powered by Discuz! X3.2