如何设计、创建一个面向CRM的数据仓库?
1 CRM系统
11 CRM简介
一个完整的CRM主要可分成3个部分:操作型CRM、协作型CRM和分析型CRM。操作型CRM是CRM中最基本的功能系统,它提供整个CRM的流程管理功能,主要是提供以客户为中心的市场、销售,服务与支持等业务流程的自动化。协作型CRM是以客户服务中心为主要表现形式,以计算机电话集成技术为核心,使客户可以通过电话、传真、E-mail、Web站点等方式更快捷、更有效地与企业进行交互。
分析型CRM是通过对操作型CRM、协作型CRM、其它企业应用系统和外部数据源中保存的与客户相关的数据的集成,建立以客户为中心的数据仓库,获得企业范围内客户数据的一致视图,并以集成后的客户数据为基础,通过查询与报表分析、OLAP分析和数据挖掘等手段获取关于客户的知识,为客户提供个性化的产品和服务,提高客户的满意度和忠诚度,实现客户终身价值的最大化。本文主要针对的是分析型CRM。
12在CRM中应用数据仓库的必然性
数据仓库是CRM的中心环节甚至是CRM的灵魂所在,它存储了企业内部和外部的各种数据,并将这些源数据整理成一致的、随时间变化的以及最大限度优化分析的客户信息库,通过OLAF分析和数据挖掘来发现大量客户信息中所隐藏的规律,为企业进行经营决策提供支持。另一方面,它将CRM的业务平台与分析平台进行了有效地分离,使得业务型数据库可以专注于事务处理,既提高了事务处理的效率又优化了分析处理的能力。
传统的企业事务处理系统部是各个部门根据自身事务处理的需要保留部分数据,而且各个模块之间的联系并不紧密,虽然客户的部分信息也能从这些系统中获取,但远远不能满足需要。例如,对于一个典型的以客户行为为目标的分析,通常需要更多的日常积累的、反映历史变化的数据才有可能进行有效地分析,然而在这一点上传统的教据库系统是很难做到的(不论是从数据的存储量还是从数据的整合来考虑)。因此,数据仓库的引入是必然的。
13分析型CRM的体系结构
将数据仓库技术引入到对客户信息的管理与组织上来,即建立一个面向CRM应用系统的客户信息数掘仓库,它实现了来自企业内部及外部的多种分割应用的客户信息的集成和统一,这正是分析型CRM的基本任务。如图1所示为分析型CRM的体系结构。其中,客户信息数据仓库是分析型CRM的核心,它的任务主要是从OLTP系统中抽取数据、把抽取出的数据进行统一的格式转换,将数据加载到数据仓库环境中(以上3步称为ETL,即extract,transform,load,抽取,转换,装载),管理和维护数据仓库中的数据。最后,通过对这些数据的OLAP分析和数据挖掘,企业管理者可以得到许多有价值的信息,从而更好地为客户服务。
建立数据仓库时,这里采用的是一种可扩展的数据仓库体系结构,即中间层包括两种类型的数据库:一种是基本的包含多个主题的数据仓库;另一种足从属的针对某一主题的数据集市。如图1所示,这里根据数据仓库中的4个主题分别设计了4千数据集市。采用可扩展的体系结构,可以缩短数据仓库的建设周期,降低费用支出,并且避免了直接建立数据集市而不建立数据仓库所存在的扩展性较差、多个教据集市间难以保持同步的铗点。
2客户信息数据仓库的设计
设计客户信息数据仓库的第一步就是要确立主题。主题是一个抽象的概念,是在较高层次上将企业信息系统中的数据综合、归类并进行分析利用的对象。设计数据仓库首先要从操作型环境中的数据入手,结合决策支持的实际需要,确定数据仓库的主题。根据所涉及的分析型CRM的功能,该客户信息数据仓库包含了客户发展、客户购买、产品和市场营销4个主题。其中,客户购买主题主要是从不同的角度对客户的购买行为进行分析,如客户的购买行为同客户的背景信息之间的关联,其中背景信息主要包括客户的教育程度、收入水平、年龄、性别、是否已婚等。在客户信息数据仓库模型中,分3步来进行设计,分剧是概念模型、逻辑模型和物理模型设计。本文针对某网上书店,以客户购买主题为例,给出该客户信息数据仓库模型的完整的设计方案。
21概念模型设计
数据仓库设计中概念模型设计的目的是确定面向主题的信息包围。信息包图作为一种公共的、一致的和紧凑的概念模型设计工具,能够明确反映用户的需求以及实现该需求所需的各种要素及其之间的关系。信息包图由名称、维度、类别和度量组成,其中类别表述的是维的层次性。
该网上书店的客户信息数据仓库中客户购买主题信息包图如图2所示。其中,对于图书有3种分类方法,前两种较常见,还有一种是按图书存在形式分类,可分为普通图书、Vbook和Ebook。普通图书即传统纸制图书,Ebook指以计算机和网络为载体的电子图书,Vbook是一种新的多媒体演示、培训、商业交流的载体,具备音频和视频的功能,如各领域专家的讲座,教学考试类培训课程等。随着计算机的普及和网络的发展,Ebook和Vbook越来越受到读者的青睐。
22逻辑模型设计
数据仓库的逻辑模型一般有星型模型和雪花模型两种。星型模型是基于关系型数据库的、面向OLAP的一种多维数据模型的数据组织形式,它由事实表和多个维度表组成,通过使用一个包括主题的事实表和多个包含事实的非正规化描述的维度表来执行决策支持查询,从而获得比高度规范化设计结构更高的查询性能。
雪花模型虽然较星型模型更符合规范化的设计结构,但它增加了查询的复杂度,降低了查询的性能,因此,这里采用星型模型。
星型模型的建立要以概念模型中的信息包圈为基础,将信息包图转换为星型模型,具体方法为:将信息包图中的度量实体放入星型模型的中心位置上,信息包图中的维度实体放入度量实体的周边。该客户信息数据仓库中客户购买主题的逻辑模型。
23物理模型设计
物理模型是指教据在数据仓库中的存放形式和组织形式。设计物理模型,要在星型模型或雪花模型的基础上,确定事实表和维表的结构;明确二者的数据字段、数据类型、关联字段、索引结构;确定数据仓库中多维数据集的存储结构,如物理存取方式、数据存储结构、数据存放位置以厦存储分配是否分区等。进行物理模型设计时,应重点考虑的因素有I/O存取时间、空间利用率和维护代价。
目前大多数数据仓库都是建立在关系型数据库的基础上,基终数据的存储是由数据库系统进行管理的。在该数据仓库的设计中,选用MSSQLServer2000及其组件分析服务器来作为数据库和数据仓库的管理系统。数据仓库在逻辑上是多维的,但在物理存储上其多维数据集的存储方式可以有关系型联机分析处理(relationalonlineanalyticalprocessing,ROLAP),多维联机分析处理(multidimensionalonlineanalyticalprocessing,MOLAP)和混台联机分析处理(hybridonlineanalyticalprocessing,HOLAP)3种方式。
在该数据仓库中,多维数据集的存储选择HOLAP方式,即基本数据保留在原有的关系数据库中,而聚合体则存储在分析服务器上的多维结构中,这样不仅可以避免数据重复,还能够提高查询性能(因为聚合体存储在多维数据集中),仅在频繁访问详细数据时对性能影响较大。
3 实 现
针对该网上书店,此数据仓库的实施是以MSSQLServer2000平台为基础。通过SQLServer中的DTS服务,并辅以VBScript来实现将源数据导入数据仓库的ETL过程;通过AnalysisServices来建立多维数据集,实现OLAP操作,支持多维查询袁达式(multidimensionalexpression,MDX)查询,并通过自动构造MDX语句,实现上卷、下钻、切片、切块、旋转等OLAP运算。
该客户信息数据仓库共包含了客户发展、客户购买、产品和市场营销4个主题,对客户购买主题的OLAP分析示例。其中,用户可以从客户所在地区、年龄层、性别、婚姻状况,职业、年收入层、会员星级、图书一按内容分类、图书按出版社分类、图书一按存在形式分类及时间共11个维度,来分析客户购买数量、金额、成本、利润及平均单价这5个度量。
此外,利用AnalysisServices所提供的数据透视表服务,用户可以用VB或其它语言开发自己想要的前端数据展现程序,也可以直接利用现有工具,如MSOffice套件中的Excel、Access,来实现对多维数据集的数据展现功能,从而可以方便地得到各种统计报表和分析图形。利用Excel展现了对2005年不同年龄层的客户对不同种类图书的购买情况的利润分析。
1、 Cloudera Cloudera
提供一个可扩展、灵活、集成的平台,可用来方便的管理您的企业中快速增长的多种多样的数据,从而部署和管理Hadoop和相关项目、操作和分析您的数据以及保护数据的安全。Cloudera Manager是一个复杂的应用程序,用于部署、管理、监控CDH部署并诊断问题,Cloudera Manager提供Admin Console,这是一种基于Web的用户界面,是您的企业数据管理简单而直接,它还包括Cloudera Manager API,可用来获取集群运行状况信息和度量以及配置Cloudera Manager。
2、 星环Transwarp
基于hadoop生态系统的大数据平台公司,国内唯一入选过Gartner魔力象限的大数据平台公司,对hadoop不稳定的部分进行了优化,功能上进行了细化,为企业提供hadoop大数据引擎及数据库工具。
3、 阿里数加
阿里云发布的一站式大数据平台,覆盖了企业数仓、商业智能、机器学习、数据可视化等领域,可以提供数据采集、数据深度融合、计算和挖掘服务,将计算的几个通过可视化工具进行个性化的数据分析和展现,图形展示和客户感知良好,但是需要捆绑阿里云才能使用,部分体验功能一般,需要有一定的知识基础。maxcompute(原名ODPS)是数加底层的计算引擎,有两个维度可以看这个计算引擎的性能,一个是6小时处理100PB的数据,相当于1亿部高清**,另外一个是单集群规模过万台,并支持多集群联合计算。
4、 华为
基于Apache进行功能增强的企业级大数据存储、查询和分析的统一平台。完全开放的大数据平台,可运行在开放的x86架构服务器上,它以海量数据处理引擎和实时数据处理引擎为核心,针对金融、运营商等数据密集型行业的运行维护、应用开发等需求,打造了敏捷、智慧、可信的平台软件。
5、网易猛犸
网易猛犸大数据平台使一站式的大数据应用开发和数据管理平台,包括大数据开发套件和hadoop发行版两部分。大数据开发套件主要包含数据开发、任务运维、自助分析、数据管理、项目管理及多租户管理等。大数据开发套件将数据开发、数据分析、数据ETL等数据科学工作通过工作流的方式有效地串联起来,提高了数据开发工程师和数据分析工程师的工作效率。Hadoop发行版涵盖了网易大数据所有底层平台组件,包括自研组件、基于开源改造的组件。丰富而全面的组件,提供完善的平台能力,使其能轻易地构建不同领域的解决方案,满足不同类型的业务需求。
简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。 数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。 数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。 数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。 单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。 显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。 数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢让我们先看看WHInmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。 “面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的。 “与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。 “不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库甚至处理实时信息)。因此,数据仓库中的数据是极少或根本不修改的;当然,向数据仓库添加数据是允许的。 数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋。 补充一下,数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据仓库必须有如下几点优点,否则是失败的数据仓库方案。 1效率足够高。客户要求的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的。 2数据质量。客户要看各种信息,肯定要准确的数据,但由于数据仓库流程至少分为3步,2次ETL,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。 3扩展性。之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,客户不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了
数据仓库是采用关系模型存储的原始的数据信息,数据是按照一定的主题域进行组织的
而OLAP是由数据仓库中的数据经过一定的模型抽取得到的,为数据分析提供支持的数据存储,因此相对于底层日志形式的数据仓库,其存储结构发生了变化。ROLAP服务器中数据虽然以关系表存储,但其关系结构可能与数据仓库中不同,而MOLAP则采用了更加利于数据分析的数据立方结构存储数据。
0条评论