我为生产内容管理系统(CMS)的公司提供了不同的出版,电子商务,在线打印等的附加组件。紧随其后。 “报告模块”否则称为 商业智能, ,或bi。

该模块应该能够跟踪项目下载,执行搜索并从中产生各种报告。实际上,并不重要的是,从长远来看,我们可能希望能够推动我们认为需要的一切并从中获得报告,这并不重要。

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

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

  • 免费 /开源 /质量好
  • 我们在其他地方使用Solr/Lucene,所以我们非常了解该域
  • 当我们可以使用传入的数据(XML格式)时,对所索引的内容的总灵活性,将其推开XSLT并将其馈送到Solr
  • 如何显示搜索结果的总灵活性。类似于上面的步骤,我们可以拥有自定义XSLT搜索模板,并以任何格式显示我们认为必要的任何格式的结果
  • 我们的前端开发人员精通XSLT,因此适合其他客户的机制应该相对容易
  • Solr提供实时 /全文 /刻面搜索,这对我们来说是绝对必要的。快速原型(基于Solr,1M记录)能够以55ms的形式提供搜索结果。我们估计的最大记录是行约10亿的行(对于典型的BI应用程序来说,这并不多),如果更糟的是,我们总是可以看Solrcloud,等等。
  • 有一些公司使用Solr(例如,Honeycomb词典)做非常相似的事情

这种方法的缺点:

  • Solr-236可能会或可能不稳定,此外,尚不清楚何时/是否将其作为官方发布的一部分发布
  • 我们可能需要写一些东西来获得一些双重特定功能。这听起来有点像重新发明轮子
  • 最大的问题是,我们不知道将来可能需要什么(例如与某些BI软件集成,导出到Excel等)

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

  • 无需重新发明轮子,(希望)尝试并测试了软件
  • 可以节省我们的时间,我们可以花费解决我们专门研究的问题

缺点:

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

我绝对不是市场上最适当的集成选项的最佳候选人(主要是由于BI领域缺乏知识),但是需要快速做出决定。

是否有人处于类似情况下,可以就选择#2的可能的优点/缺点建议采取哪种途径,甚至更好?这里最大的问题是我不知道我不知道什么;)

有帮助吗?

解决方案

我花了一些时间和 QlikViewwabit, ,并且必须说,我很失望。

我期望整个BI行业实际上都有一些科学,但据我发现,这只是一个流行语。 这篇MSDN文章 实际上是开眼界。 BI的整个业务包括从良好的模式中获取数据(他们称之为 OLTP),将其放入较不正常的模式中(奥拉普, 雪花- 或者 星形型)并为您想要的各个方面创建索引(行业术语是 数据立方体)。其余的只是一些脚本来获取漂亮的图形。

好的,我知道我在这里过分简化的事情。我知道我可能错过了许多不同的方面(不错的报告?出口到Excel?预测吗?),但是从计算机科学的角度来看,我根本看不到此处数据库索引以外的任何内容。

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

说到这两个候选人(Wabit和Qlikview) - 第一个是不成熟的(当试图踏出演示中建议的内容时,我有数十个例外),而另一个仅在窗户下工作(但不是很好,但是不是很好,但是我可以忍受),集成可能需要我写一些vbscript(youck!)。我不得不在Qlikview论坛上花几个小时,只是为了获得一个简单的日期控制工作,并且失败了,因为我不支持其网站上可下载的演示项目。不要误会我的意思,它们都是为它们建造的好工具,但是我根本看不到与它们集成的任何意义,因为我不会收获太多。

为了解决Solr的(可说的)不成熟性,我将定义一个抽象的API,以便我可以将所有数据移至一个数据库,该数据库支持全文查询,如果有任何问题。而且,如果更糟的话,如果需要的话,我总是可以在Solr/Lucene上写东西。

其他提示

如果您真的处于不在的情况下 确定你不知道的 我认为最好探索开源工具并在潜入自己的实施之前评估其实用性。很可能使用开源解决方案将有助于您进一步结晶自己的理解和所需的功能。
我以前曾经使用过一个名为的开源解决方案 彭塔霍. 。我认真地觉得我通过学习使用五角管的功能来了解更多。当然,就像大多数开源解决方案一样,彭塔霍(Pentaho)起初似乎有些吓人,但我设法在一个月的时间内得到了很好的控制。我们也与 水壶Etl 工具和 蒙德里安 立方体 - 我认为如今大多数严重的BI工具都在基础上。
早些时候,所有这些组件都是独立的,但是我相信五角洲占所有这些项目的所有权。

但是,一旦您有信心,您需要什么以及您不需要的东西,我建议您在蒙德里安实施之外构建一些自己的基本报告工具。定制复杂的开源工具确实是一个大问题。此外,还有谨慎的许可。我相信Pentaho是GPL,尽管您可能想检查一下。

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

没有这个问题的答案,很难给出真正的建议,但是我的一般建议是 I-NET明确报告 (以前称为I-NET晶体清除)。这是Java工具。它是一种商业工具,但成本较低,如SAP和CO。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top