我们有一个应用程序,它将实时数据插入到数据库中。它每天在线4.5小时。我们在17个表中以秒为单位插入数据。在任何时候,用户可以查询最新的第二数据的任何表,并在历史上的一些记录......从内存中插入和查询数据的最佳实践
处理的饲料和插入使用C#控制台应用程序后...
处理用户请求是通过WCF服务完成...
我们发现插入是我们的瓶颈;大部分时间都在那里。我们投入了大量时间试图调整表和indecies但结果不令人满意
假设我们有足够的内存,最好的做法是将数据插入到内存而不是有数据库。目前我们正在使用每秒更新和插入的数据表 我们的一位同事在提要处理程序和WCF用户请求处理程序之间建议了另一个WCF服务,而不是数据库。 WCF中间层应该是基于TCP的,它将数据保存在自己的内存中。有人可能会说饲料处理程序可能会处理用户请求,而不是在两个进程之间有一个中间层,但我们希望分离事物,所以如果饲料处理程序崩溃,我们仍然能够向用户提供当前记录
我们时间有限,我们希望在短时间内将所有内容都移到内存中。在2个进程中间有一个WCF是不好的事情?我知道这些请求会增加一些开销,但所有这3个进程(feed-handler,内存数据库(WCF),用户请求处理程序(WCF))都将位于同一台计算机上,带宽不会那么大的问题。
请帮助!您正在使用什么样的数据库
确实很好的问题。 – Kangkan 2010-07-05 10:13:46