文章目錄
- 一,需求緣起:
- 二,解決什么問題?
- 三,mysql常見的水平切分方式有哪些?
- 四,什么是mysql的分庫分表?
- 五,什么是mysql的磁區表?
- 六,總結
一,需求緣起:
有個朋友問我磁區表在我們公司的應用,我回答不出來,在我印象中,百度、騰訊都沒有聽說有磁區表相關的應用,業內進行一些技術交流的時候也更多的是自己分庫分表,而不是使用磁區表,于是去網上查了一下,并詢問了大廠的DBA專家朋友們,將自己收到的資訊沉淀下來,分享給大伙,
二,解決什么問題?
回答:當mysql單表的資料庫過大時,資料庫的訪問速度會下降,“資料量大”問題的常見解決方案是“水平切分”,
三,mysql常見的水平切分方式有哪些?
回答:分庫分表,磁區表
四,什么是mysql的分庫分表?
回答:把一個很大的庫(表)的資料分到幾個庫(表)中,每個庫(表)的結構都相同,但他們可能分布在不同的mysql實體,甚至不同的物理機器上,以達到降低單庫(表)資料量,提高訪問性能的目的,
分庫分表往往是業務層實施的,分庫分表后,為了滿足某些特定業務功能,往往需要rd修改代碼,
五,什么是mysql的磁區表?
回答:所有資料還在一個表中,但物理存盤根據一定的規則放在不同的檔案中,這個是mysql支持的功能,業務rd代碼無需改動,
看上去磁區表很帥氣,為什么大部分互聯網還是更多的選擇自己分庫分表來水平擴展咧?
回答:
1)磁區表,磁區鍵設計不太靈活,如果不走磁區鍵,很容易出現全表鎖
2)一旦資料量并發量上來,如果在磁區表實施關聯,就是一個災難
3)自己分庫分表,自己掌控業務場景與訪問模式,可控,磁區表,研發寫了一個sql,都不確定mysql是怎么玩的,不太可控
4)運維的坑,嘿嘿
5)…
六,總結
文章很短,一分鐘搞定,希望大家有識訓,有任何疑問歡迎提出,我不懂的再去問DBA專家大拿,如果大家有磁區表的應用,踩了什么坑,亦可回復,大家一起討論,
埋坑:如何來進行水平切分,分庫分表?如果大伙感興趣,歡迎大伙留言,后續和大家聊更多的資料庫架構問題,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/172906.html
標籤:其他
上一篇:mysql事務隔離級別案例講解
