数仓-需求

一、数据评估

数据评估是一个系统的检测过程,对 ETL 需要使用的数据源的质量、范围和上下文进行检查。从极端意义上讲,一个清洁的数据源是一个维护良好的数据源,只需进行最少量的数据转换和人工干预就可以直接加载到最终的事实表和维表。但对于脏数据源可能需要如下的步骤进行处理:
完全清除某些输入字段
补入一些遗失的数据,产生特殊的代理键
自动替换掉某些错误数据值
在记录级别上进行人工干预
对数据进行完全规范化的表述 

二、架构

技术选择:ETL 工具还是手工编码

                处理流程:批处理式数据流还是流式数据流

ETL 系统的标准架构是从数据源中周期性的以批处理方式抽取数据,流经整个系统,最后以批处理的方式对最终用户表进行批量更新。本书也是主要基于此种架构组织。但正如我们在第 11 章中描述的那样,如果数据仓库加载的实时性要求变得很急迫,批处理的方式就会被打破。替代的方法就是流式数据流,记录级数据从源系统不停地流向最终用户数据库和屏幕。批处理方式到流方式的改变会改变所有的一切。尽管我们仍然必须支持基本的抽取、清洗、转换和提交步骤,但这些步骤都必须进行修改,以适应实时性记录处理需求。尤其是对于快速流方式而言,很多关于数据到达甚至参照完整性方面的常规假设都必须进行修改。比如,某个新客户的销售交易记录可能在这个客户的描述信息达之前就已到达。甚至,即使客户身份得到识别后,增强/清洗/复制过的客户记录也可能在最初事件的数个小时或数天后才到达。所有这些都需要对处理逻辑和数据库进行更新,而这种更新对于面向批处理方式的数据流可能是要尽量避免的 。

                ETL任务组织方式:水平方式还是垂直方式          

水平方式组织任务流是指每个最终的数据库加载相互独立运行。因此,如果有订货和配送两项任务,这两项数据库加载任务会相互独立运行。这通常意味着抽取、清洗、转换和提交的步骤在两个工作流之间是非同步的。

垂直方式任务流会对多个离散的作业进行同步,这样最终的数据库加载会同步进行。尤其是多个系统使用共同的维表时,比如客户或供应商等,之前的步骤一定要同步。这样,如果之前的步骤没有全部执行完,后面的步骤,比如转换或提交等就不会往下运行 .
调度:

三、数据仓库

数据集市(也称为维度数据集市)对所有的访问者是相同的,都能访问底层的度量事件。而且,由于维度数据集市基于最基础的原子数据,因此在应用级很少发生改变;

通过定义可以知道,数据集市包含了能够从数据源获取的全部明细数据。根据错误的定义建立的数据集市不能处理变化的业务需求,因为它们的数据已经被聚合了 。。

        DW 总线架构采用一致的维表和一致的事实表,一致的维表具有公共的字段,这些字段的相关值域都是相同的。这一点保证了用户能够对事实表通过其关联的
维表进行查询,并且也能够将列合并到最终的结果中。当然也包括横向钻取。更
广泛的讲,我们还能在分布式数据仓库中管理规格化维表和规格化事实表。





你可能感兴趣的:(数仓-需求)