数据建模:处理大量数据的技术?

时间:2011-04-06 20:06:34

标签: asp.net sql-server vb.net database-design data-modeling

所以我有一个相对较小的网站,其中包含越来越多的数据 - 增长最快的表格是网页浏览量,因为我们自己进行所有分析。该网站使用VB.Net,SQL Server 2008和jQuery。我仅限于.net 2.5。

我目前使用带有属性列表的对象处理所有数据和验证。每个属性都是特定的数据类型,并且在为其赋予新值时具有验证功能。如果数据未验证,则它甚至不会更新数据库并将错误反馈给用户。目前我有“Manager”类和“Item”类 - 项目由特定的Manager类管理,例如用户由UserManager管理,因此要获得所有用户,我只需要调用UserManager.Items。这些Manager类存储在缓存中并根据需要创建 - 但是一旦引用了Manager类,它就会在其中创建所有项。随着公司发展迅速,现在变得相当缓慢。加载第一页(首次向数据发出大多数请求的页面)需要2到3秒钟,但这次我不满意。之后几乎是即时的。

现在我看到它的方式我有3个选项来加速网站:

  • 保持原样,但尝试通过其他技术提高效率;
  • 更改为在每个页面加载时创建所有这些对象,希望它只是如此慢,因为我使用缓存来存储相当数量的数据(至少大约10 MB左右);
  • 忘记使用面向对象的技术,只使用直接的SQL查询并循环记录。

有没有人对我应该使用哪种方法有任何建议?如果我错过了任何选项,请建议他们。

谢谢。

此致

理查德

1 个答案:

答案 0 :(得分:1)

我认为对于您的网站,您无法使用“直接访问属性”这一概念:UserManager.Items。

如果你的数据量越来越大,你的经理类应该有一个“间接访问属性”,那就是像UserManager.GetItems()这样的方法。因为.NET在您创建UserManager类的新实例时计算Proprieties(UserManager.Items)...

恢复:删除UserManager.Items属性并创建方法UserManager.GetItems()。