【发布时间】: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