【发布时间】:2011-12-31 00:42:02
【问题描述】:
我们是 ASP.NET MVC 框架和 SQL Server 的快乐用户,目前使用的是 LINQ-to-SQL。它通过面向消费者的应用程序很好地满足了我们的需求,该应用程序每月约有 140 万用户和 2+ 百万活跃唯一用户。
我们早就应该开始记录所有用户操作(文章的查看、我们网站上的搜索等),我们正在努力寻找合适的架构来做到这一点。 p>
我们希望归档系统成为自己的实体,而不是存储生产文章和搜索引擎的主要 SQL 集群的一部分。我们希望它成为自己的 SQL 集群,一开始只有一个盒子。
为了简化问题,假设我们只想记录这数百万用户在当月进入我们网站的搜索字词,并且我们希望以尽可能少的周期密集型方式进行。
我的问题: (1) 是否有异步方式将搜索词转储到远程框中? LINQ 是否支持异步?
(2) 您是否建议在 RAM 缓存中构建一个包含 1,000 个(userId、searchTerm、日期)日志项的缓存,然后每隔一段时间将这些日志项刷新到数据库中?我认为这种方法会减少打开/关闭连接。
或者我认为这完全错误?我们希望在易于实施和稳健性之间取得平衡。
【问题讨论】:
-
这个帖子可能有几个很好的解决方案,stackoverflow.com/questions/752456/…
标签: asp.net-mvc sql-server-2008 model-view-controller bigdata