91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關系型數據庫常見瓶頸和架構的演變

發布時間:2021-09-03 19:00:24 來源:億速云 閱讀:448 作者:chen 欄目:大數據

本篇內容主要講解“關系型數據庫常見瓶頸和架構的演變”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“關系型數據庫常見瓶頸和架構的演變”吧!

一、關系型數據庫常見瓶頸

1、大量并發讀/寫操作,導致單庫出現難以承受的負載壓力;
2、單表存儲數據量過大,導致檢索效率低下;

二、架構演變

演變1、數據庫讀寫分離
由Master負責寫操作,而Slave作為備庫,不開放寫權限,但允許讀權限,主從之前保持數據同步。
如果Master存在TPS(每秒處理事務數,區別于QPS)較高的情況,主從之間同步數據會存在延遲,因此寫入Master之前最好將同一份數據落到緩存中,以免高并發情況下備份庫取不到數據的情況。
演變2、數據庫垂直分庫
所謂垂直分庫就是根據企業的實際業務的垂直劃分,將原本冗余在單庫中的數據表拆分到不同的業務庫中,實現分而治之的數據管理和讀/寫操作。
以實際生產經驗來看,以mysql為例,單表數據超過500萬行時,讀操作就會逐漸成為瓶頸,哪怕是索引重建也無法解決因為數據膨脹而帶來的檢索效率低下的問題,由于寫是順序寫,基本上寫入操作不會成為瓶頸,讀操作會存在上限。
演變3、數據庫的水平分庫與水平分表
水平分表就是將原本冗余在單庫中的單個業務表拆分為n個“邏輯相關”的業務子表(如:  tab_011 tab_013...),不同的業務子表存儲到不同的區間數據,對外形成一個整體,這就是大家所說的分片(Sharding)操作。  如果Master的TPS過高,也可以進行水平分庫,這個實施比較復雜,需要借助專門的分片中間件負責數據的路由工作。
后續存儲達到一定閥值時,只需對現有業務庫和業務表橫向擴容,并遷移數據即可。

三、MySQL Sharding 與MySQL Cluster 區別

MySQL Cluster 是集群模式,擴展了數據庫的并行處理能力,但是使用成本、維護成本巨大
MySQL Sharding  是分布式模式,不僅可以提升數據庫并行能力,還能夠解決單表數據量過大產生的檢索瓶頸。

四、Sharding中間件

1、 明確定義SQL語句中的Shard Key(路由條件),因為路由維度決定數據的落盤的位置,需要定義一套特定的路由算法和規則。
2、常見Sharding中間件:
Cobar:  開源,Proxy架構,支持MySQL數據庫
Mycat:  開源,Proxy架構,支持任意數據庫
TDDL:  部分開源,應用集成架構,支持MySQL和Oracle
Shark(推薦):  開源,應用集成架構,支持MySQL
3、多機SequenceID解決方案
要兼顧生成的ID的唯一性和連續性,依賴一個獨立的外圍單點系統來負責完成則不失為一個可取的方案,如果每生成一次就去數據庫中申請必然降低性能,建議從數據庫中取出一段ID,然后緩存在本地。
4、分布式事務
通過使用消息中間件的方式保證數據最終一致性。

五、數據庫的HA方案

1、基于配置中心實現主從切換,將數據源信息統一配置在ZooKeeper中,主從切換之前我們必須確保Slave已經打開了讀寫權限。
2、基于Keepalived實現主從切換,在主從機器上裝上Keepalived程序,需要修改/etc/keepalive/keepalive.conf配置文件,配置好VIP(Virtual IP Address,虛擬IP地址)。
3、保障主從數據庫切換過程中的數據一致性
半同步復制可以理解為主從之間的強制數據同步,保證主從數據的實時性,只有從節點響應,主節點才會響應請求方已經完成的事務,在流量較大的場景下不建議開啟此功能。
通過冗余表實現數據一致性,冗余數據核對。
消息隊列或者日志比對。

到此,相信大家對“關系型數據庫常見瓶頸和架構的演變”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

常德市| 巢湖市| 南靖县| 房产| 嘉鱼县| 余庆县| 马关县| 鹿泉市| 清河县| 山西省| 临漳县| 元朗区| 泾源县| 茂名市| 巢湖市| 乌恰县| 广汉市| 伊春市| 印江| 永修县| 女性| 和静县| 莎车县| 仲巴县| 西乡县| 盐边县| 盐城市| 宝清县| 夏河县| 阳江市| 阿拉善右旗| 巧家县| 电白县| 兴城市| 静宁县| 莱州市| 新晃| 崇阳县| 涿州市| 晋江市| 嘉义市|