天天看點

《MySQL DBA修煉之道》——1.8 一些基礎概念

本節書摘來自華章出版社《mysql dba修煉之道》一書中的第1章,第1.8節,作者:陳曉勇,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

為了友善後續閱讀,讓大家對部分概念的了解保持一緻,進而更好地了解書中的内容,這裡有必要先對下面的這些概念進行闡述。

1. mysql server、mysql執行個體、mysql資料庫

mysql資料庫指的是實際存在的實體作業系統檔案的集合,也可以指邏輯資料的集合。為了通路、處理資料,我們需要一個資料庫管理系統,也就是mysql server(也稱為mysql伺服器)。

mysql執行個體指的是mysql程序及其所持有的記憶體結構,我們對資料的操作實際上是通過mysql執行個體來通路實體資料庫檔案的。在實際生産中,可以用一個ip:port組合來表示一個執行個體。如“192.168.7.101:3307”這個mysql執行個體表示在主機上起了一個mysql服務,它的服務端口是3307。如果沒有特别說明,本書中的執行個體一詞就是指mysql

執行個體。

現實語境中,我們一般使用執行個體來描述對于資料庫的操作,對于mysql資料庫、mysql server、mysql執行個體并沒有進行嚴格的區分,沒有特别說明的話,大家可以将它們看作是同等的。

2.可擴充性

可擴充性也稱為伸縮性,指的是系統不斷增長其承載能力的能力。它是能滿足不斷增長的負荷而自身的性能仍然尚可的這樣一種能力。

3.可用性

可用性可以定義為系統保持正常運作時間的百分比,比如一個系統一共運作了100分鐘,有99分鐘是正常運作的,那麼可用性就是99%。

4.單點故障

單點故障是指系統中的某個部分,一旦失敗,将會導緻整個系統無法工作。為了消除單點故障,一般需要增加備援元件或備援系統。比如伺服器的電源備援、網卡備援、磁盤raid陣列,備援的伺服器,備用的資料中心等。如果要設計高可用的服務,單點故障是需要盡量避免的。

5.讀寫分離

由于資料庫隻能接受有限的讀請求。對于讀請求較多的應用,資料庫可能會成為瓶頸,為了增加讀的能力,提高擴充性,是以引入了讀寫分離的技術。比如,利用複制技術配置多個從庫,以承擔更多的讀請求,或者應用程式直接通路讀庫,或者通過一個負載均衡軟體分發讀請求。寫入操作和一些讀操作仍然通路主庫。由于mysql的複制是異步的,是以需要留意複制延時對于讀寫分離的影響。

《MySQL DBA修煉之道》——1.8 一些基礎概念