Mysql的分庫分表及兩種方式

2021-10-09 07:22:11 字數 780 閱讀 8923

隨著業務的發展,單機mysql的效能已經不足以支撐我們的業務發展,傳統的應對方式是讀寫分離,但是讀寫分離方案是針對讀的,對於寫並沒有很好的擴充套件,如果寫壓力很大還是會存在效能瓶頸。

於是在讀寫分離的同時同時採用以下幾種方式擴充套件:

1,採用分庫分表的方式將資料路由拆分到多個資料庫

2,採用newsql

其中對於分庫分表的概念需要做一下了解:

1,分庫是將乙個表拆分後存入不同的資料庫中,每個庫的表名相同、資料不同;

2,分表是指乙個庫中將乙個表拆分為不同的表名,在效果上類似於分割槽。

分庫可以將資料放在不的資料庫中,也可以放在不同的機器上,這樣可以帶來最大效能上的提公升。

對於分庫分表有兩種方式:

1,中介軟體方式

在應用和訪問資料庫之間新增一層中介軟體,原有的資料被拆分到多台伺服器上。根據乙個拆分鍵對資料進行拆分,並且有多種拆分規則,當執行一條查詢語句的時候,中介軟體解析sql語句中的拆分鍵,並根據相應的規則進行運算,判斷應將sql語句傳送到哪個資料庫中。

2,客戶端方式

使用者不再通過中介軟體,而是在應用程式中將拆分邏輯進行封裝。

客戶端方式與中介軟體方式的不同在於:

1,客戶端理論上效率更高一些,因為直接連線資料庫,少了一層網路開銷

2,客戶端限制了應用使用程式語言

3,客戶端的方式面向開發人員,因此運維缺乏透明度,資料排查等任務比較複雜

1,中介軟體方式可以通過部署多個中介軟體做到中介軟體層面的負載均衡、高可用、並且在中介軟體層可以做一些資料高可用功能

2,中介軟體方式與應用解耦,在架構上更清晰。

表的兩種連線方式

內連線 也稱為等值連線 或稱連線,還可以被稱為普通連線或者自然連線 是最早的一種連線方式,內連線是從結果表中刪除與其他被連線表中沒有匹配行的所有無組,所以當匹配條件不滿足時內連線可能會丟失資訊。在where子句中設定的消除笛卡積的條件就是採用了等值判斷的方式進行的。外連線 內連線中只能顯示等值滿足的...

MySQL 兩種登入方式

可以參考我的 mysql 用批處理指令碼bat快速啟動 關閉mysql 或者在計算機的服務那裡開啟,設為手動或自動 即開始選單的mysql5.5 command line client 登入 mysql h主機名 p埠號 u使用者名稱 p密碼 如mysql h localhost p 3306 u ...

MySQL的兩種安裝方式

安裝軟體前,檢查是否已經安裝 rpm qa grep mysql 存在,強制解除安裝 sudo rpm e mysql libs 5.1.71 1.el6.x86 64 nodeps 安裝mysql server sudo rpm ivh mysql community server 5.7.21 ...