数据缓存技术/ Tips / AppFabric

时间:2010-08-10 01:03:45

标签: c# caching data-warehouse appfabric

我们在SQL表中有数百万条记录,我们对该数据运行非常复杂的分析以生成报告。

随着表格的增长和其他记录的增加,计算时间也在增加,用户必须等待很长时间才能加载网页。

我们考虑使用像AppFabric这样的分布式缓存在应用程序加载时将数据加载到内存中,然后在内存中运行我们的报告。这应该会稍微改善响应时间,因为现在数据在内存与磁盘之间。

在我们采取措施并实现这一点之前,我想检查并了解其他人正在做什么,以及在内存中加载数据,缓存等的一些最佳技术和实践。当然,您不仅要加载整个在内存中有数百万条记录的表... ??

我也在研究OLAP /数据仓库,这可能会给我们带来更好的性能而不是缓存。

3 个答案:

答案 0 :(得分:3)

复杂报告的解决方案是预先计算,因此如果您正在查看OLAP,那么您就走在了正确的道路上。

答案 1 :(得分:0)

您是否考虑过对数据库进行分区?我们为最大的数据库执行此操作。

话虽如此,正确使用app fabric cache会大大提高IO大多数应用程序的性能。

答案 2 :(得分:-3)

  

我们在SQL表中有数百万条记录,

糟糕的政策。平面文件更好。

  

我们对该数据运行非常复杂的分析以生成报告。

在某些情况下,您可以更乐意将相关子集加载到SQL中。

  

随着表的增长和添加额外的记录,计算时间也在增加

这是使用数据库太多的结果。少用它。

  

我们考虑使用像AppFabric这样的分布式缓存...

也许。但是,平面文件比RDBMS更快,更具可扩展性。

  

还在调查OLAP /数据仓库

好计划。立即购买Kimball的书。您不需要更多技术。您只需要更好地使用平面文件作为主文件,并将SQL作为用户的即席查询(针对子集)的地方。