我们需要存储不同帐户的聚合值,这些帐户按月/年汇总各种数字。每次更新数据时,这些数字都会更新(通常每 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
或德博。订单计数
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 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?
我会坚持使用SQL。但是,如果您担心重建此类数据透视表的时间,请不要这样做,因为您不必构建具有唯一"键"的表。
使用键 + 处理日期时间构建它,并将其附加到主透视。因此,在创建增量期间,它将受到您的交易时间戳(开始和结束)的限制。应该有很多臃肿。如果有,您可以在周末作业中折叠流程日期。
设置作业以运行将数据插入表中的存储过程。
存储帐户,年,月,值等数据
使用这些表的视图报告多个聚合。
一定要坚持使用SQL。没有理由为如此简单的任务增加技术开销。