【发布时间】:2012-03-20 07:00:22
【问题描述】:
这是一个设计,因为我过去没有做过类似的事情,并且是一个很好的挑战。我有一台支持 Oracle、Sql Server 和 Mongodb 的服务器。您可以选择在启动时使用哪一个。本质上,每个服务器都存储 xml 数据包,这些数据包被分解为它们的组件元素。
我需要建立一个报告数据库,为仪表板的报告提供聚合和汇总数据,但问题(机会)是 Mongodb。我可以轻松地使用 sql server 报告服务来构建 reportdb,与 Oracle 相同,或者我可以使用 Crystal 之类的东西来对抗两者,甚至创建一个数据库,并在每个表上设置一组触发器,并带有一些 pl/sql 逻辑使用 Oracle 或使用 Sql 的 T-Sql 来动态创建报告数据库。这将负责报告。但他们是mongodb。很少或没有报告基础设施,当然不在 BIRT 或 jaspersoft (Java) 之外。我正在使用 C#。
我正在考虑使用 c# 服务器组件,它拦截传入的 xml 数据包,并提取适当的元素字段数据,并将其写入报告数据库,可能类似于 sqlite(可能太小)。如果它在 sql server 或 Oracle 上运行,那么我将使用该数据库实例来支持报告数据库。
在任何数据库上,我实际上只支持最多 6 个月的数据。数据将被分类为 24 小时、1 周、1 个月、3 个月、6 个月,并在压缩和备份数据库上进行渐进式存档。
但这就是它变得朦胧的地方。例如,使用 sqlite 作为报告数据库,使用 mongodb 作为 xml 数据库。举个例子。如果用户想要深入研究,我是否必须提供某种动态更新,以便从 Mongodb 中提取额外的报告信息,或者可以在服务器组件阶段完成,当它被写入 sqlite 时。
或者都是f bol.cks
非常感谢任何想法或想法。 鲍勃。
【问题讨论】:
-
我需要专业人士来看看这个。
-
您是否需要一个可以为主要数据库引擎的所有三个选项都工作和维护的应用程序,还是要选择一个?
标签: c# sql-server-2008 mongodb reporting oracle11g