MySql海量資料儲存和優化

2021-10-20 11:31:18 字數 1637 閱讀 2258

mysql 是最流行的關係型資料庫軟體之一,由於其體積小、速度快、開源免費、簡單易用、維護成本低等,在集群架構中易於擴充套件、高可用,因此深受開發者和企業的歡迎。

1 mysql體系架構

2 mysql執行機制

3 mysql儲存引擎

儲存引擎在mysql的體系架構中位於第三層,負責mysql中的資料的儲存和提取,是與檔案打交道的子系統,它是根據mysql提供的檔案訪問層抽象介面定製的一種檔案訪問機制,這種機制就叫作儲存引擎。

使用show engines命令,就可以檢視當前資料庫支援的引擎資訊。

在5.5版本之前預設採用myisam儲存引擎,從5.5開始採用innodb儲存引擎。

適用場景

myisam

innodb

總結

兩種引擎該如何選擇?

4 mysql集群架構

在集群架構設計時,主要遵從下面三個維度:

4.1 可用性設計

實現高可用的方案有以下幾種架構模式:

4.2 擴充套件性設計

擴充套件性主要圍繞著讀操作擴充套件和寫操作擴充套件展開。

4.3 一致性設計

一致性主要考慮集群中各資料庫資料同步以及同步延遲問題。可以採用的方案如下:

5 適用場景

5.1 主從模式

mysql主從模式是指資料可以從乙個mysql資料庫伺服器主節點複製到乙個或多個從節點。mysql 預設採用非同步複製方式,這樣從節點不用一直訪問主伺服器來更新自己的資料,從節點可以複製主資料庫中的所有資料庫,或者特定的資料庫,或者特定的表。

主從部署必要條件:

5.2 雙主模式

很多企業剛開始都是使用mysql主從模式,一主多從、讀寫分離等。但是單主如果發生單點故障,從庫切換成主庫還需要作改動。因此,如果是雙主或者多主,就會增加mysql入口,提公升了主庫的可用性。因此隨著業務的發展,資料庫架構可以由主從模式演變為雙主模式。雙主模式是指兩台伺服器互為主從,任何一台伺服器資料變更,都會通過複製應用到另外一方的資料庫中。

使用雙主雙寫還是雙主單寫?

建議大家使用雙主單寫,因為雙主雙寫存在以下問題:

6 mysql效能優化

資料庫優化維度有四個:硬體公升級、系統配置、表結構設計、sql語句及索引。

優化成本:硬體公升級》系統配置》表結構設計》sql語句及索引。

優化效果:硬體公升級《系統配置《表結構設計6.1 系統配置優化

6.2 表結構設計優化

6.3 sql語句及索引優化

具體可檢視阿里的sql規範等。

Mysql海量資料優化

1.選擇合適的儲存引擎 兩個儲存引擎 myisam 和 innodb myisam合適count 但寫效能不好 innodb合適併發讀寫 事物 2.優化字段資料 3.為字段建立索引 4.避免使用select 5.使用 enum 而不是 varchar 6.盡可能的使用 not null 7.固定長度...

海量資料儲存之新儲存裝置效能優化

本文主要講述nosql在flash裝置上的可以選擇的其中一種優化策略,並粗略提了一下ssd裝置的特性。對flash裝置的效能優化,微軟曾經做過乙份 但是裡面很多東西比較侷限 比如 中將ssd作為了寫入的buffer,而眾所周知,寫效能不會是任何一款nosql的瓶頸 比如ssd的索引採用了hash的資...

MySQL優化之海量資料批量插入

問 為何對同乙個表的插入多執行緒會比單執行緒快?同一時間對乙個表的寫操作不應該是獨佔的嗎?答 在資料裡做插入操作的時候,整體時間的分配是這樣的 鏈結耗時 30 傳送query到伺服器 20 解析query 20 插入操作 10 詞條數目 插入index 10 index的數目 關閉鏈結 10 從這裡...