在不同的历史阶段之中, 企业搭建了特有的信息管理系统, 但是各系统之间相互隔离且结构有别。一方面, 决策人员难以获得全方面的决策支持信息;另一方面, 由于决策人员频繁而复杂的数据分析处理, 数据库负担过重;同时, 信息市场间的信息竞争激烈, 上述这些情况最终导致了数据仓库 (Data Warehouse, DW) 的产生。
对于企业营销部门的工作人员来说, 管理系统的搭建不仅仅是为了数据信息的收集及查询统计功能的实现, 而且也为了通过数据信息的收集全面了解营销工作现状, 发现营销工作中可能会存在的问题以及未来发展空间, 为决策人员制定合理的决策措施提供信息依据。
数据仓库系统的精髓是可提供最终用户访问海量商业数据信息的大型数据库。比如, 商品营销数据仓库之中一般包括商品、产地、时间等方面的信息。这里沿用W.H.Inmon博士给出的定义:DW技术是指面向主题的、集成的、稳定的且随着时间改变的数据信息集合, 它被用以支持管理决策。它有三项基本功能:信息获取、信息存储及管理和信息访问。
数据仓库中存储的信息来源于异地的数据库或者其它信息基地, 具有分布性、异构性。数据仓库通过对相关的数据进行收集、归纳、整合等, 有效地解决了信息冲突、数据不一致的问题, 可实现复杂的数据信息分析从而支持决策结果。
数据仓库系统的体系结构可分为三部分:信息源、仓库管理及分析决策工具, 如图1所示。
(1) 信息源。数据仓库中存储的信息来源于数个信息源, 包括有企业内部信息 (如生产数据、技术数据、财务数据、设备数据、销售数据等) 、外部信息 (市场调查、市场分析及各类型文档信息等) 。
(2) 仓库管理。当明确了数据仓库中数据的需求之后, 首先, 需要确定数据模型, 再实现源数据信息的数据抽取、数据清理以及数据转换, 最终确定数据维度及其物理存储结构。其中, 元数据代表数据仓库的核心信息, 它可用于存放数据模型以及定义信息结构、转换制度与控制信息等等。数据仓库管理包括确保数据的安全、数据归档、数据备份、数据维护和数据恢复等功能, 上述管理工作需使用数据库管理系统 (DBMS) 的内置功能。
(3) 分析决策工具。它是执行实际决策工作时所需的各类查询引导工具、OLAP分析工具以及数据挖掘工具等等, 以满足决策者的各类需求。数据仓库的应用本身是C/S (客户/服务器) 结构, 其客户端需实现的工作有客户信息交互、复杂查询以及结果与报表生成等等。服务器端需实现各类辅助查询、复杂的计算功能以及各种综合功能等等。现在, 一般采用三层架构, 即在客户端及服务器端之间添加一个多维数据分析工具。OLAP服务器可实现规范的决策支持服务工作, 集中并简化原两端工具的部分工作, 可大大减少数据传输数量, 提高整体工作效率。
数据仓库之中, 数据一般被划分为四种类型[1], 如图2所示。
首先, 集成“早期细节级别”数据信息, 得到“当前细节级”数据, 然后, 再依照系统要求, 通过预处理整合数据为“轻度综合级”数据或“高度综合级”数据。其中, 轻度级与高度级是相对的, 它们之间不存在明确的划分界限, 在数据仓库之中, 数据信息的综合级有很多个。因此, 数据仓库之中存储集成数据的级别一般被称为“信息粒度”。信息粒度越小, 则信息的细节性越详细, 其综合级别则较低。
(1) 面向主题性。数据仓库的主题代表了信息组织的维度, 面向主题即为信息在仓库之中按照主题结构来存储。它有别于以往的事务型数据库系统, 依各自的应用领域进行划分。某个主题一般对照于数个事务型数据库系统中的信息。面向主题即面向决策人员关注的业务信息, 它为特定的决策问题而设置, 最终帮助客户在主题范围相关信息做出有效决策。
(2) 数据集成性。数据仓库是集中统一的中央数据仓库, 因为在数据仓库之中会存在两个或多个主题对应的源数据是重复的或者不一致的情况, 这时就需对原本分散于不同事务型数据库中的数据实施数据抽取、数据清理, 然后再进行数据加工、数据整理及汇总等操作, 用以消除源数据库中的噪声信息、数据不一致的情况等, 从而确保数据质量, 最终形成一个集中统一的数据信息源头, 为企业提供统一的数据信息。如存在情况:在源数据存放中, 由于系统管理员的不同习惯, 对于时间的存放有着yyyy-mm-dd及mm/dd/yyyy两类格式, 在汇总数据至数据仓库时候, 则需要一致的描述准则。数据信息集成是数据仓库构建中比较关键且复杂的一步。
(3) 历史数据连续性。与传统数据库相比较而言, 数据仓库中存储的数据并非历史某一时刻的数据, 而是企业有效历史信息的绝大部分或者全部, 可以提供数据的决策支持。
(4) 相对稳定性。事务型数据库中的数据存放的是业务流转信息, 保持实时更新。而集成统一到数据仓库中的历史数据, 一般会被作为历史信息而长期保留, 间隔固定的时间后就需要加载、更新。即使数据发生变化, 也是存贮数据粒度大小的改变。事务型数据库中存放的数据信息通常是在5年之内, 数据仓库中存储的数据信息一般是10-20年, 甚至更久, 且数据仓库信息更为稳定。
(5) 随时间改变性。数据仓库中的数据来源于事务型数据库中历史数据的集成, 同时也需保证数据信息的定期更新, 需定期加载最新的事务数据到数据仓库之中, 历经数据加工、数据汇总和数据整理等步骤。其中需注意的是, 部分事务型数据表中无时间字段, 而数据仓库中存储的数据都包扩时间信息, 且时间信息作为主码的一部分, 在导入数据仓库时需专门加入。因此, 所有存储的数据信息都是立体的。
(6) 决策支持性。数据仓库平台是面向主题的。它是OLAP和数据挖掘方法分析挖掘的平台和对象, 可为企事业提供全面的信息视图, 为决策人员提供决策信息支持。从某个角度而言, 数据仓库的终极目标是决策支持。
以往的事务型数据库, 其工作重心是实现事务处理, 其数据组织方式是面向企业的特定应用, 其存储方式是表格的形式, 可通过统一的SQL语言实施信息访问, 并瞬间回应用户需求, 以一个或一组记录的形式来显示结果。数据仓库的工作重点是实施数据的分析处理, 以面向主题的方式组织数据存放, 只需在有限的时间之内回应客户的需求, 它不追求快速响应, 数据仓库中存储的历史数据信息时间较长 (至少5-10年) , 可对其实施长期趋势分析。数据仓库与传统事务性数据库的区别与联系如表1所示[4,5]。
事务性数据库与数据仓库之间存在较大差别, 不过它们之间也存在一些联系[6]。数据仓库的数据源自于事务数据库, 它是数据仓库的数据基础。数据仓库的构建并不是为了代替事务数据库, 它们的应用层次不同, 事务数据库负责常规事务操作, 而数据仓库一般负责决策分析支持。优秀的事务数据库系统高效、安全而可靠地存取数据信息, 而优秀的数据仓库高效、安全而可靠地导入源数据, 通过加工整理后变为有规律的信息, 以供系统管理员研究使用。
表1 数据仓库与传统数据库的区别 下载原表
数据仓库是一类针对信息应用的信息管理平台, 提供了集成化、历史化的信息管理平台, 支持复杂的信息分析, 为企业的战略分析提供支持。数据仓库对于企业营销而言, 可帮助营销决策人员从繁复的营销信息中搜寻有价值的特征, 实现满足客户需要的调整, 应用收集整理到的数据信息支持未来营销策略。“顾客忠诚度”的维系是企业营销的最终目标。若是可以预测到顾客的行为需求, 则留住顾客的概率会大大增加, 降低了顾客的转向, 也就大大降低了流失顾客的风险以及企业营销费用开支。该方式若依赖传统的营销手段会存在较高风险, 而数据仓库的决策支持性能则可较好地降低风险与营销开支。
如果数据仓库无法解答顾客所提出的疑问, 如果数据仓库所提供的数据支持对于商业活动本身是无意义的, 则该数据仓库毫无价值, 只可被视为技术纪念碑。不过, OLAP和数据挖掘两种技术的出现, 让数据仓库发挥了效益, 可从中获得有意义的商业信息。
随着数字化时代的到来, 越来越多的企业意识到, 若想在竞争之中获胜, 获取较高的收益, 最为重要的是, 学会收集并利用各类信息, 通过挖掘分析当前信息、历史数据以及环境数据, 自动获得有价值的决策信息, 提供企业赢得竞争的数据支持。
这时候就需构建企业信息相关的数据仓库, 数据仓库系统的设计阶段包括构建数据仓库模型阶段、数据获取及集成阶段。
在数据仓库的构建过程之中, 数据模式的选取尤为重要, 它是数据仓库设计的关键。其具体过程如图3所示[7]。
企业营销管理系统中数据仓库的构建过程如下:
(1) 描述数据源, 确立数据仓库的建设主题 (也称分析主题) , 比如销售主题、广告促销主题等;
(2) 确立分析维度, 比如时间维度、产品维度、部门维度以及地区维度等;
(3) 确立粒度级别大小。
另外, 还需分析数据仓库的环境状况, 例如信息类型、信息平台、信息数量、信息质量以及网络状况等。
(1) 项目描述与实施分析;
(2) 系统架构确立及其图示;
(3) 确立逻辑模型和物理模型;
(4) 确立数据仓库的初始装载方式与之后的更新策略;
(5) 描绘数据仓库的运行维护计划。
(1) 构建数据仓库的管理部件, 例如信息验证、信息抽取、信息清洗、信息转换、信息加载以及信息接口设计等;
(2) 构建数据仓库的内部组成, 例如信息索引、信息视图、系统安全认证、初始界面、元数据设计管理等策略。
比如信息质量、信息完整性以及可靠性的度量方法及改进手段;权限大小的设置及修正;元数据的应用管理以及图形化的界面设计;数据更新方式以及安全维护;面向大数据量以及高维度数据的处理等。
数据仓库平台是面向主题的, 构建企业营销管理系统的最终目标即是要在顾客原始信息的基础上实施顾客行为、顾客满意度及营销成本的分析, 了解顾客的行为规律, 辅助企业从顾客需求出发, 及时制定市场决策信息, 维护并拓宽顾客群体, 同时确保企业内部资源信息的优化, 提升企业的运行效率, 获取更多的收益, 实现企业效益的持续增长。课题中企业营销管理系统的主题被设计为4个, 包括销售主题、人力资源主题、广告促销主题、销售计划主题, 其总体结构模型图如图4所示。
每个数据仓库的主题都是由多个表 (包括维表与事实表) 来构建, 维表和事实表由主题中的公共码键关联, 从而构建一个完整的主题。数据仓库中主题中关系表的连接方式可被分为星型模型、雪花型模型及混合模型三类:
星型模型指中间放置一个对象 (表) , 它沿着半径向外关联多个对象 (表) , 这是一种典型的一点向外辐射的模型范例。星型模型的中间对象统称“事实表", 外围中与“事实表”相连的对象统称“维表"。其中, 检索事实表即是检索指向维表的指针表, 如果统一查询事实表及维表的组合, 则可查询出大量的数据信息。
雪花型模型是星型模型的扩展模型, 各点都沿着半径向外辐射并与多个点相连。雪花型模型是对星型维表的标准化, 其突出特点是通过最大化的减少信息存储量以及实现较小标准化表的联合来改善检索性能。雪花型模型可改善应用程序的灵活性能。
混合模型介于星型模型与雪花型模型间的一类折中模型。星型模型是事实表与标准化的维表的组合, 雪花型模型实现了全部维表的标准化。而在混合模型之中, 只有极大的维表才实施标准化, 这些表中包含着数列全部标准化的数据信息。
依照概念模型设计阶段设立的仓库主题信息, 本课题选用雪花型模型。数据仓库的多维度数据分析是面向主题的, 多维即是从多个角度分析仓库的主题[8]。
下面就企业营销管理系统中设计的两个主题, 包括销售信息主题和广告促销信息主题, 下面具体阐述其设计流程。
销售主题的维度包括:时间信息维度、部门信息维度、员工信息维度、客户信息维度、地区信息维度、产品信息维度、产品类别维度;度量值包括:销售量、销售额度。销售主题的多维数据集的雪花型模型如图5所示, 具体信息如表2和表3所示。
表2 销售数据维度 下载原表
表3 销售数据度量值 下载原表
在上图5中, 销售表属于事实表, 其它表属于维度表, 其相互关系用连线来表示。
广告促销主题的维度包括:时间信息维度、部门信息维度、员工信息维度、地区信息维度、产品信息维度、产品类别维度;其度量值包括:差旅费开销、广告费开销、促销费开销、销售额大小。广告促销主题的雪花型模型如图6所示。其具体描述如表4和表5所示。
表4 广告促销数据维度 下载原表
表5 广告促销数据度量值 下载原表
在图6中, 广告促销表属于事实表, 其它表属于维度表, 其相互关系用连线表示。
企业营销管理系统中数据仓库的数据表及主题设计在经历上述3个步骤之后, 设计工作结束, 接下来就需把源数据从事务数据库加载到数据仓库存储。为了保证数据仓库提供的决策支持的高效性, 首先需保证数据信息的高效性。一般而言, 数据仓库中需获取的信息可能以不同的格式情况存储于不同的事务数据库之中, 信息的提取及集成, 即把事务型数据库中的信息通过抽取、转换等手段, 最后装载到数据仓库之中, 简称为ETL[9,10,11]。
ETL具体包括如下四个流程:
(1) 数据抽取:根据所设计的主题从事务数据库或者外部数据源之中抽取所需信息;
(2) 数据转换:部分抽取数据会有数据格式不一致的情况, 比如信息类型不同、赋值方式不同, 这时可采用数据拆分、数据合并等方式, 数据转换步骤专门处理信息不一致的情况;
(3) 数据清洗:部分数据源中会有信息丢失、信息错误的情况, 数据清洗专门负责处理这些情况, 偶尔也需借助人工操作处理;
(4) 数据装载:在完成以上三个步骤之后, 把数据信息导入数据仓库, 这时需明确信息装载顺序以及初始装载数据等。现在对于数据的装载主要存在有以下几类方式:
(1) 简单累积数据:定期从事务数据库中抽取数据信息, 经加工后存储于数据仓库之中;
(2) 轮转综合数据:把数据存取单位分为4个级别 (天、星期、月、年) 。首先, 逐一整理每天的数据信息, 并记录于当日的数据集之中;其次, 综合整理一周7天的数据信息, 并存储于星期 (周) 数据集中;然后, 当数据集累积满一个月之后, 综合整理4周的数据并存储于月数据集之中;同理, 年数据集为12个月数据集的综合整理。轮转综合数据方法简洁, 且存储的信息量较少。不过, 该方法丢失了数据的细节信息, 且愈是历史久远的信息, 信息的细节损失就愈严重;
(3) 简单直接数据:其方法类似于简单累积数据, 不过其采取的数据快照的间隔时间较长, 比如一周或者一月;
(4) 连续数据:它采取简化2个以上的直接数据, 然后生成一类连续数据, 它通过比较2个简单直接数据的不同而建立。同样, 连续数据和新的简单直接数据可通过简化而产生下一批的连续数据。
不过, 不管采取哪一种装载方式, 还是要靠“数据表”来完成。
下面以本企业营销管理系统中的销售主题的事实表的导入作为例子, 详细说明数据仓库中信息的提取与集成。销售主题主要从销售量、销售额度角度来查看企业营销所取得的效果。本企业营销管理系统中的历史源数据被存放于SQL SERVER2000之中, 首先, 需把信息导入到SQL Server2005中, 然后, 在SQL Server2005中构建数据仓库主题设计中的事实表, 最后, 完成数据仓库信息的加载。
(1) 格式不一致:员工表 (Table Worker) 中字段“Birthdate”可能存在格式不一致的情况, 比如YYYY-MM-DD格式和MM/DD/YYYY格式。这时候需规范其数据格式, 统一为“YYYY-MM-DD”。
(2) 空白字段:员工表 (Table Worker) 中字段“Worker Job”存储员工的职务类别, 在数据仓库中不允许其为空值, 但在源表中存在部分空值, 需重新收集员工信息, 填补空缺字段, 若确实无法查实, 可选择默认结果。
(3) 信息的装载:由于存放信息的事实表与事务数据库中的表属于同一个数据库, 并且数据量不是特别多, 本项目采用方法 (3) —简单直接数据方法, 采取定期 (比如三周) 追加查询的方式, 把事务数据库中的数据导入到数据仓库之中。
因为前两步中实施了精细的信息清洗与信息转换, 大大降低了事务数据库到数据仓库中数据导入的复杂性。由于在企业营销管理系统中对数据输入进行了规范化, 所以对于数据仓库之中的维表数据, 一般无需特殊数据处理, 可以直接利用sql语言查询、sql语言插入的方式, 把信息存储至数据仓库之中。
历经以上的数据仓库模型设计与信息提取与集成两大步骤, 然后可建立本营销系统的数据仓库, 从而为之后的OLAP应用提供较理想的数据支持。
数据仓库平台是面向主题的, 构建企业营销管理系统的最终目标是要在收集顾客原始信息的基础上实施顾客行为、顾客满意度及营销成本的分析, 了解顾客的行为规律, 辅助企业从顾客需求出发, 及时制定市场决策信息。本文介绍了数据仓库技术的定义、体系结构、特点及其商业价值, 分析了其与传统数据库的区别和联系;详细介绍了企业营销管理系统中数据仓库的设计及构建过程, 并结合需求分析情况, 创建了雪花型模型的数据仓库, 构建了销售主题、人力资源主题、广告促销主题、销售计划主题4个主题, 然后通过数据抽取、转换等手段, 将信息从原始数据库装载到数据仓库之中。
标签:
上一篇: 基于C#的后勤仓库管理系统的设计与实现