Pentaho与微软BI堆栈的比较

38

我的公司在MS BI堆栈(SQL Server Reporting Services、Analysis Services和Integration Services)方面投资颇深,但我想看看似乎备受关注的开源替代品Pentaho是什么样子。

我安装了一个版本,并且很轻松地启动了它。这很好。但我没有时间开始使用它来进行实际工作,以全面了解该软件包。

你们有没有关于Pentaho与MS BI相比的优缺点的见解,或者任何此类比较的链接?

非常感谢!

9个回答

55

我在离开Business Objects的过程中,审查了多个商业智能工具的堆栈。很多评论是我的个人偏好。两种工具集都非常出色。有些事情就像我更喜欢巧克力布朗尼冰淇淋而不是纯巧克力一样。

Pentaho有一些非常聪明的人与他们合作,但是微软一直在走资金充足、计划良好的道路。请记住,在数据库市场上,微软仍然是弱者。Oracle是这里的王者。为了竞争,微软在购买数据库时赠送了许多好处,并被迫多次重新发明他们的平台。我知道这与数据库无关,但是DB的竞争导致微软不得不付出很多代价以增加其堆栈的价值。

1.) 平台
SQL Server不能在Unix或Linux上运行,因此它们自动被排除在这个市场之外。现在Windows的价格与某些版本的Unix大致相同。Windows现在非常便宜且运行得相当好。它给我的麻烦和Linux差不多。

2.) OLAP
分析服务在2005年(当前为2008)重建了2000版。它比2000版本强大了一个数量级。Pentaho(Mondrian)在处理大型数据时不够快。它也缺少一些功能。 Excel是必要的平台,两者都支持它。微软版本更加强大。

3.) ETL
MS-DTS已经被SSIS代替。再次提高了速度、功率和能力。它控制所有数据移动或程序控制。如果它无法做到,您可以在Powershell中编写脚本。在2008版中与Informatica相当。 Pentaho比以前好得多。不如我想要的那么快,但我可以做我想做的任何事情。

4.) 仪表盘
Pentaho已经改善了这一点。它有点令人不舒服且不友好,但实际上没有真正对应的MS。

5.)报告
MS报表非常强大但使用起来并不难。我现在很喜欢它,但一开始讨厌它,直到我更加了解它。我一直在使用Crystal Reports,而MS报表生成器更加强大。在MS中做困难的事情很容易,但做简单的事情可能有点困难。 Pentaho有点笨拙。我完全不喜欢它,但你可能会喜欢。我发现它过于复杂。我希望它要么更像Crystal Report Builder,要么更像MS report builder,但它像Jasper一样。我发现这很难。这可能是一种偏好。

6.)即兴临时报告
MS-对我来说这才是真正的赢家。我与我的用户测试了一下,他们立刻爱上了MS用户报表生成器。有何不同之处在于它不仅易于使用,而且还很高效。 Pentaho-不错但有点老套。它使用更典型的向导模型,并具有强大的工具,但我讨厌它。它是一个很好的工具,但我们已经从这种风格中走出来了,没有人想回去。我对logiXML也有同样的问题。接口适用于它的用途,但与我们12年前使用的东西相比,它实际上并没有太大的变化。 http://wiki.pentaho.com/display/PRESALESPORTAL/Methods+of+Interactive+Reporting

有些经验丰富的人可以使Pentaho运行得非常好,我只是发现MS套件更具生产力。


Stradas,您为整个社区提供了很棒的信息。写得非常好,您对可能因自己的偏好和内容组织而不准确的事情发出的警告提供了一个很好的参考点。感谢您抽出时间来做这件事。 - vmarquez
NagaMensh,你能具体说明一下吗?与DTS相比,学习曲线有点长,但我认为SSIS是一个经过深思熟虑的工具。Informatica是最接近的比较。还有其他一些好用的工具,但大多数都不够强大。 - Stradas
有一个关于商业智能的专门问答网站提案。请关注、发布和支持,让它成为现实。链接 - bonCodigo
谢谢bonCodigo,我同意。BI似乎已经发展到足以证明需要一个网站了。有很多独特的BI相关编程、理论和概念问题,这些问题与事务性程序员所处理的问题不同。我经常构建定制的分析应用程序,非常BI,类似的工具,但通常是与常规桌面和Web应用程序不同的品种。 - Stradas
2
SQL Server现在可以在Linux上运行。 - Muhammad Rehan Saeed

8

警告--有许多网站列出了SSIS的许多缺陷、错误和烦恼。不确定为什么SSIS在帖子中排名第一--但在您把项目放在上面之前,请看看博客圈里人们的说法。根据我的经验,大约有20:1的人在抱怨与SSIS合作有多可怕--我也可以证实,目前正在寻找任何替代方案。


5
SSIS引擎非常好(快/强大),但是它的设计师却是我一生中遇到过最糟糕的。有无数小烦恼,例如它有RIGHT()函数,但没有LEFT()! - adolf garlic
4
SSIS的问题在于学习曲线很陡峭,就像撞上一堵墙。不过,一旦你学会了它,就会变得更容易,尽管调试仍然相当困难——我建议确保你有一个主/子程序包设计,并尽可能将每个程序包保持得越小越好(在合理范围内)。 - Mr Shoubs
1
@adolfgarlic:当然,有“left”。它被称为SUBSTRING()。 - John Fisher

7

这里提供了很有用的信息。我虽然没用过Pentaho,但计划尝试一下。我是一位经验丰富的MS BI顾问,从1998年开始使用它。SSIS非常快速而强大,但批评也是正确的。我发现SSIS存在以下问题:

(1) 很难调试,你会遇到晦涩难懂的错误信息,无法给出有关问题在哪里以及具体是什么的任何提示。

(2) 根据先前的评论,它是有史以来最糟糕的开发环境!我不知道他们在想什么。

(a) 创建一个有100个或更多列的表并放置在Merge Join上。现在回去并尝试对Merge Join进行更新(比如通过添加新的列)。即使在最快的机器上,你点击Merge Join保存更改后可能需要等待几分钟。我有一个大型数据流,包含许多宽记录和多个Merge Join。向数据流中添加一个列需要半天以上的时间。我更新了一个Merge Join,然后必须去做其他工作,5-10分钟后再检查是否完成。微软的反应是将你的包分成多个包,在它们之间放置数据或二进制。好吧,如果你要在所有步骤之间进行磁盘操作,你可能会完全使用SQL!ETL工具的主要目的之一是在内存中完成所有这些操作,避免磁盘I/O。

(b) 设计人员有时会崩溃,丢失自上次保存以来的所有工作(我现在因此睡眠中也进行ctrl-S)

(c) 对于宽记录,我不得不想出一个方法,在Excel中生成SSIS包XML。我有一个医疗保健客户,其中600多个列记录很常见。如果你尝试在SSIS中定义带有600个列的文件格式,你必须一个一个地输入每个列名!!!甚至MS Access也允许您将电子表格的布局复制并粘贴到文件布局中,但SSIS不行。所以我不得不从布局中生成XML,并将XML代码粘贴到程序包的正确位置。这是一种丑陋的方式,但它节省了整整几天的工作时间和大量的错误。

(d) 与(c)类似,如果您需要修剪所有列,例如有600多列,那么该怎么办?在Derived Column组件中,您必须键入trim(column1)600+次!我现在通过SQL查询获取数据来处理所有简单的转换,因为可以很容易地从Excel表中生成它们。

(e) 有许多古怪的问题,例如组件消失,有时打开包时所有组件都被完全无序地重新排列。

(f) FTP功能是ETL中最常用的功能之一,但它很弱,只支持普通的FTP,而现在几乎没有人使用。如今,每个人都使用SFTP、FTPS、https等,因此几乎每个实现都需要使用第三方命令行驱动的文件传输应用程序来调用。
(g) 为了保护自己,类似于Windows Vista中荒谬的安全措施,微软使得从一个环境推广SSIS包变得非常困难。它默认采用“使用用户密钥加密敏感信息”的愚蠢安全措施,这意味着它必须在您要移动到的环境下使用与您开发它的环境相同的帐户,这种情况很少发生。有更好的配置方式,但它总是试图恢复到这个完全无用的安全保护。
(h) 最后,这些问题大多数已经存在于第3个版本中,明显表明微软没有计划解决它们。
(i) 调试不像其他语言那么容易。
SSIS仍然有许多优点,但也存在一些严重的问题。

这是有价值的信息,谢谢。 - Thor Hovden
我同意上面提到的许多关于SSIS的观点。我很困惑为什么微软在2005年投入了如此多的精力来创建一个全新的产品来替代DTS,然后基本上就这样放着不管了。其中让我感到沮丧的许多事情之一是缺少其他微软产品的连接器,例如尽管SharePoint是现在非常常见的数据源,但没有内置的SharePoint数据源连接器(更奇怪的是,微软发布了一个不受支持的SharePoint连接作为代码示例,但从未投入必要的努力使其成为核心产品的一部分)。 - Nathan Griffiths

4
我使用过SSIS和Pentaho Kettle,我强烈推荐使用Pentaho Kettle作为您的ETL工具,而不是SSIS。
我的理由: - SSIS的流程是任务到任务。Kettle让你思考数据行如何在系统中流动。Kettle的方法对我来说更直观。 - SSIS文档不完善。这种情况很常见。但是看起来需要大量点击设置变量。非常复杂。Pentaho有一个相当有用的社区论坛。 - 我相信Pentaho可以与多种类型的数据库集成,包括SQL Server。您还可以使用JDBC。此外,我已经将其用于在一侧进行SQL Server和Oracle之间以及在另一侧进行Vertica之间的转换。它在Vertica上有一个可用的批量加载程序。非常好。 - 相对而言,我发现很难让SSIS包在服务器上运行。这不值得我的时间。 - 我发现Pentaho可以很容易地向一个人或一组人发送警告或错误消息。 - 对于需要一些逻辑的事情,Pentaho允许使用JavaScript完成任务。使用我们大多数人都了解的语言,简单易行。

4

我很多年前开始使用MS Reporting Services,非常喜欢它。我没有尝试过Pentaho的报告解决方案,因此无法对其进行评论。我也没有尝试过Analysis Services或Pentaho的替代方案。

最近我需要一个ETL解决方案,熟悉MSSQL和MSRS,所以显然我会评估并可能选择MS Integration Service。但对我来说,MSIS很糟糕。主要是因为它不直观。花了几天时间学习这个工具之后,我决定寻找替代方案,并找到了Pentaho Data Integration,以前称为Kettle。我在几分钟内就将其运行起来,并立即创建了我的第一个转换。它就是有效的。

诚然,我的需求相当简单,但性能非常好,社区似乎非常有帮助。


有一个提议创建一家专门的商业智能问答网站。请跟随、发布和支持以推动这一建设。链接 - bonCodigo

3

我对MS BI Stack没有任何意见,但在最近的Barcamp Orlando上,Pentaho的人们出现了并演示了他们的产品,这是一个非常令人印象深刻的演示。

它是一个开源项目,你可以自己扩展,也可以购买非常好的服务包,让你有很多选择。他们演示了一些为客户完成的付费工作,肯定会让观众惊叹不已。

我还有机会与Pentaho数据仓库方面的开发人员聊天,他非常聪明,非常乐于接受建议,并且毫不犹豫地回答任何问题。

因此,就公司而言,Pentaho的工作以及他们所有开发人员的友好和亲切给我留下了深刻印象。


3

补充几点:

  • 虽然所有Pentaho工具都有Windows版本,但在Windows上安装比较麻烦。Pentaho(尤其是与GUI工具分开的服务器启动和停止)通常在Linux中使用,而不是在Windows店中使用,并且从Windows转向Linux需要很长时间的学习曲线。
  • 当你切换到新工具时,任何工具都有一个学习曲线。当你习惯了遇到问题时总是点击“确定”并刷新元数据后,SSIS并不那么难。Pentaho也可能会出现问题。

工具问题需要从更大的文化问题方面来考虑-什么样的店铺使用开源工具?根据我的经验,虽然微软店似乎更加严谨,但在Microsoft商店中遇到连接字符串问题时可以得到帮助。在Pentaho和Linux商店中,需要更多的自己动手。

顺便说一句,要小心Pentaho销售人员做演示-他们展示的所有内容都比看起来要难得多!:)


0

我最近尝试了Pentaho开源BI。我发现它非常笨拙。它不是很直观,开发时间也更长。

它与Oracle或MS BI解决方案有很大的不同。也许企业版会更好。


0
如果你正在寻找一个强大、成本低廉的替代品来取代大公司,LogiXML 提供了在 .NET 平台上的仪表板和自助报告功能。我们从 2006 年底开始使用它们,当时 Pentaho 刚刚开始,但我已经有一段时间没有再看过它了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接