MySQL(架構) 先導篇

2021-09-05 12:23:15 字數 901 閱讀 7764

評價網際網路產品,通常會有一項重要指標,那就是使用者量,隨著物聯網的發展,越來越多的資訊被記錄到網路中。

這對資料庫的效能就有了更高的要求,不論哪種資料庫,都不可能無限量的儲存資料,對於 mysql 來說,一張表的資料量最好控制在 3000 萬以下。如果資料量達到了億級,增刪改查都會變得很慢。如果說 3000 萬到 5000 萬時,效能是緩慢降低,那麼 5000 萬上公升到 8000 萬時,效能就會接近垂直的下降。

在選擇 mysql 架構時,通常要考慮以下三個問題:

主從庫之間的資料同步問題,容易造成資料丟失。

集群中的負載均衡問題。

當出現災難時,恢復正常執行的延遲問題。

實際上,沒有能同時解決這三個問題的架構,我們只能根據業務需求來選擇。

主從mha

pxckeepalived + lvs

適用業務

高併發、讀寫分離

高併發、讀寫分離、自動故障轉移

高併發、讀寫分離、自動新增節點、自動故障轉移、強一致性要求

高併發、讀寫分離、自動故障轉移

部署方式

mysql 原生高可用方式

不影響線上業務

重新安裝

不影響線上業務

多點寫入

不支援不支援

支援不支援

一致性可能丟資料

可能丟資料

強一致性、不丟失資料

可能丟資料

切換時間

手動0~30 秒

0 秒1~5 秒

維護難度

繁瑣自動

自動自動

增減節點

手動手動

自動手動

效能影響無無

不適合大事務無缺點

需要人工維護

存在誤判的可能

大事務支援差

可能出現腦裂

入門MySQL 架構篇

前言 上篇文章我們介紹了入門mysql的基本概念,看完上篇文章,相信你應該了解mysql的前世今生了吧。本篇文章將帶你從架構體系來學習mysql。我認為學習mysql架構體系應該是入門階段必須的,雖然可能看不太明白,暫時也用不到,但是我們心中要有這些概念,了解結構體系對於後續的學習是很有幫助的。my...

mysql架構篇之多例項

概念了解 什麼是多例項?在一台物理主機上允許多個資料庫服務 為什麼要使用多例項 節約成本 提高硬體利用率 由於此服務於版本有關,此次選擇了mysql 5.7.20版本的資料庫 mysql 5.7.20 55 yum y install libaio 安裝環境包 56useradd mysql 建立乙...

高效能MySQL之架構篇

mysql伺服器邏輯架構圖 1.四個特性 原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 durability 2.隔離級別 1 read uncommitted 未提交讀 事務中的修改,即使沒有提交,對其他事務也都是可見的。事務可以讀取未提交的資料,...