How is the system-of-record determined?
如何确定起始来源数据?
答:
这个问题的关键是理解什么是System-of-Record。System-of-Record和数据仓库领域内的其他很多概念一样,不同的人对它有不同的定义。在Kimball的体系中,System-of-Record是指最初产生数据的地方,即数据的起始来源。在较大的企业内,数据会被冗余的保存在不同的地方,在数据的迁移过程中,会出现修改、清洗等操作,导致与数据的起始来源产生不同。
起始来源数据对数据仓库的建立有着非常重要的作用,尤其是对产生一致性维度来说。我们从起始来源数据的越下游开始建立数据仓库,我们遇到垃圾数据的风险就会越大。
理解源系统的本质对于创建DW结构,ETL过程结构等非常关键。各种工具、连接和服务都部分依赖于数据的来源以及输出的数据内容。 在数据仓库设计的最早阶段上,设计者关注两样工作:用户需求的收集和数据源分析。设计者必须将用户需求与现实各种数据源放在一起通盘考虑, 尽可能深入的了解与需求密切相关的数据源,把其作为下一步研究的基础。 通常用户都会说明他们需要有关销售,库存,财务等方面的数据,可是他们并不能详细的说明这些数据的来源与存放在企业的哪个数据库中。 在这一步骤为每个事实表与维表确定来源,收集有关它的信息,是静态的还是动态的,数据是缓慢变化的还是频繁变化的,数据源在何处,数据源所处的平台等,确定ETL的范围;并且确认那些是来自正式的数据源或者是非正式的数据源。 正式的数据源是由业务系统进行支持; 而非正式的数据源,如分析竞争对手时的市场占有调查报告等,这些是不能有现有的业务系统支持, 而是来自于用户的收集与使用的,这些信息往往需要一个获取信息的处理过程,将其收集到数据仓库中.
确定了数据源,我们必须仔细研究每个数据源的内容,可获得性程度等。因为在某个系统中同样一个目标值的数据来源可能会有多个,这样这个过程并不能是一个自动化的过程,更多的是依靠经验,会根据数据量,数据质量,数据内容,数据完整性等方面来确定哪个是我们要使用的数据源,并选择需要的数据内容。在这个阶段选择数据源时必须对业务有深刻的了解,如果想取一个数据,在源表中多个表都存在, 如对于一些大表,在业务系统中为了性能的需要,经常会只保留三个月的交易数据,这样如果我们要分析一个一年以上的数据,这个源表就不能符合我们的需求。 这些都需要IT的信息专家参与,他们对组织中的数据非常熟悉,了解大部分数据源的历史。 通过对所有的数据源进行详细的分析,了解其真实的数据内容。在选定数据源时,在某种情况下,并非可以随处捕捉到数据。这些数据必须要考虑它的其他方式的来源。