处理超过5亿行的多维数据集而没有性能问题

问题描述 投票:0回答:2

我有一个庞大的数据库,例如:

我的客户每天在名为“Sales”的缓冲事实表中加载5亿条销售数据记录。我必须在追加/更新模式下将此销售处理到我的多维数据集,但即使使用186 GB的RAM也会破坏性能。

我已经尝试在维度表上创建索引,这有点帮助但不是太多。

我的客户说他们希望每6个月增加15%的销售数据......

有一种聪明的方法来加载这些数据而不必等待太多我们的数据?

我正在使用SQL-Server 2016。

谢谢!

sql sql-server tsql cube olap-cube
2个回答
0
投票

您可以调整sql server 2016的列存储索引功能。列存储索引是存储和查询大型数据仓库事实表的标准。与传统的面向行的存储相比,此索引使用基于列的数据存储和查询处理,可以使数据仓库中的查询性能提高10倍。与未压缩的数据大小相比,您还可以获得高达10倍的数据压缩增益。从SQL Server 2016(13.x)开始,列存储索引支持运营分析:能够在事务工作负载上运行高性能实时分析。

You can have get more idea about this from microsoft link


0
投票

如果您使用SAN来存储数据库。您可能希望查看一些像Condusiv V-locity这样的软件,以消除大量发送到数据库引擎和从数据库引擎接收的I / O.

我可能会建议创建一个单独的数据库引擎,将事务日志发送到单独的服务器,并每隔15分钟将事务日志应用到数据库,以便在不使用实时数据的情况下创建分析。此外,对生产数据库的大量写入不会影响您创建复杂查询的能力,该查询会不时地在报表服务器上锁定表或行。

© www.soinside.com 2019 - 2024. All rights reserved.