企业数据应用 传统商业智能对比大数据应用

近年来,随着大数据系统的应用越来越多,企业数字化经营的方案也层出不迭,从传统的BI模式,到最新的大数据方案,其中的到底有什么异同,各个方案之间的关系到底是怎样的?企业如何通过具体方案的实施优化运营、开发成本,以下是我对网上大家对商业智能和大数据的讨论一些收集。相信这篇文章会对大家对企业系统的制作提供一些想法,

传统商业智能模式

商业智能(或称商务智能,BusinessIntelligence,BI)的概念最早由加特纳集团(Gartner Group)的Howard Dresner于1996年提出。当时定义为:“商业智能描述了一系列的概念和方法,通过应用基于事实的支持系统来辅助商业决策的制定”。

随着商业智能领域的发展,其概念不断被充实。如TomSoukup和 Ian Davidson在《Visual Data Mining: Techniques and Tools for Data Visualization and Mining》一书中指出:“商业智能解决方案将业务数据转换成明确的、基于事实的、能够执行的信息,并且使得业务人员能够发现客户趋势,创建客户忠诚度,增强与供应商的关系,减少金融风险,以及揭示新的销售商机”。

商业智能的含义包含了信息系统、数据分析、知识发现与企业战略等各个层面的各种内容,时下流行的供应链管理(SCM)、客户关系管理(CRM)、企业资源计划(ERP)概念均可视为商业智能的一部分。

商业智能系统的组成部分

一般认为,DW、OLAP、DM是所有商业智能系统均具备的组成部分:

数据仓库(DataWarehouse,DW)是企业所有类型的有价值数据的集合。BI系统从企业各种平台和流程取有用数据并进行清理,然后经抽取、转换、装载(即ETL)过程,数据储存在数据仓库中,从而得到企业数据的一个全局视图。由于数据仓库中的数据通常为各种明细数据,缺少汇总和层次关系,因此很少直接用于分析和决策。

联机分析处理(On-LineAnalytical Processing,OLAP)用于处理联机数据访问和分析需求。BI系统需要向决策人员提供高效、直观的数据查询和展现,更方便地辅助决策人员,于是OLAP概念产生了,它将原始的、难以使用的数据转化为能够被理解的、多维的信息,并对多维信息提供钻取、切片、切块等操作,从而满足用户在各种维度上的数据查询需求。

数据挖掘(DataMining,DM)指从海量数据中通过某种算法找出隐藏信息的技术。通常包含关联分析、聚类分析、异常分析等功能。数据挖掘的价值在于,它可利用企业数据进行归纳推理,挖掘出潜在的模式,帮助决策人员制定决策和调整战略。数据挖掘的存在也是BI系统区别于传统报表系统的最主要区别。

在传统的技术手段下,BI系统的三大组成部分都可利用关系型数据库(RDBMS)实现,许多关系型数据库的生产商,如Oracle、IBM、微软,同时也是商业智能解决方案的提供商,可见两者结合之紧密。近年来,随着大数据时代的来临,非关系型数据库(NoSQL)的优势开始凸显。许多IT企业,尤其是互联网行业,已经迈入了SQL和NoSQL并存的时代,非关系型数据库如HBase用于海量数据的清洗和处理,关系型数据库如Oracle用于面向用户的多维查询和展现。我们的数据分析平台也使用了这种技术模式。但无论使用何种技术,商业智能的三大组成部分都对应着以下三大主要功能。

商业智能系统的主要功能

数据管理功能:从多个数据源获取数据、处理多种格式的数据、存储海量数据的能力。为辅助这一功能,一些BI系统具备元数据管理模块,即对描述数据的数据也进行管理。随着业务量级的提升、数据口径的日益复杂,不远的将来我们也会有提升数据管理能力的需要,而元数据管理就是最好的解决方案。

数据分析功能:传统BI系统具备及时查询、报表生成、数据可视化等数据分析功能。而大数据时代来临的意义在于,数据的鸿沟正在逐步消除,不仅企业决策人员能更加方便灵活地操作数据,普通用户也有获取数据的需求,企业满足用户这方面的需求,让用户分析自己、管理自己,对双方都会带来巨大的价值。新浪微博的数据分析插件、淘宝的数据魔方等都是正面的成功范例。不幸的是,仍有一些古董级的企业逆势而为,力图加高数据壁垒,让用户对自己的消费情况查不清、问不明,这只会加速用户流失。笔者建议这些企业尽早转变陈腐的观念,营造透明开放的数据环境,只有拥抱变革,才不会遭受变革。

知识发现功能:将数据中隐含的、潜在有用的而人们又感兴趣的部分固化下来形成知识的功能。提取的知识通常表现为概念、规则、规律、模式等。笔者认为,知识发现主要解决who、where、what的问题,即客户是谁、客户在哪里、客户想要什么。在大数据环境下,人们甚至可以发现一些难以想象的销售模式,如沃尔玛“啤酒与尿布”的经典案例。对我们公司来说,这块能力急需加强。公司领导层多次提到“对图书和用户都不了解”,是一个明确的缺乏知识发现能力的信号。

大数据的变革

1、使用多种数据类型综合决策。以零售业为例,传统的线下销售模式中,企业的信息化系统中保存的数据通常只有订单数据,企业也只关心订单的状况和由此生成的财务报表。顾客的人身特征、询价过程、物流配送等等信息都被丢弃了。而线上销售模式中,订单只是数据的一小部分,对企业更有价值的反而是用户浏览过程、搜索、对比、收藏、询价、物流、评价这些被传统行业遗弃的数据,甚至很多电商网站费尽心机爬取用户的其他网页访问、位置、通讯录等数据。姑且不论收集这些数据是否合法,至少线上销售能给客户带来更精准的推荐和更个性化的体验,可以说电商已经靠着数据革了线下销售的命。

2、不再探寻因果,而探寻关联。传统行业喜欢使用因果论来指导经营,如“买了篮球——推荐篮球鞋”、“因为淡季——所以促销”等。类似的方案需要对行业本身具备了解,但频繁使用又会使经营模式趋于雷同。在大数据环境下,我们需要探究的是关联而非因果。如沃尔玛的“啤酒和尿布”故事,便是沃尔玛的数据分析人员找到了两者的强关联而提出的销售方案。数据分析人员无需探究深层次的原因是妻子让丈夫带尿布,还是丈夫让妻子带啤酒,这根本无关紧要。又如,谷歌的数据科学家通过对搜索词汇的建模,预测什么地区将会爆发流感,从而对美国的防疫事业做出了巨大的贡献。这些数据科学家甚至不知道流感病毒为何物,但这丝毫不影响他们从数据的关联中发掘出重大价值。

3、从异常数据和脏数据中淘金。传统的数据仓库构造过程中,异常数据、脏数据需要在ETL过程中予以剔除,否则将会造成数据入库失败等各种问题。然而在大数据环境下,异常数据却可能有其价值。笔者在之前的工作中,发现每天8点和20点均有大量客户端访问错单,这些记录均被ETL清洗了。进一步研究发现这些错单均为调用同一个接口导致的,再进一步核查业务代码,发现安卓客户端在设计时为跟踪沉默客户端用户,每天8点和20点两个时段客户端会向服务器发送握手消息,当客户端保有量增大时,握手消息使服务器不堪重负,最终产生错单。之后的客户端设计调整了代码,将握手机制分散至全天执行,减少了服务器负荷,避免根据错误的压力“峰值”对服务器扩容。又比如,美国一家信用机构发现,有10%的“已死亡”客户仍在正常偿还贷款,保留这些异常数据而非做销户处理,会给企业带来额外的利润。

当然,大数据带来的变革远不止以上三点,它带来的既是机遇,也是挑战。如何将大数据理念与传统的BI相结合,以产生新的功能点,是我们迫切需要思考的问题。

BI(商业智能)

商业智能(Business Intelligence,简称:BI),又称商业智慧或商务智能,指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析以实现商业价值。

商业智能作为一个工具,是用来处理企业中现有数据,并将其转换成知识、分析和结论,辅助业务或者决策者做出正确且明智的决定。是帮助企业更好地利用数据提高决策质量的技术,包含了从数据仓库到分析型系统等。

商业智能

商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具。这里所谈的数据包括来自企业业务系统的订单、库存、交易账目、客户和供应商等来自企业所处行业和竞争对手的数据以及来自企业所处的其他外部环境中的各种数据。而商业智能能够辅助的业务经营决策,既可以是操作层的,也可以是战术层和战略层的决策。为了将数据转化为知识,需要利用数据仓库、联机分析处理(OLAP)工具和数据挖掘等技术。因此,从技术层面上讲,商业智能不是什么新技术,它只是数据仓库、OLAP和数据挖掘等技术的综合运用。

可以认为,商业智能是对商业信息的搜集、管理和分析过程,目的是使企业的各级决策者获得知识或洞察力(insight),促使他们做出对企业更有利的决策。商业智能一般由数据仓库、联机分析处理、数据挖掘、数据备份和恢复等部分组成。商业智能的实现涉及到软件、硬件、咨询服务及应用,其基本体系结构包括数据仓库、联机分析处理和数据挖掘三个部分。

因此,把商业智能看成是一种解决方案应该比较恰当。商业智能的关键是从许多来自不同的企业运作系统的数据中提取出有用的数据并进行清理,以保证数据的正确性,然后经过抽取(Extraction)、转换(Transformation)和装载(Load),即ETL过程,合并到一个企业级的数据仓库里,从而得到企业数据的一个全局视图,在此基础上利用合适的查询和分析工具、数据挖掘工具(大数据魔镜)、OLAP工具等对其进行分析和处理(这时信息变为辅助决策的知识),最后将知识呈现给管理者,为管理者的决策过程提供支持。

提供商业智能解决方案的著名IT厂商包括微软、IBM、Oracle、SAP、Informatica、Microstrategy、SAS、Royalsoft等。

主流的商业智能工具包括 Style Intelligence(思达商业智能)
、FineBI商业智能软件、BO、COGNOS、BRIO。一些国内的软件工具平台如KCOM也集成了一些基本的商业智能工具。

OLTP(联机事务处理)

On-Line Transaction Processing联机事务处理过程(OLTP),也称为面向交易的处理过程(或者在线事务处理),其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。

联机事务处理系统是一种以事务元作为数据处理的单位、人机交互的计算机应用系统。它能对数据进行即时更新或其他操作,系统内的数据总是保持在最新状态。用户可将一组保持数据一致性的操作序列指定为一个事务元,通过终端、个人计算机或其他设备输入事务元,经系统处理后返回结果,应用于飞机订票、银行出纳、股票交易、超市销售、饭店前后管理等。 [1]
这样做的最大优点是可以即时地处理输入的数据,及时地回答。也称为实时系统(Real time System)。衡量联机事务处理结果的一个重要指标是系统性能,具体体现为实时请求-响应时间(Response Time),即用户在终端上输入数据之后,到计算机对这个请求给出答复所需要的时间。OLTP是由前台、应用、数据库共同完成的,处理快慢以及处理程度取决于数据库引擎、服务器、应用引擎。
OLTP数据库旨在使事务应用程序仅写入所需的数据,以便尽快处理单个事务。

联机事务处理

OLAP(联机分析处理)

联机分析处理OLAP是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(Fast Analysis of Shared Multidimensional Information),即共享多维信息的快速分析的特征。其中F是快速性(Fast),指系统能在数秒内对用户的多数分析要求做出反应;A是可分析性(Analysis),指用户无需编程就可以定义新的专门计算,将其作为分析的一部 分,并以用户所希望的方式给出报告;M是多维性(Multi—dimensional),指提供对数据分析的多维视图和分析;I是信息性(Information),指能及时获得信息,并且管理大容量信息。

在这里插入图片描述

操作数据库系统和数据仓库系统的区别

操作数据库系统的主要任务是执行联机事务和查询处理。这种系统称作联机事务处理(OLTP)系统。它们涵盖了单位的大部分日常操作,如购物、库存、工资等,也被称作业务系统。另一方面,数据仓库系统在数据分析和决策方面为用户提供服务,这种系统称作联机分析处理(OLAP)系统。

OLTP和OLAP的主要区别有以下几个方面。

用户和系统的面向性:OLTP是面向客户的,用于办事员、客户和信息技术专业人员的事务和查询处理。OLAP是面向市场的,用于知识工人(包括经理、主管和分析人员)的数据分析。
数据内容:OLTP系统管理当前数据。通常,这种数据太琐碎,很难用于决策。OLAP系统管理大量历史数据,提供汇总和聚集机制,并在不同的粒度层上存储和管理信息。这些特点使得数据更容易用于有根据的决策。
视图:OLTP系统主要关注一个企业或部门内部的当前数据,而不涉及历史数据或不同单位的数据。相比之下,由于单位的演变,OLAP系统常常跨越数据库模式的多个版本。OLAP系统还要处理来自不同单位的信息,以及由多个数据库集成的信息。由于数据量巨大,OLAP系统的数据通常也存放在多个存储介质上。
访问模式:OLTP系统主要由短的原子事务组成。这种系统需要并发控制和恢复机制。然而,对OLAP系统的访问大部分是只读操作(由于大部门数据仓库存放历史数据,而不是最新数据),尽管这其中的许多操作可能是复杂的查询。
OLTP和OLAP的其他区别包括数据库大小、操作的频繁程度以及性能度量等。

为什么需要分离的数据仓库

既然操作数据库存放了大量数据,读者可能奇怪,为什么不直接在这种数据库上进行联机分析处理(OLAP),而是另外花费时间和资源去构造分离的数据仓库?。分离的主要原因是有助于提高两个系统的性能。操作数据库是为已知的任务和负载设计的,例如使用的主键索引、检索特定的记录、优化定制的查询。另一方面,数据仓库的查询通常是复杂的,涉及大量数据在汇总级的计算,可能需要特殊的基于多维视图的数据组织、存取方法和实现方法。在操作数据库上处理OLAP查询,可能会大大降低操作任务的性能。

举个例子来描述OLTP和OLAP之间的关联和区别。

在这里插入图片描述
大家可以想象这个一个场景:
小张通过操作ATM机存2000块钱,
小张首先将自己的银行卡插入ATM机,输入密码,等待密码验证,
选择存钱操作,将自己带来的2000块现金放入ATM机,ATM机验证钞票,
此时小张在等待期间回了下女朋友的信息
识别完成,确认存款
这存2000块钱的指定通过网络传输到银行的数据库里, 此时小张在等待ATM的处理反馈,
银行中心的数据库处理完之后,返回处理的结果到小张的ATM机上,存款由原来的5000增加到7000,
小张,取卡,这个存款的事情完成了。

另一个场景:

月底了,银行要看下这个月的各个网点的ATM的使用率,银行领导安排小红做这个事。
小红打开银行的账务系统,登录自己的账号,
打开月度存、取款表报,
因为数据比较多,往往需要等待半个多小时的时间,小红点击“数据导出”
然后起身去吃午饭,
午饭回来,表报已经导出,将数据稍作处理,之后给领导查看,
领导看到A取网点的现金每天的取出量 往往会被取完,而C区的网点每天总是会剩下不少,基于这个状况领导决定增加A区的ATM现金投放,减少C区的现金投放,增加资金的均衡利用。

OLAP的数据来自于OLTP阶段,OLAP帮助企业增强自己的业务能力,技术人员通过OLAP的数据来优化系统。

OLTP与OLAP的区别大体有以下几个:

  1. OLTP往往需要比OLAP更快的响应速度
  2. 涉及到的数据范围,OLAP因为是帮助企业高层做一些决策使用,这往往需要全面的数据分析,而对于处于一个用户来说只关系自己的使用体验和数据。
  3. 并行度不同:对于OLTP中的某个具体的事务,可能同时有上万个人在执行,而OLAP往往是同时一个实例在执行。
  4. OLTP总是在某个时间针对某个人的数据变迁,OLAP是对整体数据的查询和计算。

ETL

ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。

ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据, ETL是BI(商业智能)项目重要的一个环节。

MPP(大规模并行处理)

在计算机系统结构研究领域中,大规模并行处理(MPP,Massively Parallel Pmcessing)是指计算机系统中使用大量的、同构的、简单的处理单元(PE,ProcessingEIement),通过PE之间的并行工作获得较高的系统性能。采用MPP体系结构中,一般使用大量的PE节点,PE之间采用高性能的交换网络进行连接,每个PE拥有本地存储器,各个PE之间通过消息传递进行通信。MPP系统中PE的并行程度较高,减少了共享存储所带来的系统开销,适合大规模的系统扩展。另一方面。MPP系统的程序设计较为复杂,主要表现在计算任务的划分及其与PE节点之间的映射上。

BI与大数据的关系

传统BI的技术标签:ETL、数据仓库、OLAP、可视化报表。

大数据的技术标签:Hadoop、MPP、HDFS、MapReduce、流处理等。

在技术领域,虽然传统BI的一些技术ETL、数据仓库、OLAP、可视化报表似乎都将处于落后边缘,因为它难以解决日后海量数据的处理问题,但是,也不能全盘否定或替代成大数据。一些企业采用SAP HANA,FineBI的直连大数据引擎都是基于这个问题优化的方案。BI的那套也将长期存在,毕竟企业对BI方案还是很青睐,大数据的普及和应用也是个漫长的过程。

大数据 VS 商业智能

大数据不是空口说说,它的第一要务就是解决业务问题,大数据一定程度上就是用全新的数据技术手段来拓展和优化业务,传统企业需要聚集一拨人来研究这个问题,需要有人专门研究和探索。如果对外,想清楚新的商业模式,如果对内,想清楚在哪个场景,可以用大数据的手段提升效率。

当前大数据可以产生价值的地方,从行业的角度看,金融、银行、互联网、医疗、科研都有广阔的前景。从领域的角度看,广告、营销、风控、供应链都是大数据发挥价值的地方,对于特定企业,比如电信运营商,大数据也可以在网络优化等方面提供新方法。

并不是每个企业都需要打造自己的大数据平台,需要考虑到企业的信息化水平和各项成本,量力而行吧,可以自行研发 ,比如BAT;也可以选型采购,比如传统大企业;中小型企业也可以租用,比如用阿里云和AWS。

就事实来讲,BI的应用是远远大于大数据应用的,有其通用的道理。大数据相对于传统BI,也不仅仅是简单的PLUS的关系,它涉及了思想、工具和人员深层次的变革,BI人员既不要一提大数据,就嗤之以鼻,认为它是新包装的马甲,其实就那么回事;也不需妄自菲薄,以为搞大数据就那么高大上,它的确是BI大多数思想的传承。

商业智能与大数据结合

商业智能适合作为一个建立在大数据系统之上的一个应用。
大数据平台通过收集的各类数据进行清洗,转换为结构化数据到数据仓库,提供给BI系统使用。
同时,大数据平台在Spark、Flink等计算框架上实现另一些业务模块。

1、快速分析。面对猛增的数据量和分析人员越来越多的即席查询需求,BI需要具备快速分析特性。我们有两种手段支持这一特性。一是维度冗余,即对统计级数据做不同级别的汇总,各级别间允许存在交叉,如PV数据可按地市汇总、按地市+用户类型汇总、按地市+用户类型+业务线汇总,三种维度的数据是冗余的,即这是一种以空间换时间的技术。缺点是,新增一个维度即需要新增一张表,当数据量大时还要做分库、加硬件。二是内存计算,一些频繁被查询的数据可放在内存中,同时辅助以内存文件系统加Storm的模式,可支持秒级甚至毫秒级的查询。缺点是,这种技术只能支持较小的数据量。

2、计算分层。按数据量和数据延时要求的不同,我们可将计算能力划分为三层,以不同的技术手段实现。实时性最高、数据量最小的情况使用流式计算层,代表技术为Storm(https://storm.incubator.apache.org/),它可在每一块数据到达时触发计算,适合实时的标量汇总,如商品的实时销售额。实时性较高、数据量适中的情况使用块计算层,可用传统的Oracle完成,在Oracle上应用OLAP可满足大部分日常报表的需求。实时性最低、数据量最大的情况使用批量计算层,代表技术为Hadoop,如每日的底层数据处理、长周期的数据累计等。

3、服务开放。类似SaaS(软件即服务)理念,将数据处理和数据分析能力包装为服务,允许有一定经验的数据科学家直接调用。面向服务的架构还有助于前后台的解耦,当前台需要新增指标或展现时,后台只需对接口做少量改动,或完全不用改动。

发布了58 篇原创文章 · 获赞 11 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/wangxudongx/article/details/104942293