【问题标题】:Choosing a strategy for BI module为 BI 模块选择策略
【发布时间】:2010-11-30 18:33:53
【问题描述】:

我工作的公司生产一个内容管理系统 (CMS),其中包含用于出版、电子商务、在线打印等的各种附加组件。我们现在正在添加“报告模块”,我需要调查应该遵循哪种策略。 “报告模块”也称为 商业智能,或 BI。

该模块应该能够跟踪项目下载、执行的搜索并从中生成各种报告。实际上,正在搅动什么样的数据并不重要,因为从长远来看,我们可能希望能够推送我们认为需要的任何内容并从中获取报告。

粗略地说,我们有两种选择。

选项 1 是基于 Apache Solr 编写解决方案(具体来说,使用 https://issues.apache.org/jira/browse/SOLR-236)。这种方法的优点:

  • 免费/开源/质量好
  • 我们在其他地方使用 Solr/Lucene,因此我们非常了解该域
  • 在索引内容方面具有完全的灵活性,因为我们可以获取传入数据(XML 格式),通过 XSLT 推送并将其提供给 Solr
  • 如何显示搜索结果的完全灵活性。与上述步骤类似,我们可以自定义 XSLT 搜索模板,并以我们认为必要的任何格式显示结果
  • 我们的前端开发人员精通 XSLT,因此为不同的客户安装这种机制应该相对容易
  • Solr 提供对我们来说绝对必要的实时/全文/分面搜索。一个快速原型(基于 Solr,1M 记录)能够在 55 毫秒内提供搜索结果。我们估计的最大记录数约为 10 亿行(这对于典型的 BI 应用程序来说并不算多),如果情况变得更糟,我们可以随时查看 SolrCloud 等。
  • 有些公司使用 Solr(例如 Honeycomb Lexicon)做非常相似的事情

这种方法的缺点:

  • SOLR-236 可能稳定也可能不稳定,此外,尚不清楚何时/是否将其作为正式版本的一部分发布
  • 我们可能需要编写一些东西才能使某些特定于 BI 的功能正常工作。这听起来有点像重新发明轮子
  • 最大的问题是我们不知道未来可能需要什么(例如与某些 BI 软件集成、导出到 Excel 等)

选项 2 是与一些免费或商业的 BI 软件集成。到目前为止,我已经查看了 Wabit 并将查看 QlikView,可能还有其他。这种方法的优点:

  • 无需重新发明轮子,软件(希望)已经过尝试和测试
  • 将节省我们用于解决我们擅长的问题的时间

缺点:

  • 由于我们是一家 Java 商店,而且我们的解决方案是跨平台的,因此我们必须消除市场上的许多选项
  • 我不确定 BI 软件的灵活性如何。了解一些 BI 产品是否可以进行灵活的索引、实时/全文搜索、完全可定制的结果等需要时间。
  • 有人告诉我,开源 BI 产品还不够成熟,而商业 BI(SAP 等)成本很高,它们的许可证起价为数万英镑/美元。虽然我不反对商业选择本身,但它会加起来很容易变得太大的整体价格
  • 不确定 BI 处理无模式数据的效果如何

我绝对不是在市场上找到最合适的集成选项的最佳人选(主要是因为缺乏 BI 领域的知识),但是需要尽快做出决定。

有没有人遇到过类似的情况,可以建议采取哪条路线,甚至更好 - 就选项 #2 的可能优缺点提出建议?这里最大的问题是我不知道我不知道什么;)

【问题讨论】:

    标签: reporting solr olap business-intelligence oltp


    【解决方案1】:

    我花了一些时间在玩 QlikViewWabit,不得不说,我很失望。

    我曾期望整个 BI 行业实际上都有一些科学,但据我发现这只是一个流行词。 This MSDN article 实际上是一个大开眼界。 BI 的整个业务包括从规范化的模式(他们称之为 OLTP)中获取数据,并将其放入不太规范化的模式(OLAPsnowflake- star-type)并为您想要的每个方面创建索引(行业术语是 data cube)。剩下的只是一些脚本来获得漂亮的图表。

    好的,我知道我在这里过于简单化了。我知道我可能错过了许多不同的方面(漂亮的报告?导出到 Excel?预测?),但从计算机科学的角度来看,除了数据库索引之外,我根本看不到任何东西。

    有人告诉我,一些 BI 工具支持压缩。 Lucene 也支持这一点。有人告诉我,一些 BI 工具能够将所有索引保存在内存中。为此,有一个 Lucene 缓存。

    说到这两个候选者(Wabit 和 QlikView)——第一个只是不成熟的(我在尝试超出他们演示中建议的内容时遇到了几十个例外)而另一个只能在 Windows 下工作(不是很很好,但我可以忍受)并且集成可能需要我编写一些 VBScript(糟糕!)。我不得不在 QlikView 论坛上花费几个小时,只是为了让一个简单的日期范围控制工作并且失败了,因为我拥有的个人版不支持他们网站上提供的可下载演示项目。不要误会我的意思,它们都是构建它们的好工具,但我根本不认为与它们集成有任何意义,因为我不会获得太多。

    为了解决 Solr 的(有争议的)不成熟问题,我将定义一个抽象 API,以便在出现任何问题时将所有数据移动到支持全文查询的数据库中。如果情况变得更糟,如果需要,我总是可以在 Solr/Lucene 之上编写内容。

    【讨论】:

      【解决方案2】:

      如果您确实处于不确定您不知道什么的场景中,我认为最好先探索一个开源工具并评估其有用性,然后再深入研究您自己的工具执行。使用开源解决方案很可能会帮助您进一步明确自己的理解和所需的功能。
      我以前曾使用名为Pentaho 的开源解决方案工作过。我真的觉得通过学习使用 Pentaho 的功能,我理解了很多。当然,就像使用大多数开源解决方案一样,Pentaho 一开始似乎有点吓人,但我设法在一个月的时间内掌握了它。我们还使用了Kettle ETL 工具和Mondrian 多维数据集——我认为现在大多数严肃的 BI 工具都建立在它们之上。
      早些时候,所有这些组件都是独立的,但我相信 Pentaho 拥有所有这些项目的所有权。

      但是,一旦您对自己需要什么和不需要什么有信心,我建议您在 mondrian 实施的基础上构建一些您自己的基本报告工具。定制一个复杂的开源工具确实是一个大问题。此外,还有一些许可证需要警惕。我相信 Pentaho 是 GPL,尽管您可能想检查一下。

      【讨论】:

        【解决方案3】:

        首先,您应该明确报告应该显示的内容。您需要哪种报告功能?您想要哪种输出格式?您想在浏览器 (HTML) 或 PDF 或交互式查看器 (Java/Flash) 中显示它。数据(数据库、Java 等)在哪里?您需要临时报告还是只需要一些硬编码报告?这只是一些问题。

        没有这个问题的答案很难给出真正的推荐,但我的一般推荐是i-net Clear Reports(以前称为i-net Crystal-Clear)。它是一个 Java 工具。它是一种商业工具,但成本比 SAP 和 co 低。

        【讨论】:

        • 您好,感谢您的回复。我确实有这些问题的答案(我们提出/回答的问题远不止这些),但我的问题的本质是不同的。我更关注“经典”BI 工具如何解决以及解决哪些问题?有哪些算法?它们与 Apache Solr 相比如何(这是最重要的)?一旦你在下面得到了体面的后端,在顶部添加报告(相对)容易。如果您阅读了我的回答,您应该知道我在追求什么。
        猜你喜欢
        • 1970-01-01
        • 2020-03-31
        • 2012-12-28
        • 1970-01-01
        • 1970-01-01
        • 2023-04-04
        • 1970-01-01
        • 2011-04-23
        • 1970-01-01
        相关资源
        最近更新 更多