我們有一個應用程序,它將實時數據插入到數據庫中。它每天在線4.5小時。我們在17個表中以秒爲單位插入數據。在任何時候,用戶可以查詢最新的第二數據的任何表,並在歷史上的一些記錄......從內存中插入和查詢數據的最佳實踐
處理的飼料和插入使用C#控制檯應用程序後...
處理用戶請求是通過WCF服務完成...
我們發現插入是我們的瓶頸;大部分時間都在那裏。我們投入了大量時間試圖調整表和indecies但結果不令人滿意
假設我們有足夠的內存,最好的做法是將數據插入到內存而不是有數據庫。目前我們正在使用每秒更新和插入的數據表 我們的一位同事在提要處理程序和WCF用戶請求處理程序之間建議了另一個WCF服務,而不是數據庫。 WCF中間層應該是基於TCP的,它將數據保存在自己的內存中。有人可能會說飼料處理程序可能會處理用戶請求,而不是在兩個進程之間有一箇中間層,但我們希望分離事物,所以如果飼料處理程序崩潰,我們仍然能夠向用戶提供當前記錄
我們時間有限,我們希望在短時間內將所有內容都移到內存中。在2個進程中間有一個WCF是不好的事情?我知道這些請求會增加一些開銷,但所有這3個進程(feed-handler,內存數據庫(WCF),用戶請求處理程序(WCF))都將位於同一臺計算機上,帶寬不會那麼大的問題。
請幫助!您正在使用什麼樣的數據庫
確實很好的問題。 – Kangkan 2010-07-05 10:13:46