数据平台的建设Word下载.docx

上传人:b****6 文档编号:15959706 上传时间:2022-11-17 格式:DOCX 页数:8 大小:108.97KB
下载 相关 举报
数据平台的建设Word下载.docx_第1页
第1页 / 共8页
数据平台的建设Word下载.docx_第2页
第2页 / 共8页
数据平台的建设Word下载.docx_第3页
第3页 / 共8页
数据平台的建设Word下载.docx_第4页
第4页 / 共8页
数据平台的建设Word下载.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

数据平台的建设Word下载.docx

《数据平台的建设Word下载.docx》由会员分享,可在线阅读,更多相关《数据平台的建设Word下载.docx(8页珍藏版)》请在冰豆网上搜索。

数据平台的建设Word下载.docx

人为整合出错率高怎么控制?

分析不及时效率低要不要处理?

从系统的视角来看:

2.业务系统压力大,而不巧,数据分析又是一项比较费资源的任务。

那么自然会想到的,通过将数据抽取出来,独立服务器来处理数据查询、分析任务,来释放业务系统的压力。

3.性能问题,公司可以越做越大,同样的数据也会越来越大。

可能是历史数据的积累,也可能是新数据内容的加入,当原始数据平台不能承受更大数据量的处理时,或者是效率已经十分低下时,重新构建一个大数据处理平台就是必须的了。

上面我列出了三种情况,但他们并非独立的,往往是其中两种甚至三种情况同时出现。

一个数据平台的出现,不仅可以承担数据分析的压力,同样可以对业务数据进行整合,也会不同程度的提高数据处理的性能,基于数据平台实现更丰富的功能需求。

二、数据平台的建设有哪些方案可以选择

如果一句话回答的话,那就是:

太多了,但确实有非常多的方案可供选择,我懂的少,肯定是无法一一介绍,所以就分成了下面几类,相信也一定程度上覆盖了部分企业的需求了。

1.常规数据仓库:

概念不说了,既然是做数据这一行的,相信大家都比较清楚,不清楚的可以XX。

它的重点在于数据整合,同时也是对业务逻辑的一个梳理。

虽然它也可以打包成ssas(多维数据集)那种cube(多维数据库)一类的东西来提升数据的读取性能,但是数据仓库的作用,更多的是为了解决公司的业务问题,而不仅仅是性能问题。

这一点后面会详细介绍。

优点:

方案成熟,关于数据仓库的架构,不管是Inmon架构还是Kimball架构,都有着非常广泛的应用,而且相信能将这两种架构落地的人也不少。

实施简单,涉及的技术层面主要是仓库的建模以及etl的处理,很多软件公司具备数据仓库的实施能力,实施难度的大小更多的取决于业务逻辑的复杂程度,而并非技术上的实现。

灵活性强,说这句话要有对应场景的,数据仓库的建设是透明的,如果需要,可以对仓库的模型、etl逻辑进行修改,来满足变更的需求。

同时对于上层的分析而言,通过sql或者mdx对仓库数据的分析处理具备极强的灵活性。

缺点:

“实施周期长”,注意,我加了引号,对应下面的敏捷型数据集市,而且这点是相对的,实施周期的长与短要取决于业务逻辑的复杂性,时间是花在了业务逻辑的梳理,并非技术上的瓶颈。

关于这点,后面会详细介绍。

数据的处理能力有限,这个有限,也是相对的,海量数据的处理它肯定不行,非关系型数据的处理它也不行,但是TB以下级别的数据,还是搞得定的(也取决于所采用的数据库系统),这个量级的数据,而相当一部分企业的数据,还是很难超过这个级别的。

2.商业敏捷型数据集市:

底层的数据产品与分析层绑定,使得应用层可以直接对底层数据产品中的数据进行拖拽式分析。

这一类产品的出现,其初衷是为了对业务数据进行简单的、快速的整合,实现敏捷建模,并且大幅提升数据的处理速度。

目前来看,这些产品都达到了以上的目的。

但它的优缺点也比较明显。

部署简单,敏捷开发,这也是这类产品最大的优点,和数据仓库相比,实施周期要短的多。

实际上它也没什么严格的实施的概念,因为这类产品只是针对需要分析的数据,进行局部的关联,只考虑眼前要解决的问题就够了,迭代的能力更强些。

与上层的分析工具结合较好,上层的分析工具接入这类数据产品后,可直接实现数据的图形化展示和olap分析。

对数据处理性能的提高,这类产品都对数据的分析性能做了处理,虽然方式不尽相同,有内存映射文件存储的,也有分布式架构、列数据存储的。

但无疑都一定程度上提高了数据的处理性能。

首先,它是要收费的。

无法处理复杂的业务逻辑,这只是一个工具,它无法解决业务问题。

这类工具中自带简单的etl功能,实现简单的数据处理和整合,而如果考虑到历史数据,考虑到整体的数据之间的逻辑和关系,它一定是解决不了的。

一个简单的例子,当某个表中,有两个字段,一个要保留历史数据,一个要更新历史数据,要怎样实现自动处理。

有一个观念是需要清楚的,不能指望一款工具来解决业务问题。

这种数据产品仅仅是对当前的业务数据进行简单的整合,第一,数据是局部的,第二,时间是当前的(其涵带的增量更新或者全量更新,是无法应对复杂的逻辑的,相信熟悉etl的人都知道这个过程有多复杂)。

当然,对于一些公司来说,可能需求只是对当前业务数据进行整合分析,那么这类产品就够了。

灵活性低,这个也是没法避免的,越是操作简单的工具,他的灵活性肯定受限,因为封装住了,产品是不透明的,常规的需求用起来非常方便,但是遇到复杂的,发现对他内部不了解,你也没法修改,只有寻求厂商解决的份。

从我的角度看,它是很难成为公司的数据中心的。

3.MPP(大规模并行处理)架构的数据产品,以greenplum为例

传统的主机计算模式在海量数据面前,显得弱鸡。

造价非常昂贵,同时技术上也无法满足高性能的计算,smp架构难于扩展,在独立主机的cpu计算和io吞吐上,都没办法满足海量数据计算的需求。

分布式存储和分布式计算正是解决这一问题的关键,不管是后面的MapReduce计算框架还是MPP计算框架,都是在这一背景下产生的。

greenplum的数据库引擎是基于postgresql的,并且通过Interconnnect连接实现了对同一个集群中多个postgresql实例的高效协同和并行计算。

同时,基于greenplum的数据平台建设,可以实现两个层面的处理,显而易见的一个是对数据处理性能的处理,greenplum数据库宣称支持50PB级海量数据的处理,对目前greenplum实际应用情况的了解,100TB级左右的数据,是非常轻松的。

另一个是数据仓库可以搭建在greenplum中,这一层面上也是对业务逻辑的梳理,对公司业务数据的整合。

海量数据的支持,大量成熟的应用案例,所以我想这一点是不用怀疑的。

扩展性,据说可线性扩展到10000个节点,并且每增加一个节点,查询、加载性能都成线性增长。

易用性,不需要复杂的调优需求,并行处理由系统自动完成。

依然是sql作为交语言,简单、灵活、强大。

高级功能,greenplum还研发了很多高级数据分析管理功能,例如外部表,还有Primary/Mirror镜像保护机制,行/列混合存储等。

稳定性,greenplum原本作为一个纯商业数据产品,具有很长的历史,其稳定性相比于其他产品以及敏捷性数据集市是更加有保障的。

greenplum有非常多的应用案例,纳斯达克、纽约证券交易所、平安银行、建设银行、华为等都建立了基于greenplum的数据平台。

其稳定性是可以从侧面验证的。

本身来说,它的定位在olap领域,不擅长oltp交易系统。

当然我们搭建公司的数据中心也不会是用来做交易系统的。

成本,两个方面的考虑,一是硬件成本,greenplum有其推荐的硬件规格,对内存、网卡都有要求。

当然,在硬件选型上,需要达到一个平衡,要在性能、容量、成本等多方面考虑,毕竟不能一味的追求性能,把采购部门吓到吧。

另一个是实施成本,这里主要是人了,基本的是greenplum的安装配置,再到greenplum中数据仓库的构建,都需要人和时间。

技术门槛,这里是相对于上一个敏捷型数据集市的,greenplum的门槛肯定是要高一点了。

4.hadoop分布式系统架构

关于hadoop,已经火的要爆炸了,greenplum的开源跟它也是脱不了关系的。

有着高可靠性、高扩展性、高效性、高容错性的口碑。

在互联网领域有非常广泛的运用,雅虎、facebook、XX、淘宝、京东等。

hadoop生态体系非常庞大,各公司基于hadoop所实现的也不仅限于数据平台,也包括数据分析、机器学习、数据挖掘、实时系统等。

当企业数据规模达到一定的量级,我想hadoop是各大企业的首选方案,到达这样一个层次的时候,我想企业所要解决的也不仅是性能问题,还会包括时效问题、更复杂的分析挖掘功能的实现等。

非常典型的实时计算体系也与hadoop这一生态体系有着紧密的联系。

近些年来hadoop的易用性也有了很大的提升,sql-on-hadoop技术大量涌现,包括hive、impala、spark-sql等。

尽管其处理方式不同,但普遍相比于原始基于文件的Mapreduce,不管是性能还是易用性,都是有所提高的。

也因此对mpp产品的市场产生了压力。

对于企业构建数据平台来说,hadoop的优势与劣势非常明显:

它的大数据的处理能力、高可靠性、高容错性、开源性以及低成本(为什么说低成本,要处理同样规模的数据,换一个其他方案试试)。

缺点也就是他的体系的复杂,技术门槛较高(能搞定hadoop的公司规模一般都不小了)。

关于hadoop的优缺点对于公司的数据平台选型来说,影响已经不大了。

需要上hadoop的时候,也没什么其它的方案好选择(要么太贵,要么不行),没到达这个数据量的时候,也没人愿意碰这东西。

总之,不要为了大数据而大数据。

三、方案很多,企业要怎样选择呢

环境太复杂,但是我想至少要从下面这几个方面去考虑吧。

1.目的:

什么样的目的?

就是文中开始部分的三种情况吧,或者是其中几个的组合。

当然,要明确数据平台的建设目的,哪里是那么容易的,初衷与讨论后确认的目标或许是不一致的。

公司要搭建一个数据平台的初衷可能很简单,只是为了减轻业务系统的压力,将数据拉出来后再分析,如果目的真的就这么单纯,还真的没有必要大动干戈了。

如果是独立系统的话,直接将业务系统的数据库复制出来一份就好了;

如果是多系统,选型敏捷型的商业数据产品也够了,快速建模,直接用工具进去就能实现数据的可视化与olap分析。

但是,既然已经决定要将数据平台独立出来了,就不再多考虑一点吗?

多个系统的数据,不趁机梳理整合一下?

当前只有分析业务数据的需求,以后会不会考虑到历史数据呢?

这种敏捷的方案能够支撑明年、后年的需求吗?

任何公司要搭建数据平台,都不是一件小事,多花一两个月实施你可能觉得累,多花一周两周的时间,认真的思考一下总可以的吧。

雷军不是说过这样一句话:

不能以战术上的勤奋,掩盖战略上的懒惰。

2.数据量:

根据公司的数据规模选择合适的方案。

3.成本:

包括时间成本和金钱,不必多说。

但是这里有一个问题想提一下,发现很多公司,要么不上数据平台,一旦有了这样的计划,就恨不得马上把平台搭出来用起来,时间成本不肯花,这样的情况很容易考虑欠缺,也容易被数据实施方忽悠。

关于方案选择的建议,举几个场景,推荐一款轻量级计算引擎-集算器

集算器是一款专注于(半)结构化数据分析与处理的程序设计语言,面向应用程序员和数据分析员,比SQL、java、perl/python,R语言有更高的开发效率,特别适合业务规则复杂的多步骤运算,可通过简单代码实现多线程并行计算。

场景a:

要实现对业务数据的快速提取和分析,多个业务系统,没有达到海量数据,考虑历史数据,不需要依照业务逻辑对数据进行系统的梳理,这种情况下,可以考虑集算器,通过多源异构接入多个业务系统的数据,通过混合计算,二进制存储,实现多个业务系统的数据分析。

简单来

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1