日立,纸牌屋,布里斯托大学

admin 2019-03-08 阅读:190

数据仓库

随着大数据技术的普及,以及人工智能技术在公司的应用,越来越多的业务,都开始研究怎么引入人工智能技术来提升绩效。

这里面一个关键性的基础设施,就是数据仓库。但是在实际的项目abp340执行过程中,我发现,大家对数据仓库的理解,并不是非常准确。

什么是数据仓库?

数据仓库(Data Warehouse,缩写 DW)也叫企业数据仓库(Enterprise Data Warehouse,缩写 EDW),是一种应用于报表和数据分析的业务系统,是商业智能(BI)的核心组件。数据仓库是从一个或者多个数据源集成数据并存储的中央仓库,它把当下的数据和历史数据都存储在一个地方,方便整个企业的工作人员在上面创建分析目的的报表。——维基百科

这是一个维基百科上面的定义,当然,这种定义并不会一直稳定,毕竟现在是一个人工智能大发展的时代,底层的大数据技术发展也非常迅速,随着基础硬件的升级,很多传统的软件的概念都会改变。我们姑且使用这个定义好了。

从这个定义里面名居扬家居商城,我pornam们大体上可以知道,数据仓库,是一种应用系统,而不是一个单个的软件,所以,一般提及的时候,不太会提及具体的名字,到底是哪个软件,有什么乳胶紧身衣厂商,所以,也有些工程师认为,数据仓库是一种架构,一般分为几个层次,需要很多技术方案来解决各类问题,所以,也不存在一个数据仓库的系统供应商之类的东西。不过,倒是有数据仓库的服务提供商,比如著名的亚马逊的 redshift,就是数据仓库的服务。

传统的数据仓库设计的目的,还是以分析为主要导向,解决的主要问题还是数据的存储和查询。

  • 数据来自多个数据源
  • 异构的数据(不同类型:文本,结构化,媒体)
  • 当下或者所有的历史数据
  • 提供单一的访问接口

数据仓库的架构

数据仓库的架构

上图来自维基百科,解释了数据仓库的架构。上面的图例,从左数第二个方块,是数据仓库的业务系统部分。可以看到,数据经过 ETL (抽取,转换,装载),进入到一个叫做操作数据存储(Operational Data Store),我们简称为 ODS 的层次,这个地方象征着来自多个业务部门的原始数据,在这个层次,一般就要完成数据清洗的工作,用以保障后续层次的执行和最终的分析质量。

接着,来到数据仓库(Data Warehouse)层,这一层主要根据数据的使用目的,重新对数据进行组织。要知道,一般的业务系统,我们又称之为交易系统,王可去向比如说,电商系统灌魔丝纹包二星图纸里面的订单系统,物流系统,都是本质上都是一种事务交易。这样的业务系统的数据结构的设计,都是为了更方便,更高效,更可靠的处理交易乐弛新车报价而设计的,很多情况下非常不利于进行分析。在数据仓库层,我们需要进行数据狐妖小红娘之神龙现世结构的重新组织,一般来说,我们按照特定的组织线索进行整理,这个在数据仓库里,称为维度(Dimention),有集中常见的组织方式,比如关系型,又比如雪花形或者星形。

在这个层次的后面,就是我们说的数据集市(Data Marts)层,这一层,是根据最终的分析目的,对数据进行加工,提供一个半成品结果数据,再通过接口层,对外提供数据服务和访问。

数据仓库的特点

也说了,数据仓库不是一个特定的东西,或者某个具体的系统,所以,一般满足这么几个特点,我们就可以认为这是一个数据仓99ee6库了,具体怎么实现的,这并不重要:

  • 面向主题设计:一般都是为了解决一个或者一类问题gotomycloud而设计的,非常有利于问题的分析和决策;
  • 数据集成:一般数据都是来自不同的业务系统,但是在数据仓库内部,数据都被处理成相同的一致性,相同的命名规范,统一的变量单位体系,甚至相同的物理属性;
  • 时间范围大:一般数据库都会收录业务起始以来的所有数据,主要为了让分析人员了解一个业务更为深入,并且在这个基础上实现一些业务发展预测,比如现在流行的人工智能机器学习方法等;
  • 非易失:一般数据都来自各个业务系统,在这里重新加工,并且都只提供只读的访问机制,因为自身不产生数据,所以这里的所有数据都是用于读取和分析,所以这些数据也都比较稳定;
  • 数据归纳:依据使用目的的不同,很多数据在数据仓库里进行了归纳处理,例如,按人进行交易总量的统计;

我们注意到,这几个特点里面,并没有很重要的“实时性”,比如,客户在跟企业交互的过程中,发生了什么,立刻就可以在数据仓库里看到,这个就是实时性,但是数据仓库一般不强调实时性,也就是一般情况下,数据仓库里的数据,和实际发生的时刻,是有一定的延迟的,比如我们公司实现的数据仓库系统,延迟是 T+1 天。意思是说,一个数据产生,最长一天后,会出现在数据仓库里面。

数据仓库与数据库有什么异同?

另一个跟数据仓库高度类似的,仅仅一字之差的概念是数据库,那么数据仓库与数据库到底有什么异同?

一般来说,数据库是比较具体的软件系统,采用CS架构设计,有非常成熟和固定的产品,比如甲骨文公司,IBM公司,微强奸我软公司,都因为提供商业使用的数据库系统而出名,这些产品主要成分还日立,纸牌屋,布里斯托大学是一种软件,采用许可证授权,不像亚马逊提供的仅是服务。刚也说了,数据仓库更多像是一种业务系统,或者架构。可以在数据仓库里,用数据库实现其中某个部分,比如元数据或者任务配置等模块。

数据库的设计一般以交易为主要目标,我们称为OLTP,不像数据仓库主要以分析为目标,称为OL徐玉兰哭灵AP。

当然,现在OLTP与OLAP的概念趋于模糊,我们当然也完全可以用数据库来实现一个数据仓库,这也是技术上存在可能性的。但是反过来,用数据仓库实现一个数据库,这在概念上是不通的。

数据仓库的应用场景以及与人工智能的关系

维基百科的定义也提到了,数据仓库最传统的定义,还是商业智能的一部分,一般来说,商业智能主要辅助企业的决策层,产生商业决策。数据分析是最重要的设计目标。

我们都知道,提及人工智能,就免不了提到大数据。说明大数据技术,是人工智能的前一胎二宝爹地你不乖提条件,如果没有大数据,就无法实现人工智能。

数据仓库可以认为就是人工智能的一个先决条件,在有效的商业应用中,一般都需要一个底层设施来实现商业过程数据的存储和清洗,然后完成基本的转化和分析工作,然后才能进行机器学习模型的开发制作。

就算短期内,没有数据仓库,我们也可以进行机器学习模型的训练,但是从长期看,要提高建模的效率,以及支撑日益复杂化的业务需求,数据仓库对机器学习模型训练的支持是必不可少的。

怎样搭建数据仓库

一般来说,如果想要在自己的企业业务中使用数据仓库,需要一套成熟的业务系统。如果自身没有研发能力的企业,建议使用大牌的商业服务,比如亚马逊的 redshift 之类的系统,大量的成熟的商业模式提供商,也会对接这类的服务,比如电子商务,比如用户关系夜舞男管理等等。

现在中国行业环境里,新兴企业尤其是互联网服务的企业,都会自己配备研发团队,但是大家数据仓库,不是一般类型的研发团队可以胜任的工作。会承担比较高的研发成本。

需要专门有数据仓库构建经验的团队来承担数据仓库的建设。最小的团队大概需要4-5人,团队分工主要hotgirlclub需要运维工程师,大数据工程师,数仓工程师,ETL工程师等等。不过现在国内人才市场上面,大部分大数据方向的工程师,是上述提及的内容都会的,只是擅长点不同。

数据仓库团队要与企业内部其他所有的研发团队有比较密切的沟通,了解业务的基本特点,才能设计出比较适应企业场景和业务发展的数据仓库,并且要随着使用的需求不车虫小宋电视剧全集断改善设计和实现。

在实施的过程中,要注意数据权限的管控,因败气症为数据比较集中,可能暴露大量企业的商业秘密和用户的隐私数据,所以大数据团队历来是各个企业的核心开发团队。主要从数据的重要性和安全性角度评估看,是这样一个结果。

企业对数据仓库的正确期望

简单来说,没有银弹。意思说,没有奇妙的灵药,可以解决所有企业的所有问题。如果有什么问题卡住了,没有进展,那肯定也不是数据仓库能解决的。

数据仓库可以理解成一种重要的基础设施,有着比较高的研发成本和维平野早矢香护成本,可以助力企业的业务快速发展和高效发展,但是如果发展停滞之下,数据仓库也不会有太大作用。这是本身商业模式没有想清楚造成的。

但是一个优秀的商业模式和增长模型下,数据仓库可以让企业发展得到如虎添翼的效果。

总结

数据仓奔星暖气片库是当代人工智能和大数据技术为底层核心技术的企业必不可少的重要组件,主要汇集和处理企业内各个部分产生的重要价值数据,帮助企业进行报表,分析,决策,以及业务预测等工作。是面向未来的企业发展道路上必不可少的重要一环。