数据仓库方案选型

总体框架

通常采用三层体系结构:前端工具(顶层)-OLAP服务器(中间层)-数据仓库服务器(底层)。

底层的数据仓库服务器通常是一个关系数据库系统(各种表关联的sql统计会更方便一些,非关系型数据库目前在这方面还是有所区别)。 
中间层OLAP服务器,典型实现为ROLAP模型或MOLAP模型。 
顶层为前端客户端,用于数据分析和挖掘等(如趋势分析、预测)。 
当然现在很多成熟的BI工具都是集成了OLAP服务器的,所以我们只是需要选择ETL工具以及存储方案和 可视化BI方案即可。

ETL工具

1、KETL,由具有IBM和KPMG背景的Kinetic Networks公司开发,现在已经有三年多的产品应用历史,成功应用于一些产品中,在点击流(ClickStream)分析应用中表现出色。KETL采用Plug-in的架构,使用Java开发。 
2、KETTLE,为一个元数据驱动的ETL工具。已经加入Pentaho。 
3、Clover ETL,为一个基于Java的ETL Framework,可以用来开发自己的ETL应用。 (开源) 
4、Enhydra Octopus,为一个基于Java的ETL工具,使用JDBC来连接各种数据源,易于使用和部署。曾有人应用于电信网络资源分析系统中。 
5、Informatica Powercenter,oracle的ETL工具 
6、Datastage,IBM的Datastage工具 
7、oracle warehouse builder,oracle的ETL工具(OWB) 
8、Oracle Data Integrator,oracle的ETL工具(ODI) 
9、微软DTS 
10、Beeload(国内北京灵蜂纵横) 
11、微软DTS 
12、Talend 
13、DataSprider 
14、Spark自己写抽取保存 
15、Octupus(开源)

对比

Pentaho Data Integration (Kettle)是Pentaho生态系统中默认的ETL工具。通过非常直观的图形化编辑器(Spoon),您可以定义以XML格式储存的流程。在Kettle运行过程中,这些流程会以不同的方法编译。用到的工具包括命令行工具(Pan),小型服务器(Carte),数据库存储库(repository)(Kitchen)或者直接使用IDE(Spoon)。 
Talend Open Studio是 Talend 开发的ETL工具——Talend 是一家主营数据集成和数据管理解决方案的企业。Talend 采用用户友好型,综合性很强的IDE(类似于Pentaho Kettle 的 Spoon)来设计不同的流程。这些流程可以在IDE内部测试并编译成Java 代码。您可以随时查看并编辑生成的Java代码,同时实现强大的控制力和灵活性。 
两者都非常优秀,都属于用户友好型的交叉平台(基于Java的)工具。它们的主要差异在于Kettle 将 ELT 流程编译为 XML 格式,然而Talend Open Studio 则生成 Java 代码。 
易用性: 
Talend:有 GUI 图形界面但是以 Eclipse 的插件方式提供。 
Kettle:有非常容易使用的 GUI,出现问题可以到社区咨询。 
技术支持: 
Talend:主要在美国 
Kettle:在美国,欧洲(比利时,德国,法国,英国),亚洲(中国,日本,韩国)都可以找到相关技术支持人员。 
部署: 
Talend:创建 java 或perl 文件,并通过操作系统调度工具来运行 
Kettle:可以使用 job 作业方式或操作系统调度,来执行一个转换文件或作业文件,也可以通过集群的方式在多台机器上部署。 
速度: 
Talend:需要手工调整,对特定数据源有优化知识。 
Kettle:比 Talend 快,不过也需要手工调整,对 Oracle 和 PostGre 等数据源做了优化,同时也取决于转换任务的设计。 
数据质量: 
Talend:在 GUI 里有数据质量特性,可以手工写 SQL 语句。 
Kettle:在 GUI 里有数据质量特性,可以手工写 SQL 语句、java脚本、正则表达式来完成数据清洗。 
监控: 
Talend:有监控和日志工具 
Kettle:有监控和日志工具 
连接性: 
Talend:各种常用数据库,文件,web service。 
Kettle:非常广泛的数据库,文件,另外可以通过插件扩展

Talend: 基于Eclipse,具有很好的扩展性、稳定性以及可定制化(可以自己开发eclipse插件),并且服从Eclipse标准(如文件目录结构都是程序员熟悉的结构)。Talend具有很好的嵌入性,因为它生成的是Java代码,这些代码可以很好的和其他系统结合在一起,这就要求使用者会java。如果不会Java的话,Talend的缺点是学习曲线将会非常陡峭,但是如果会java的话,Talend将是一个绝佳的选择。

Penthao: 它是一个老牌的工具,在2001年就发布了第一个版本,Kettle是Penthao整个解决方案的一个组件,用来进行数据集成。它也是基于java开发的,但是它不要求用户会java,将底层实现细节都隐藏了。这样即使不会编程的用户也可以轻易的上手,学习曲线非常平缓。它主要的缺点是,和talend相比,它的扩展性较差。由于它很难扩展,所以在社区中可用的组件就比较少;同时,由于它是直接解析存放在xml中的任务信息,不直接生产java代码,使得它和现有的java开发的系统进行集成非常困难。

CloverETL: 它是在talend和penthao之后发展起来的工具,使用的人数没有talend和penthao多,它主要的优点是,轻量级、容易嵌入、易于使用。但是它的功能远没有talend和kettle强大。

性能:从clover的官网上,有如下两组性能测试报告(2009年),分别是1GB的文件大小和10GB的文件大小,从这两组系统报告可以看出,clover的性能是最好的,Talend的性能次之,Penthao的性能最差。

从使用教程上来看,cloverETL百度查询条数是5W4,Tanlend是32W,Kettle是900多W。 所以Kettle是资料比较丰富的,如果时间紧迫建议选择Kettle。

存储方案

方案1:采用传统的关系型数据库,或经过功能扩展的MPP(massively paralle processing)数据库

传统的关系型数据库 
oracle 
mysql

大规模并行处理数据库 
Vertica 
Teradata(商业) 
Greenplum (开源) 
据了解,Greenplum数据库是业界最快和最高性价比的高端数据仓库解决方案。 
Greenplum是基于PostgreSQL的。于2015年开源。 
传说中四大行有3家在用,5大物流公司有4家在用,我还知道有国内航空业龙头顺利完成了Teradata到GP的迁移,去除人工后还省下了过千万费用。

SequoiaDB 
广州巨杉软件专注新一代大数据技术研发,是国内唯一的原厂企业级分布式数据库公司。 
SequoiaDB巨杉数据库,是一款企业级分布式NewSQL数据库,自主研发并拥有完全自主知识产权,没有基于任何其他外部的开源数据库源代码。SequoiaDB支持标准SQL、事务操作、高并发、分布式、可扩展、与双引擎存储等特性,并已经作为商业化的数据库产品开源。

方案2:Hadoop+Hive

这样的组合:PG(TB级数据)、GP(百TB级数据)、Hadoop(PB级以上数据)的组合。

sql查询引擎

Impala 
Presto 
Drill 
Shark —>Spark sql

OLAP服务器

Mondrian

报表展示工具

目前较为知名的开源报表工具有 
JasperReports,一个优秀的Java报表工具,始于2001,现在JasperSoft公司持续开发和支持该工具。该工具类似于商业软件Crystal Report,支持PDF、HTML、XLS、CSV和XML文件输出格式,现在是Java开发者最常用的报表工具。 
OpenReports,提供基于web的灵活报表解决方案,通过浏览器自动生成动态PDF,XLS,HTMLCSV 和Chart报表,它是用Java开发的,使用JasperReports 作为报表引擎,利用到的开源技术有Hibernate,Veloctiy,Webwork。 
JFreeReport,现在是Pentaho的一部分,它是一个优秀的用来生成报表的Java类库。它为Java应用程序提供一个灵活的打印 功能并支持输出到打印机和PDF, Excel, HTML和XHTML, PlainText, XML和CSV文件中。 
Eclipse BIRT,是Eclipse下面的一个企业智能和报表 工具,能为J2EE的WEB应用程序创建漂亮醒目的PDF或者HTML格式的报表,它提供了核心的报表功能。 
Jpivot(一般与Mondrian配合使用)

BI可视化分析工具(BI一般都集成了OLAP服务器和报表展示工具)

SpotView 
FineBI(国内) 
Z-Suite(国内) 
SmartBI(国内) 
Power-BI(国内) 
QuickBI(国内阿里) 
QlikView 
SpagoBI(集成了Mondrain和JProvit) 
Pentaho 
Tableau 
Openi

Openi是轻量级的。Openi的技术文档非常少,而且完全不支持中文,所以暂不采用。SpagoBI和Pentaho使用的开源技术很类似,技术都比较强大,属于重量级的开发工具。但是SpagoBI中文支持不太好。Pentaho的中文文档多,国际化做的比较好。所以选用Pentaho作为研究的开源数据仓库工具。

其他公司的选型方案

唯品会 Hadoop+Hive + Presto

阿里 oracle —> Greenplum —> Hadoop+Hive —>飞天
--------------------- 
作者:张小凡vip 
来源:CSDN 
原文:https://blog.csdn.net/zzq900503/article/details/78465369 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(大数据)