1

我们需要存储不同帐户的汇总值,这些汇总值在月/年的基础上汇总了各种数字。每次更新数据时都会更新这些数字(通常每 24 小时一次或两次)。

我期望数据是 PIVOT 函数的结果,例如:

Year    Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2011    0   0   0   0   0   0   95  33  34  24  36  52

每个帐户都需要不同的聚合,例如“客户计数”、“订单计数”和“销售价值”,我不确定是否最好向数据添加键或使用单独的表,例如:

Year    Key        Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2011    CntOrders  0   0   0   0   0   0   95  33  34  24  36  52
2011    CntCust    0   0   0   0   0   0   95  33  34  24  36  52
2011    ValOrders  0   0   0   0   0   0   95  33  34  24  36  52

或 dbo.CountOfOrders

Year    Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2011    0   0   0   0   0   0   95  33  34  24  36  52

dbo.ValueOfOrders

Year    Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2011    0   0   0   0   0   0   95  33  34  24  36  52

我已经阅读了许多建议 NoSQL 和 SQL Server 的帖子,所以我不确定我们应该走哪条路或如何决定。

我们目前无法证明专用多维数据集是合理的,但我想知道将值存储在 NoSQL 数据库中是否更好,或者我们是否应该坚持使用 SQL Server?

4

2 回答 2

0

设置作业以运行将数据插入表中的存储过程。

存储帐户、年、月、值等数据

使用这些表的视图来报告多个聚合。

绝对坚持使用 SQL。没有理由为这样一个简单的任务增加技术开销。

于 2012-09-29T14:20:39.553 回答
0

我会坚持使用 SQL。但是,如果您担心重建此类 PIVOT 表的时间,请不要这样做,因为您不一定要构建具有唯一“键”的表。

使用 key + process datetime 构建它,并将其附加到主枢轴。因此,在创建增量期间,它将受您的事务时间戳(开始和结束)的限制。应该有很多膨胀。如果有,您可以在周末作业中折叠处理日期。

于 2012-09-30T16:21:01.357 回答