asp+sqlserver 在海量資料操作的問題與解決思路

來源:互聯網
上載者:User
現有問題:
1, 所有記錄在一張表上。沒有分類
2, 開發時,由於沒有考慮這麼大量的資料。查詢語句放在程式中執行,造成速度過慢
3, 根據關係型資料庫的插入過程原理,每插入一次,建一次索引查詢,那麼,將佔用大量的記憶體與CPU資源,速度也將大大降低。在表中有100條記錄的情況下插入與在10000條記錄的情況下插入,速度與效率是完全不一樣的!
4, 插入與查詢是在同一張表裡。並發處理數可能峰值有1000多。
5, 根據關係型資料庫的查詢原理,如果有人要查詢記錄表,將會是這樣的一個數學運算式
一條記錄 <=1K
總共100,000條記錄,每天2萬的增長速度
如果不知條件,任意查詢,那將會是這樣:
(1K * 100,000)/1024 = 10M
1個人是10M。如果是200個人同時查,那將會是這樣:
200*10M = 2000M (約2G)
這樣大的資料被資料庫中取出來。並下載到本機查看,本來就是很龐大的。
6, 各輸入網點的網速很多還是“貓”上網,速度肯定跟不上。
7,伺服器中還存放著其它的資料等等。
7, 伺服器頻寬只是專線8M,就算伺服器的CPU能計算得過來,資料也送不出去,就被擠塞了!
由於上述問題,出現的情況如下:
1, 網站伺服器硬碟物理燒毀一塊。
2, 網站頻寬被完全佔用,基本難以訪問。
3, 網站頁面速度極其慢,資料轉送效率低。
4, 有些個輸入單位由於網速無法響應他的操作,送出的資料包無法返回,已無法完成記錄輸入。
解決辦法(思路):
1, 伺服器更新。(硬體上)
2, 網路頻寬增加。(硬體上)
3, 把查詢放在資料庫中進行,使用預存程序,但在百兆網速下,預存程序的應用基本與程式查詢沒什麼明顯區別。(軟體上)。
4, 插入記錄時,使用緩衝表,每10分鐘,將緩衝表向主記錄表倒一次資料。這樣可以緩解主記錄表的壓力。讓主記錄表專門應對查詢動作(軟體上)
5, 查詢時,使用文本讀出記錄,因為基於系統底層的指計移動,查詢效率將會提高100倍。但是需要FileObjectSystem組件支援。安全性要考慮。(軟體上)
如果不採取措施,會引起的問題:
資料庫不堪重負,硬碟會再次燒毀。
伺服器CPU一直處在100%滿負荷下運行。
程式系統完全崩潰。
資料無法即時插入,無法即時反應。
無法統計與追蹤。
各網站無法正常運行。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.