开源商业智能: 一场平静的革命

  • 作者:
  • 发布于: 十二月 2010



      

        在现有的经济环境下,企业需要审查和精简所有与企业软件相关的费用。 一个直接的结果就是,开源商业智能(BI)软件正在成为新的和现有的商业智能(BI)实施的一个重要的替代方案。 尽管大多数分析研究显示人们可能低估了这个技术演化趋势,但是开源商业智能(BI)软件正在蓬勃地发展。 研究证明,开源商业智能(BI)解决方案已能够补充传统商业智能环境的不足,并与之很好地集成在一起。 开源商业智能(BI)供应商具备十分有竞争力的技术实力,并在节省费用方面有无可争议的优势。

        人们通常认为“开源软件”是“可免费访问源代码”的软件。事实上,开源软件涵盖的范围很广。 开源软件授权(通常又被称为开放版权[copyleft])须遵守开源代码促进会(OSI)定义的规则——该规则规定开源软件不锁定用户或技术,且允许使用者对源代码任意散布。

        使用者可修改开源软件,但修改后的授权条款散布是有条件的(比如:授权条款可能要求以补丁文件而不是与原始代码集成的方式发布修改),其目的是保护作者原著的完整性。 最著名的开源软件包是LAMP解决方案,包括Linux操作系统,Apache超文本传输协议(HTTP)服务器,MySQL数据库管理系统,和PHP、Perl和Python等编程语言。

开源软件和商业智能: 相同的思路

       “开源应用系统”是指使用开源软件技术搭建框架或库的软件系统。 由于开放版权(copyleft)许可不允许转售通过开源软件技术开发的软件,双重许可(dual-license)模式等机制应运而生。在这些机制下,商业软件供应商在交付软件时,既遵循了开源软件的许可声明,同时还可提供须支付附加费用才可获得的商业许可证。 软件供应商还可要求用户支付其他费用,如:支持、培训、咨询和高级功能等。

        在过去的几年中,商业开源软件供应商一直致力于在企业应用系统领域确立长期的合作地位。 2007年2月,开放解决方案联盟(OSA)成立。除了把开源软件供应商团结在一起,该联盟的主要宗旨还有拓展开源应用系统的范畴,以及促进它们之间的互用性。 JasperSoft,一个开发开源商业智能系统的先锋,也是该联盟的创始者之一。 Pentaho,另一个开源商业智能软件供应商,已通过一系列的举措脱颖而出:领导和发起核心项目;实施开源行业标准;以及与数据仓库技术供应商(InfoBrightParAccel等)建立合作伙伴关系等。

      与其他企业软件系统相比,商业智能系统须克服一些十分艰巨的技术问题。 这些技术挑战包括:超大型数据库的设计;多个不同数据源之间的复杂集成;应对过量信息的搜索能力;非常严格的性能和潜伏要求。 即使是开发有专利权的软件解决方案,企业都需要一支经验丰富的专业团队(包括数据库管理员、商业分析师和程序员等),才能实施和支持数据仓库和商业智能环境。

      从这个角度说,开源商业智能软件已领先一步: 它鼓励软件供应商根据其需要使用和修改软件,并与开源社区中的其他人共享进步。 开源和商业智能技术的交汇似乎再自然不过了。 当您采用开源商业智能系统时,别忘了一个重要的因素。那就是,虽然该解决方案的隐含技术通常是开源软件本身,但是为了谨慎起见,您最好还是确定您的技术团队具备必要的技能。 例如,大多数开源商业智能软件基于LAMP解决方案搭建。 为了实施和维护该系统,技术团队须具备使用LAMP解决方案的开发和管理技能。

Pentaho: 一个最好的例子

      开源商业智能(BI)系统可为企业提供成熟的商业智能解决方案。其能力从Pentaho平台在BI数据集成、报告和分析方面的卓越表现可见一斑。

元数据驱动的ETL工具

      Pentaho的商业智能平台支持通用数据仓库元模型(CWM)规范。 Informatica等专利软件商都已实施通用数据仓库元模型(CWM)规范。该规范采用基于XML的元数据交换(XMI)作为交换数据仓库元数据的标准格式。 这就意味着在实施该接口的工具之间迁移映射。 Pentaho的抽取、转换和加载(ETL)系统基于元数据驱动的ETL工具(Kettle)。 Kettle(Kettle ETTL Environment)中的ETTL是数据“抽取、转换、传输和加载”过程的英文首字母缩写。 ETL系统支持: 各种不同的步骤(一个步骤代表数据转换过程中的最小单位;当数据行从来源系统向目标系统传输时,一个步骤包含适用于每个数据行的预定义或自定义逻辑);渐变维度(SCDs);大量数据源的连接器(通过Java数据库连接[JDBC]访问专利数据库,如:Microsoft SQL Server和Oracle 等);本地和远程执行作业和制定进度计划。 JavaScript Script脚本程序和Java技术使开发人员可以在转换过程的任意步骤中添加自定义码。

      现在,企业面临的两个重大挑战是数据容量和潜伏要求。 为了支持大容量数据环境,Pentaho推出了一款可与数据库分区技术共同使用的集群解决方案(该解决方案使用多个节点或计算实体,以实现高性能和可用性);通过使用从属服务器(使用主服务器发送的信息来执行特定任务的一组服务器)来分散CPU和输入/输出(I/O)负载,从而改善系统性能。 但是,该解决方案不支持基于数据集成的变化数据捕获(CDC)技术。当数据源发生变化时,数据集成功能会触发数据传送。 通过读取交易日志来识别数据源的变化;开源数据库是个例外,因为交易日志读写器通常不是开源软件。

      虽然Pentaho的数据集成技术仍不具备数据质量和数据清洗功能,但是程序剖析服务器(一种专为执行剖析任务的服务器,用以帮助用户发现数据偏差;详情请参见提取数据精华:商业智能系统中数据质量的重要性)技术的提高似乎已迫在眉睫。 在这种情况下,当软件供应商无法支持某些功能时,用户可转向互补性开源软件解决方案。例如,eobjects.org的DataCleaner应用系统可支持数据剖析和数据质量监控。 这也显示了开源软件的一个重要的优势: 开源软件的“民治、民享”特性使共享软件创新更容易、更迅速、更流畅。

Mondrian分析工具

      企业商业活动的结构通常是多维度的。  这是因为人们一般从可量化或可衡量的(如:销售、库存或企业捐款等)以及可定性的(如:学生、客户或产品等)属性角度来定义企业运营。 每个商业活动都是多个可量化和可定性因素的结合体。 尽管企业可通过关系格式保存最新的活动信息,但是他们仍需要一个反应灵敏、多维度的企业系统环境,以便能够全面分析和了解企业的运营情况。

      从研发角度上说,联机分析处理(OLAP)技术仍处于发展期。这是一种跨多个维度存储和查询大容量数据的技术。 现在,多维度OLAP技术(MOLAP)与基于关系型数据库的ROLAP技术(relational OLAP)之间的差别仍可引发业界人士激烈的争论。 不论选择哪种技术,这完全取决于数据、潜在因素和资源(硬件和软件资源)的种类。 例如,基于关系型数据库的ROLAP技术(relational OLAP)适用于维度密集型或潜在因素比率很低(近实时)的环境。 而多维度OLAP技术(MOLAP)则更适用于大型数据聚集集合和更宽松的潜伏要求环境。 不论如何,秉持完美的设计理念是开发成功的OLAP解决方案的基础。

      Pentaho应对多维度分析的解决方案是被称之为Mondrian的ROLAP引擎。 OLAP的核心技术是如何以及在何处存储数据聚集。 在ROLAP环境(如:Mondrian)中,数据和数据聚集被存储在关系型数据库中。 预先计算的数据聚集被存储于基础事实表(fact tables)及其相关表中。 当进行查询时,这种聚集结构十分重要。它可避免计算成千上万个事实记录。 分析引擎不包括上述这些表;用户需通过ETL过程来搭建表。 Pentaho的Aggregation Designer工具可用于生成和维护聚集表。 Mondrian分析工具还包括一个内存聚集缓存。当第一次访问多维结果集时,该缓存会保存该结果集,以便在以后的计算中使用。 扩展CacheContrel应用程序接口(API)可用于Mondrian缓存的细粒度访问。

      企业可从多个方法中选择一种,以作为多维分析的客户端工具。 一个名为JPivot的互补性开源项目可提供数据透视表客户端工具。该开源项目基于JSP技术,用于浏览通过Mondrian工具生成的立方体。 Mondrian工具还可提供多维表达式(MDX)接口(注:这与微软的MDX实施不完全一样)。 程序开发人员可使用olap4j(OLAP for Java)来编写企业内部的应用系统。olap4j是由多个开源软件公司(Pentaho,JasperSoft,和LucidEra等)共同开发的开源规范。

报告,仪表盘,以及相关技术

      所有的BI环境都需要提供一整套工具,以创建、发布、散布和调度富报告内容。 Pentaho的Classic Engine基于带状报告设计。 带状版面设计把报告分成多个部分,报告引擎横贯数据,并把数据分配到预定义的部分中。 在经典的带状引擎中,发送给报告的数据决定报告的版面。 多个报告工具都已经并将继续使用这个模式。 与此同时,一个相对较新的模式越来越受欢迎。该模式不基于驱动报告处理的数据,而是基于输出。 尚在开发中的Flow Engine通过使用文档对象模型(DOM)来进行报告定义,并通过合并定义和输入数据来生成最终输出。 Report Designer可支持多种数据源和不同的格式化选项,并可生成不同输出格式(HTML,PDF,Excel等)、多语言的报告。 Pentaho报告套件中还包括基于异步JavaScript和XML和瘦客户端的即席报告工具。 可使用元数据层来设计即席工具中的报告;除了元数据层,报告设计器还可直接与数据源关联。 
 
      Pentaho的仪表盘可用于定义对于企业来说至关重要的指标,以及通过各种用户界面特性来部署这些指标: 电子表格式网格,与Google地图集成,交叉标签报告,钻取报告或多维分析。 还可通过框架或AJAX组件与其他Web内容集成。 由Pentaho社区资深成员开发的社区仪表盘框架(CDF)使新仪表盘的开发更容易。在无需编制接口程序的情况下,该框架通过十分简单明了的语法即可定义不同的组件。 一些在线讨论显示,Pentaho有可能把CDF技术整合到它的产品中。

结论

      虽然开源商业智能(BI)解决方案还不具备传统BI解决方案的资历或成熟度,但是随着它的信用度和行业关联性的增加,开源商业智能(BI)解决方案的发展正在获得里程碑式的进步。 在几乎没有风险的情况下,企业就可通过搭建应用系统蓝本来判断开源商业智能(BI)解决方案是否适合他们。 企业还可把开源商业智能(BI)解决方案的组件与现有的BI系统集成在一起,以获得更多的功能。 从技术和产品路线图角度说,开源商业智能(BI)解决方案的透明度很高。 开源软件供应商之间正在不断地搭建协作和合作伙伴关系。 精诚合作的用户社区使跨企业和平台的经验共享成为可能。

      如果您希望了解更多关于开源软件的信息,请访问http://foss.technologyevaluation.com/zh/

      如果您希望了解更多关于商业智能解决方案的信息,请访问http://bi.technologyevaluation.com/zh/

英文原文,请参见 Open Source Business Intelligence: The Quiet Evolution 。

关于TEC    

加拿大技术评估中心有限公司(TEC)是研究和决策支持技术领域的顶尖供应商。它致力于协助企业评估和选择最符合其特定需求的软件解决方案。它的使命是减少与软件选型相关的成本、风险和时间。当全球的决策人希望更快、更好和更经济地制定决策时,他们向TEC寻求帮助。
        
了解更多信息,请访问:http://cn.technologyevaluation.com/

 
comments powered by Disqus