數據的切分(Sharding)根據其切分規則的類型,可以分為兩種切分模式。一種是按照不同的表(或者Schema)來切分到不同的數據庫(主機)之上,這種切可以稱之為數據的垂直(縱向)切分;另外一種則是根據表中的數據的邏輯關系,將同一個表中的
數據按照某種條件拆分到多臺數據庫(主機)上面,這種切分稱之為數據的水平(橫向)切分。
垂直切分
一個數據庫由很多表的構成,每個表對應著不同的業務,垂直切分是指按照業務將表進行分類,分布到不同的數據庫上面,這樣也就將數據或者說壓力分擔到不同的庫上面, 如下圖:

垂直切分的優缺點介紹:
優點:
拆分后業務清晰,拆分規則明確。
系統之間整合或擴展容易。
數據維護簡單。
缺點:
部分業務表無法join,只能通過接口方式解決,提高了系統復雜度。
受每種業務不同的限制存在單庫性能瓶頸,不易數據擴展跟性能提高。
事務處理復雜。
由于垂直切分是按照業務的分類將表分散到不同的庫,所以有些業務表會過于龐大,存在單庫讀寫與存儲瓶頸,所以就需要水平
拆分來做解決。
水平切分
相對于垂直拆分,水平拆分不是將表做分類,而是按照某個字段的某種規則來分散到多個庫之中,每個表中包含一部分數據。簡單來說,我們可以將數據的水平切分理解為是按照數據行的切分,就是將表中的某些行切分到一個數據庫,而另外的某些行又切
分到其他的數據庫中,如下圖:

水平切分的優缺點介紹:
優點:
拆分規則抽象好,join操作基本可以數據庫做。
不存在單庫大數據,高并發的性能瓶頸。
應用端改造較少。
提高了系統的穩定性跟負載能力。
缺點:
拆分規則難以抽象。
分片事務一致性難以解決。
數據多次擴展難度跟維護量極大。
跨庫join性能較差。
垂直切分和水平切分共同的特點和缺點有:
引入分布式事務的問題。
跨節點Join的問題。
跨節點合并排序分頁問題。
多數據源管理問題。
當前標題:MySQL垂直切分和水平切分概念和優缺點介紹
分享路徑:http://m.kartarina.com/article38/jecepp.html
成都網站建設公司_創新互聯,為您提供App開發、域名注冊、ChatGPT、商城網站、網站設計、外貿網站建設
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯