数据仓库建立标准化

在事务处理系统中的数据,主要用于记录和查询业务情况。随着数据仓库(DW)技术的不断成熟,企业的数据逐渐变成了决策的主要依据。数据仓库中的数据是从许多业务处理系统中抽取、转换而来,对于这样一个复杂的企业数据环境,如何以安全、高效的方式来对它们进行管理和访问就变得尤为重要。

对于大型公司而言,各个下层子公司都使用自己本地的业务系统,当这些子公司数据往上汇总到总公司时,常常出现代码不一致,数据歧义等等各种各样的问题,在这种情况下,数据标准化就变得不得不行了。

典型的例子,比如医院,大型医院往往包含多个分院,而分院都是用自己的业务系统。业务数据采集汇总后,发现数据结构及数据本身出现歧义,无法直接使用。因此,就不得不对本院及分院的业务数据进行标准化处理,避免歧义,使数据更真实可用,简单易理解。

数据标准化方法实例

● 一号对应一对象。

以病人为例,病人可能在各分院及本院都注册建档,因此同一病人可能在各分院都有不同的ID号,但数据采集到本院,与本院数据合并后,进行标准化处理,应保证此病人具有新的唯一ID号。同时需保留病人曾经的各分院及本院ID号,便于其他分院数据的关联(如分院的病人缴费数据需要关联原始分院号码,之后以标准化后唯一ID号,进入本院系统)。

● 事实数据标明数据来源。

如病人缴费信息,因为缴费事实产生的位置不同,需要进行来源标注,分清本院及各分院,便于数据理解及之后的查询和统计。

在构建DW时的数据标准化处理流程上,可以考虑通过以下方式来完成。

- 标准化准备

在标准化处理之前,需要对DW表格结构进行一些处理,使得标准化过程易于实施,也保证标准化的结果更易于理解。

对于不同的表格上,所需新增的字段也不尽相同。下面分类进行说明:

● 维表

比如病人信息,科室信息,员工信息,设备信息等,新加字段如下:

字段名

类型

说明

备注

ID

数字

代理键,主键

由序列生成,新的唯一ID号

HISTORY_IDLIST

文本

曾经使用的编号列表

对应分院+分院ID号,以;分隔

START_DATE

日期

记录生效时间

拉链使用,可选

END_DATE

日期

记录失效时间

拉链使用,可选

● 事实表

如病人缴费,医生处方,手术记录等,新加字段如下:

字段名

类型

说明

备注

SOURCE_ID

数字

数据来源,本院、分院

表示数据来源;

应新增本院/分院信息维表,记录source_id对应的分院名,地址,热线等信息

ARCHIVE_FLAG

文本

记录是否可归档(Y/N)

对于已处理完成的信息,如病人已出院,进行可归档标记;

DW保留一段时间后,可考虑部分归档数据迁移到二级存储,减轻压力

START_TIME

日期

记录生效时间

拉链使用,可选

END_DATE

日期

记录失效时间

拉链使用,可选

- 数据标准化处理

在数据标准化的处理过程中,也应分为两步进行处理,先进行维表的代码(如ID号)标准化,然后将事实表中的记录以标准化后的代码配合原来的事实信息(如缴费)及数据来源标记(哪个分院)采集到DW标准事实表中。

- 维表标准化

1. 维表标准化以病人维表为例进行说明

2. 将本院及各分院的维表数据采集到DW标准库的缓冲区(可将本院及各分院数据放置于缓冲区的不同用户下)

3. 首先标准化本院数据,标准化后的数据写入标准表格。以病人身份证号进行区分,身份证号第一次出现时,取新的序列值为病人的标准化ID号,并将病人的原始信息(本院编号+原始ID号)记入history_idlist字段;同一身份证号之后重复出现时,将病人的原始信息添加到history_idlist字段即可。

4. 之后标准化分院数据,对于本院中未出现的身份证号,取新的序列值为病人的标准化ID号,并将病人的原始信息(分院编号+原始ID号)记入history_idlist字段;同一身份证号之后重复出现时,将病人的原始信息添加到history_idlist字段即可。

注:在病人的原始信息记入history_idlist字段时,可选择同时将标准化的病人ID号和原始ID号写入一个代码转换表,便于之后分院事实表通过此代码转换表,根据原始ID号,找到新的标准化ID号。当然,分院事实表也可通过对标准化病人维表的history_idlist字段的全文搜索,找到对应的标准化ID号。实际实施中,以实施效率进行灵活调整即可。

- 事实表标准化

1. 将本院及分院的事实表数据采集到DW标准库的缓冲区

2. 本院及分院事实表需与上一步生成的代码转换表关联(或搜索history_idlist字段),根据原始病人ID号,找到新生成的标准化ID号,联合其它的事实数据(如缴费),写入到新的标准化事实表

3. 本院及分院事实表数据写入DW标准库的同时,在标准化事实表的source_id字段中标注事实数据来源(本院或分院的编号)

- DW数据标准化实施

在实施标准化时,可分为标准化初始化-增量标准化来实施,标准化初始化处理数据量最大,之后增量标准化,只要采集增量数据到缓冲区即可。

- 标准化初始化

标准化初始化示意图如下:

图片1.png 

初始化主要完成以下工作:

1. 以某个时间点为界,采集本院、分院数据到DW标准库缓冲区

2.  在缓冲区进行数据标准化后,写入DW标准库

3.  写入完成后,清理缓冲区,但建立了代码转换表的话,代码转换表可保留

- 标准化增量

标准化增量示意图如下:

图片2.png 

标准化增量主要完成以下工作:

1. 将本院、分院从初始化以来的增量数据采集到DW标准库缓冲区

2. 在缓冲区进行数据标准化后,写入DW标准库

3. 写入完成后,清理缓冲区,但建立了代码转换表的话,代码转换表可保留