我们公司正在考虑使用Business Objects进行报告,因为我们的母公司购买了许可证。
情景
如果不了解如何设置Business Objects和Universe,我就看不到在一个站点上运行带有数据的报表而在另一个站点上运行Business Objects会考虑到数据库的大小和数据量必须通过电线查询。
我有两个问题:
更新
我们每3小时运行一次我们的实时数据库备份,因此我们理论上可以将数据库从站点A复制到站点B过夜或更频繁地复制(如果需要),但我仍然不确定通过线路运行报告对性能的影响。
答案 0 :(得分:2)
在Business Objects中,您有三个层(按以下顺序排列 - 从上到下):报表,Universe,连接和数据源(我看到的大多数情况是ODBC驱动程序)。您将数据库连接(SQL,Oracle或任何DBMS连接)定义为站点A(应用程序层)上的ODBC,并使用ODBC将数据库连接到驻留在站点B中的数据库。
可能发生的性能问题与数据库中的数据量无关。它实际上取决于报告中“查询”的数据量。我相信您需要创建一个试用报告,并尝试从您的数据源中获取一些样本全面的大数据作为概念证明。
我们拥有您在我们公司应用的相同架构。我们在站点A中有几个报告,从不同站点/位置的几个数据库中获取数据(但站点A和站点B都在同一网络上)。我们还与MySQL,Oracle和SQL Server等几个DBMS合作。无论我们没有您提到的数据量,但我们在运行报告时看不到对性能的影响。
答案 1 :(得分:1)
此处没有关于业务对象产品的具体知识,但无论使用哪种报告工具,您最好在一夜之间压扁和推送数据集,准备好在第二天进行报告,或者在一天中设置点,如果一次一天是不够的。
允许用户在实时数据集上运行可能复杂且耗时的查询会给实时系统带来很大压力。
我们在国家系统上遇到过这种情况,并通过在SQL Server中运行过夜作业来解决问题,这些作业使数据变得扁平化(基本上不需要连接表)并将其导出到单独的服务器,报告工具将是连接到 - 它基本上是数据仓库。
如果企业坚持要求他们在报告中需要“最新”的数据,那么您需要提出更好的基础设施以支持这一点,并与企业合作,找出它的价值。< / p>
答案 2 :(得分:1)
根据我们的经验,BusinessObjects对数据库的访问与任何其他SQL访问没有区别。 InfoView应用程序甚至会向您显示报告将执行的SQL。当我们怀疑报告的性能时,我们经常复制该SQL并将其粘贴到SQL Server Management Studio中,并完全在BusinessObjects之外对查询进行概要分析。