首页 > 其他分享 >数据仓库方案选型

数据仓库方案选型

时间:2023-08-08 11:37:00浏览次数:45  
标签:方案 Java 数据库 Kettle 数据仓库 选型 Talend 工具 ETL




总体框架

通常采用三层体系结构:前端工具(顶层)-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 —>飞天


参考文献

数据仓库是什么

据了解,Greenplum数据库是业界最快和最高性价比的高端数据仓库解决方案。请问国内互联网行业,现在有哪些公司在使用它呢?
https://www.zhihu.com/question/20249206

聊聊Greenplum的那些事

唯品会海量实时OLAP分析技术升级之路

阿里云大数据三次技术突围:Greenplum、Hadoop和飞天


标签:方案,Java,数据库,Kettle,数据仓库,选型,Talend,工具,ETL
From: https://blog.51cto.com/u_16218512/7006179

相关文章

  • hadoop组件---数据仓库(二)---hive的数据模型和数据类型
    我们在上一章中已经大概了解了Hive有四种数据模型,本章就来详细了解它们的使用。Hadoop组件—数据仓库(一)—Hive简介数据模型Hive没有专门的数据存储格式,也没有为数据建立索引,用户可以非常自由的组织Hive中的表,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive......
  • 数据仓库(十一)---hive使用小技巧积累(持续更新)
    我们在本章节会持续更新关于hive使用过程中的一些实用的小技巧HIVE查询显示列名及行转列显示hiveshell;sethive.cli.print.header=true;//打印列名sethive.cli.print.row.to.vertical=true;//开启行转列功能,前提必须开启打印列名功能sethive.cli.print.row.to.ve......
  • 数据仓库(十二)---分布式SQL查询引擎---teradata版本的presto安装和使用
    我们在使用presto过程中,发现facebook原版和京东原版都是解压可用,teradata版本的安装要麻烦一些。下面对teradata版本的安装过程进行记录。首要条件1、需要python2.6或者python2.7环境之所以需要python环境是因为teradata版本的presto把安装封装成了集群式安装。根据配置在安装过......
  • 服装行业多模态算法个性化产品定制方案
    一、项目背景AI赋能服装设计师,设计好看、好穿、好卖的服装传统服装行业痛点•设计师无法准确捕捉市场趋势,抓住中国潮流•上新周期长,高库存滞销风险大•基本款居多,难以满足消费者个性化需求解决方案•GPT+数据洞察,快速反应市场时尚流行趋势•柔性快反+数智化供应链,降......
  • Android平台一对一音视频通话方案对比:WebRTC VS RTMP VS RTSP
    一对一音视频通话使用场景一对一音视频通话都需要稳定、清晰和流畅,以确保良好的用户体验,常用的使用场景如下:社交应用:社交应用是一种常见的使用场景,用户可以通过音视频通话进行面对面的交流;在线教育:老师和学生可以通过音视频通话功能进行实时互动,提高教学效率;远程协助:在某些工作场景......
  • 网页版jupyter智能提示解决方案
    1、在网页版的jupyter中new→右键→Teminal 2、打开jupyter网页版的命令框输入以下命令:1.进行Nb插件的安装pipinstalljupyter_contrib_nbextensions2.进行相关联文件的安装jupytercontribnbextensioninstall--user3.安装完成后重启jupyter ......
  • Microsoft 365解决方案:如何通过Powershell启用Communication Sites的Rating feature
    博客链接:https://blog.51cto.com/u_13637423SharePoint中的Rating功能允许用户对列表项进行评分并提供反馈,从而增强团队内部的协作和决策能力。虽然此功能在SharePointTeamsSite中默认可用,但在CommunicationSite中默认不启用,如下所示:但如果您希望在CommunicationSite的列表中......
  • Azure 解决方案:如何实现URL重定向?
    51CTO博客地址: https://blog.51cto.com/14669127Azure培训视频地址: https://space.bilibili.com/2000820534近期遇到一些客户,在访问第三方URL的时候,因某种原因希望URL中能包含组织结构的域名,实现URL重定向来满足安全策略,今天给大家分享如何利用AzureFrontDoor配置URL重定向。......
  • 打开电脑中应用程序及问题解决方案
    1、使用os.system()函数:示例代码importosos.system("notepad.exe")这将在Windows系统上打开记事本应用程序。2、使用subprocess示例代码:importsubprocesssubprocess.Popen(['notepad.exe'])3、使用webbrowser示例代码:importwebbrowserwebbrowser.open('http://www.goog......
  • 免屏实现精准较时设定电子药盒语音芯片IC解决方案,NV040C-S8
    随着人们对生活品质的要求不断提高,电子设备也逐渐普及,特别是在医疗设备领域,创新的电子设备不断涌现,例如具有语音识别功能的电子药盒。然而,普通语音识别技术因为误判率高而有很大局限性,而全球领先的专业音频芯片IC生产商——九芯电子于近日推出了一款免屏实现精准较时设定电子药盒语......