天天看點

網站平台架構演變史(五) - 總結

在大環境下的資料庫主要有兩種情況會出現負重過載:

1. 海量資料的實時統計,比如報表統計

2. 資料庫連接配接數不夠用,網站瞬時通路數過大

在這次分享會上有人提出了mysql叢集的概念,其實mysql叢集用的并不多,因為mysql用來做叢集維護成本實在太高了,而且據我了解沒有幾個大項目才用了mysql叢集,正式投入生産環境的幾乎沒有。我們一般用主從複制來做就行了。

考慮到實時統計,如果1億條資料,資料庫要做統計并且計算的話,那麼效率是很低下的,更别說多表關聯了,如果有多個用戶端來檢視報表的話,那麼基本整個資料庫很可能會挂掉,是以,我們都是在大半夜定時來計算的,把計算的結果放入nosql比如mongodb中,統計的日期可以根據具體的需求來定,一般以日為機關,這樣報表的資料量就會很少,而且在查詢nosql的時候效率會十分高。

關于連接配接數的問題其實也是長久以來的問題,當網站達到一定的使用者量,很有可能會發生這樣的情況,那麼這個時候要看程式設計了,比如是否有效的關閉無用連接配接。此外還要加入隊列,讓連接配接等待。

兩天的分享會,把大緻的筆記整理了一些,可能寫的有些淩亂。下階段會講講分布式系統相關的吧。