ETL与RDB选型.docx

上传人:b****5 文档编号:3415144 上传时间:2022-11-22 格式:DOCX 页数:12 大小:24.11KB
下载 相关 举报
ETL与RDB选型.docx_第1页
第1页 / 共12页
ETL与RDB选型.docx_第2页
第2页 / 共12页
ETL与RDB选型.docx_第3页
第3页 / 共12页
ETL与RDB选型.docx_第4页
第4页 / 共12页
ETL与RDB选型.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

ETL与RDB选型.docx

《ETL与RDB选型.docx》由会员分享,可在线阅读,更多相关《ETL与RDB选型.docx(12页珍藏版)》请在冰豆网上搜索。

ETL与RDB选型.docx

ETL与RDB选型

 

大数据项目ETL和RDB选型

 

2016年7月

目录

1.ETL选型1

1.1ETL的概念1

1.2常用的ETL工具1

1.2.1datastage1

1.2.2InformaticaPowerCenter2

1.2.3kettle4

1.3ETL的选择4

1.3.1应用要素分析4

1.3.2ETL比较与选择5

2.关系型数据库选型7

2.1关系型数据库的概念7

2.2常用的关系型数据库优缺点8

2.2.1oracle8

2.2.1sqlserver8

2.2.3mysql9

2.3关系型数据库的选择10

2.3.1应用要素分析10

2.3.2关系型数据库比较与选择11

1.ETL选型

1.1ETL的概念

ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)作为BI/DW(BusinessIntelligence)的核心和灵魂,能够按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。

如果说数据仓库的模型设计是一座大厦的设计蓝图,数据是砖瓦的话,那么ETL就是建设大厦的过程。

在整个项目中最难部分是用户需求分析和模型设计,而ETL规则设计和实施则是工作量最大的,因此ETL的选型极其重要。

1.2常用的ETL工具

1.2.1datastage

IBMWebSphereDataStage(下面简称为DataStage)为整个ETL过程提供了一个图形化的开发环境,它是一套专门对多种操作数据源的数据抽取、转换和维护过程进行简化和自动化,并将其输入数据集或数据仓库的集成工具。

DataSta的Server端由Repository、DataStage Server及DataStage Package Installer三部分组成,Client端则由DataStage Manager、DataStage Designer、DataStage Driect及DataStage Administrator四部分组成。

其中各部分主要功能如下:

 

●Repository中央存储器,用于存放构造数据集市或数据仓库所需要的全部信息。

 

●DataStage Server运行DataStage Director控制下的可执行任务,将萃取出来的数据通过转换后加载到数据仓库当中。

 

●DataStage Package Installer一用来安装DataStage任务包和插件的用户接口。

DataStage Manager用于查看和编辑中央存储器中组件的用户接口。

●DataStage Designer用于创建可执行任务的图形化工具。

 

●DataStage Driect用于验证、定时及监控任务运行的用户接口。

 

●DataStage Administrator用于创建DataStage的用户,控制净化标准以及安装NLS的用户接口。

1.2.2InformaticaPowerCenter

 InformaticaPowerCenter是Informatica公司开发的世界级的企业数据集成平台,也是业界领先的ETL工具。

InformaticaPowerCenter使用户能够方便地从异构的已有系统和数据源中抽取数据,用来建立、部署、管理企业的数据仓库,从而帮助企业做出快速、正确的决策。

此产品为满足企业级要求而设计,可以提供企业部门的数据和电子商务数据源之间的集成,如XML,网站日志,关系型数据,主机和遗留系统等数据源。

此平台性能可以满足企业分析最严格的要求。

InformaticaPowerCenter是建立可伸缩和可扩展的Informatica数据集成平台的核心和基础。

与InformaticaPowerConnect产品一起使用,InformaticaPowerCenter可以提供对广泛的应用和数据源的支持,包括对ERP系统的支持(Oracle,PeopleSoft,SAP),对CRM系统的支持(Siebel),对电子商务数据的支持(XML,MQSeries),遗留系统,及主机数据。

InformaticaPowerCenter是最突出的分析性数据集成平台。

InformaticaPowerCenter是一个可以使大的企业或组织能够按其复杂的业务信息需求,读取、转换、集成遗留系统、关系型ERP,CRM,消息信息和电子商务数据的数据集成平台。

●数据整合引擎

InformaticaPowerCenter拥有一个功能强大的数据整合引擎,所有的数据抽取转换、整合、装载的功能都是在内存中执行的,不需要开发者手工编写这些过程的代码。

InformaticaPowerCenter数据整合引擎是元数据驱动的,通过知识库和引擎的配对管理,可以保证数据整合过程能够最优化执行,并且使数据仓库管理员比较容易对系统进行分析管理,从而适应日益增加的数据装载和用户群。

●积极的元数据管理

InformaticaPowerCenter充分利用元数据来驱动数据整合过程。

它提供了一个单一的元数据驱动的知识库,和数据整合引擎协同运作,并且可使关键的整合过程能被简单定义、修改、重用,从而提高了开发生产力并缩短了部署周期。

活动元数据合并严格的文件,提供维护体系,允许冲突性分析,可以广泛跟其他企业应用程序以及系统整合。

●支持多数据源

 通过辅助产品InformaticaPowerConnect,InformaticaPowerCenter提供了对特殊数据源和格式的支持,包括SAP、Siebel、PeopleSoft、AS400等。

对于e-business格式的数据,可以直接通过分析DTD或XML格式数据文件来实现。

●高性能的运行功能

将设计和运行环境的性能特性分离,提供了较好的灵活性,不需要重新编码,吞吐量可以通过服务器、并行引擎管理、最优化CPU资源等方式,尽快处理任务。

数据高效并行功能(Datasmartparallelism)使用户具有自定义分区功能,提供了最优化的数据并行处理。

InformaticaPowerCenter提供了一个非编码的图形化设计工具方便用户的调试使用。

●分布式体系结构

作为企业级核心数据整合引擎,InformaticaPowerCenter可以单独部署,也可以在分布式体系结构中部署。

如果在分布式体系结构中部署,InformaticaPowerCenter要协调和管理多个基于主题的数据集市,而这些数据集市是在局域网或广域网内由InformaticaPowerMart或InformaticaPowerCenter引擎执行的。

●安全的数据整合

 PowerCenterforRemoteData是InformaticaPowerCenter一个分布式数据整合选项,提供了高性能、安全的、投资回报率高的方法,使用户可以跨广域网与合作伙伴、供应商以及其他远程数据源交换信息。

InformaticaPowerCenter是世界级的企业数据集成平台,它在ETL领域中无论是执行能力还是战略远见方面都是佼佼者,是Informatica的核心产品。

1.2.3kettle

 Kettle是”KettleE.T.T.L.Envirnonment”只取首字母的缩写,这意味着它被设计用来帮助你实现你的ETTL需要:

抽取、转换、装入和加载数据;翻译成中文名称应该叫水壶,名字的起源正如该项目的主程序员MATT在一个论坛里说的哪样:

希望把各种数据放到一个壶里然后以一种指定的格式流出。

●Spoon是一个图形用户界面,它允许你运行转换或者任务,其中转换是用Pan工具来运行,任务是用Kitchen来运行。

●Kettle的下载可以到

● 一个Kettle资源库可以包含那些转换信息,这意味着为了从数据库资源中加载一个转换,你必须连接相应的资源库。

要实现这些,你需要在资源库中定义一个数据库连接,你可以在Spoon启动的时候,利用资源仓库对话框来定义。

当然,也可以定义文件资源仓库。

●Kettle database repository即保存在各种常见的数据库资源仓库类型,用户通过用户名/密码来访问资源仓库中的资源,默认的用户名/密码是admin/admin和guest/guest;Kettle file repository,保存在服务器硬盘文件夹内的资源仓库类型,此类型的资源仓库无需用户进行登录,直接进行操作。

为了方便管理,建议用户建立并使用数据库类型资源仓库Kettle database repository。

1.3ETL的选择

1.3.1应用要素分析

项目应用要素如表1所示。

表1项目应用要素

场景要素

场景内容

数据源

大多数数据源为sqlserver和mysql

目标数据库

Oracle、vertica和mongodb

实时性要求

实时性要求较低

数据量

数据源单表数据为十万级别;目标源数据库单表达亿级以上

主要用途

数据抽取、重复数据剔除和数据清洗

团队技能

目前团队已经对Informatica和kettle有过基本的调研,可以进行基本的数据抽取和清洗工作。

团队开发语言主要以java为主。

1.3.2ETL比较与选择

Datastage、PowerCenter和kettle比较如表2所示。

表2Datastage、PowerCenter和kettle比较

比较项

PowerCenter

Kettle

Datastage

性能

性能比较稳定,支持大型数据的处理,有成熟稳定的运维团队

Kettle性能稳定性相对差点,目前最新版本支持千万级别数据

和PowerCenter旗鼓相当,有良好的性能

价格

付费软件:

几十万到上百万,根据功能选择付费

开源,免费

付费软件:

几十万到上百万,根据功能选择付费

断点恢复能力

有断点恢复能力、安全性较高

无断点恢复能力

无断点恢复能力

界面友好性

提供友好的图形化界面

提供友好的图形化界面

提供友好的图形化界面

安装复杂度

安装依赖存储数据库,先要安装存储库,再安装客户端和服务端

安装简单,只需要安装JDK,配置系统环境变化;kettle本身解压后就可以使用

安装复杂度介于kettle和PowerCenter之间

开发语言支持

Java脚本,不支持传参

Java脚本,可以传参

Basic脚本,可以传参

大数据和非关系型数据的支持

网上没有找到相关资料

可以支持mongodb、hbase、hadoop等

网上没有找到相关资料

使用难度

开发难度较低、运维难度较高

开发和运维难度较低

开发难度较低,运维难度适中

结论:

根据目前业务使用场景和团队技术,ETL方案采用PowerCenter+kettle的模式,主要依据如下:

✓团队优势:

团队有java基础,在进行脚本开发时,可以尽快融入。

团队有InformaticaPowerCenter和kettle的安装和初步开发经验。

✓价格:

因为kettle免费,而且使用比较简单,可以减少开发成本;InformaticaPowerCenter可以根据所需的功能进行购买。

✓项目需求:

项目数据量达到一定量后,kettle无法支撑,需要专业的InformaticaPowerCenter;但是kettle在抽取中型数据量(千万级别)时,能够支持mongodb和hbase,对于数据实时性要求不高的情况下,kettle是比较好选择,因为kettle是免费的。

ETL相关参数:

ETL相关参数如表3所示。

表3ETL参数列表

工具

版本号

支持的操作系统

硬件要求

备注

Kettle

pdi-ce-6.1.0.1-196

Linux:

32bit/64bit

Windows:

32bit/64bit

2G以上内存,4G以上硬盘

PowerCenter

9.6.1

Linux:

32bit/64bit

Windows:

32bit/64bit

Server:

1G以上内存,8G以上硬盘

Client:

1G以上内容,2G以上硬盘

2.关系型数据库选型

2.1关系型数据库的概念

关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。

关系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。

现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。

标准数据查询语言SQL就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。

关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。

关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。

2.2常用的关系型数据库优缺点

当前主流的关系型数据库有Oracle、DB2、MicrosoftSQLServer、MySQL等。

下面主要对Oracle、MicrosoftSQLServer和MySQL进行分析。

2.2.1Oracle

优点:

✓开放性:

Oracle能所有主流平台上运行(包括windows)完全支持所有工业标准采用完全开放策略使客户选择适合解决方案对开发商全力支持;

✓可伸缩性,并行性:

Oracle并行服务器通过使组结点共享同簇工作来扩展windowNT能力提供高用性和高伸缩性簇解决方案windowsNT能满足需要用户把数据库移UNIXOracle并行服务器对各种UNIX平台集群机制都有着相当高集成度。

✓安全性:

获得最高认证级别的ISO标准认证。

 

✓性能:

Oracle性能高保持开放平台下TPC-D和TPC-C世界记录。

✓客户端支持及应用模式:

Oracle多层次网络计算支持多种工业标准用ODBC、JDBC、OCI等网络客户连接。

 

✓使用风险:

Oracle长时间开发经验完全向下兼容得广泛应用地风险低。

缺点:

✓对硬件的要求很高。

✓价格比较昂贵。

✓管理维护麻烦一些。

✓操作比较复杂,需要技术含量较高。

2.2.1sqlserver

优点:

✓易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。

✓为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势。

从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要。

✓作为一个完备的数据库和数据分析包,SQLServer为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门。

✓作为重要的基准测试可伸缩性和速度奖的记录保持者,SQLServer是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力。

缺点:

✓开放性:

SQLServer只能windows上运行没有丝毫开放性操作系统系统稳定对数据库十分重要Windows9X系列产品偏重于桌面应用NTserver只适合小型企业而且windows平台靠性安全性和伸缩性非常有限象unix样久经考验尤其处理大数据库。

✓伸缩性并行性:

SQLserver并行实施和共存模型并成熟难处理日益增多用户数和数据卷伸缩性有限。

✓安全性:

没有获得任何安全证书。

✓性能:

SQLServer多用户时性能佳。

✓客户端支持及应用模式:

客户端支持及应用模式。

只支持C/S模式,SQLServerC/S结构只支持windows客户用ADO、DAO、OLEDB、ODBC连接。

✓使用风险:

SQLserver完全重写代码经历了长期测试断延迟许多功能需要时间来证明并十分兼容。

2.2.3mysql

优点:

✓体积小、速度快、总体拥有成本低,开源。

✓支持多种操作系统。

✓是开源数据库,提供的接口支持多种语言连接操作。

✓MySql的核心程序采用完全的多线程编程。

线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。

用多线程和C语言实现的MySql能很容易充分利用CPU。

✓MySql有一个非常灵活而且安全的权限和口令系统。

当客户与MySql服务器连接时,他们之间所有的口令传送被加密,而且MySql支持主机认证。

✓支持ODBCforWindows,支持所有的ODBC2.5函数和其他许多函数,可以用Access连接MySql服务器,使得应用被扩展。

✓支持大型的数据库,可以方便地支持上千万条记录的数据库。

作为一个开放源代码的数据库,可以针对不同的应用进行相应的修改。

✓拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性。

✓MySQL同时提供高度多样性,能够提供很多不同的使用者介面,包括命令行客户端操作,网页浏览器,以及各式各样的程序语言介面,例如C+,Perl,Java,PHP,以及Python。

你可以使用事先包装好的客户端,或者干脆自己写一个合适的应用程序。

MySQL可用于Unix,Windows,以及OS/2等平台,因此它可以用在个人电脑或者是服务器上。

缺点:

✓不支持热备份。

✓MySQL最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变。

✓没有一种存储过程(StoredProcedure)语言,这是对习惯于企业级数据库的程序员的最大限制。

✓MySQL的价格随平台和安装方式变化。

Linux的MySQL如果由用户自己或系统管理员而不是第三方安装则是免费的,第三方案则必须付许可费。

Unix或Linux自行安装免费、Unix或Linux第三方安装收费。

2.3关系型数据库的选择

2.3.1应用要素分析

关系型数据库应用要素分析如表4所示。

表4关系型数据库应用要素分析

数据量

数据量非常,需要大型数据库存储

性能要求

数据安全性高,要求可靠的备份和恢复能力

扩展性

数据量会不断增加、要求数据有良好的扩展能力

数据库移植

要求需要库可以跨平台进行移植

主要用途

用于数据存储、为业务平台提供数据展示

团队技术

目前团队比较熟悉SQLserver和mysql;oracle有部分成员比较熟悉或者了解

2.3.2关系型数据库比较与选择

关系型数据库比较如表5所示。

表5关系型数据库比较

比较项

Oracle

Mysql

SQLserver

性能

性能非常稳定,支持大型数据的处理,有良好的数据备份和恢复能力,有成熟的集群技术。

具有数据透明、网络透明,支持异种网络、异构数据库系统。

并行处理采用动态数据分片技术。

MySql是一个快速、多线程、多用户的SQL数据库服务器。

 MySql拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性。

事实上,MySql的稳定性足以应付一个超大规模的数据库。

SQLserver在Windows平台上性能比较稳定,但是随着数据库量的上升,被定义为中型数据SQLserver出现了瓶颈,数据处理缓慢,数据查询缓慢等现象

价格

付费软件:

公司目前已经有License。

MySQL的价格随平台和安装方式变化。

Linux的MySQL如果由用户自己或系统管理员而不是第三方安装则是免费的,第三方案则必须付许可费。

Unix或Linux自行安装免费、Unix或Linux第三方安装收费

免费

数据安全性

安全性是数据库中最高的,C2级(顶级)认证

MySQL使用缺省的ip端口,但是有时候这些ip也会被一些黑客闯入;使用myisam配置,如果你不慎损坏数据库,结果可能会导致所有的数据丢失存在一定的安全隐患

重写了数据库,不兼容,存在一定的安全隐患

界面友好性

可以借助图形界面工具进行开发,可以同时提供gui和命令行操作

可以借助图形界面工具进行开发,可以同时提供gui和命令行操作

提供友好的图形化界面、只能在Windows平台使用

数据库移植能力

移植性强,可以跨平台

移植性强,可以跨平台

不能跨平台

安装复杂度

Windows下安装比较简单,Linux安装比较复杂

Windows和Linux下安装都比较简单

只能在Windows下安装,安装比较简单

使用难度

开发难度较高、运维难度较高

开发和运维难度较低

开发难度较低,运维难度简单

结论:

根据目前业务使用场景和团队技术,关系型数据库采用Oracle,主要依据如下:

✓性能要求:

Oracle数据库所具有的性能是Mysql和Sqlserver所不能比的,Oracle处理数据能力远比它们强,数据查询的速度和数据安全性Oracle地位都是至高无上的。

因为目前Sqlserver数据在处理数据和数据查询方面已经出现瓶颈,Mysql在集群的应用和数据的安全性又无法与Oracle媲美,所以Oracle是最好的选择。

✓团队能力:

团队中有Oracle比较熟悉的成员,其它部门有Oracle精通的成员,项目可以借助公司的整体资源。

我公司与Oracle合作良好,能给项目提供良好的技术服务。

✓价格:

集团非常重视大数据项目,已经购买Oracle授权。

Oracle数据库信息:

Oracle数据库信息如表6所示。

表6oracle数据库信息

版本

操作系统

硬件要求

备注

MicrosoftWindowsx64(64-bit)

Linux6(64-bit):

3.8.13-98.el6uek.x86_64orlater

Linux7(64-bit):

3.8.13-98.el7uek.x86_64orlater

1G以上内存,6G以上硬盘

基本安装1G内存就够了,但是oracle性能和内存息息相关,酌情增大内容。

测试环境建议8G以上内存1T以上硬盘

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

当前位置:首页 > 小学教育 > 学科竞赛

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

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