亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MYSQL數據庫數據拆分之分庫分表總結

2024-07-24 13:10:04
字體:
來源:轉載
供稿:網友

數據存儲演進思路一:單庫單表

單庫單表是最常見的數據庫設計,例如,有一張用戶(user)表放在數據庫db中,所有的用戶都可以在db庫中的user表中查到。

數據存儲演進思路二:單庫多表

隨著用戶數量的增加,user表的數據量會越來越大,當數據量達到一定程度的時候對user表的查詢會漸漸的變慢,從而影響整個DB的性能。如果使用mysql, 還有一個更嚴重的問題是,當需要添加一列的時候,mysql會鎖表,期間所有的讀寫操作只能等待。

可以通過某種方式將user進行水平的切分,產生兩個表結構完全一樣的user_0000,user_0001等表,user_0000 + user_0001 + …的數據剛好是一份完整的數據。

數據存儲演進思路三:多庫多表

         隨著數據量增加也許單臺DB的存儲空間不夠,隨著查詢量的增加單臺數據庫服務器已經沒辦法支撐。這個時候可以再對數據庫進行水平區分。

Mysql數據庫分庫分表規則

         設計表的時候需要確定此表按照什么樣的規則進行分庫分表。例如,當有新用戶時,程序得確定將此用戶信息添加到哪個表中;同理,當登錄的時候我們得通過用戶的賬號找到數據庫中對應的記錄,所有的這些都需要按照某一規則進行。
路由

         通過分庫分表規則查找到對應的表和庫的過程。如分庫分表的規則是user_id mod 4的方式,當用戶新注冊了一個賬號,賬號id的123,我們可以通過id mod 4的方式確定此賬號應該保存到User_0003表中。當用戶123登錄的時候,我們通過123 mod 4后確定記錄在User_0003中。
 

下面是分庫分表產生的問題,及注意事項

1.   分庫分表維度的問題

假如用戶購買了商品,需要將交易記錄保存取來,如果按照用戶的緯度分表,則每個用戶的交易記錄都保存在同一表中,所以很快很方便的查找到某用戶的購買情況,但是某商品被購買的情況則很有可能分布在多張表中,查找起來比較麻煩。反之,按照商品維度分表,可以很方便的查找到此商品的購買情況,但要查找到買人的交易記錄比較麻煩。

所以常見的解決方式有:

     a.通過掃表的方式解決,此方法基本不可能,效率太低了。
     b.記錄兩份數據,一份按照用戶緯度分表,一份按照商品維度分表。
     c.通過搜索引擎解決,但如果實時性要求很高,又得關系到實時搜索。

2.   聯合查詢的問題

聯合查詢基本不可能,因為關聯的表有可能不在同一數據庫中。

3.   避免跨庫事務

避免在一個事務中修改db0中的表的時候同時修改db1中的表,一個是操作起來更復雜,效率也會有一定影響。

4.   盡量把同一組數據放到同一DB服務器上

例如將賣家a的商品和交易信息都放到db0中,當db1掛了的時候,賣家a相關的東西可以正常使用。也就是說避免數據庫中的數據依賴另一數據庫中的數據。

一主多備

在實際的應用中,絕大部分情況都是讀遠大于寫。Mysql提供了讀寫分離的機制,所有的寫操作都必須對應到Master,讀操作可以在Master和Slave機器上進行,Slave與Master的結構完全一樣,一個Master可以有多個Slave,甚至Slave下還可以掛Slave,通過此方式可以有效的提高DB集群的QPS.                                                     

所有的寫操作都是先在Master上操作,然后同步更新到Slave上,所以從Master同步到Slave機器有一定的延遲,當系統很繁忙的時候,延遲問題會更加嚴重,Slave機器數量的增加也會使這個問題更加嚴重。

此外,可以看出Master是集群的瓶頸,當寫操作過多,會嚴重影響到Master的穩定性,如果Master掛掉,整個集群都將不能正常工作。

所以,1. 當讀壓力很大的時候,可以考慮添加Slave機器的分式解決,但是當Slave機器達到一定的數量就得考慮分庫了。 2. 當寫壓力很大的時候,就必須得進行分庫操作。

MySQL使用為什么要分庫分表?

可以用說用到MySQL的地方,只要數據量一大, 馬上就會遇到一個問題,要分庫分表.
這里引用一個問題為什么要分庫分表呢?MySQL處理不了大的表嗎?
其實是可以處理的大表的.我所經歷的項目中單表物理上文件大小在80G多,單表記錄數在5億以上,而且這個表
屬于一個非常核用的表:朋友關系表.

但這種方式可以說不是一個最佳方式. 因為面臨文件系統如Ext3文件系統對大于大文件處理上也有許多問題.
這個層面可以用xfs文件系統進行替換.但MySQL單表太大后有一個問題是不好解決: 表結構調整相關的操作基
本不在可能.所以大項在使用中都會面監著分庫分表的應用.

從Innodb本身來講數據文件的Btree上只有兩個鎖, 葉子節點鎖和子節點鎖,可以想而知道,當發生頁拆分或是添加
新葉時都會造成表里不能寫入數據.
所以分庫分表還就是一個比較好的選擇了.

那么分庫分表多少合適呢?
經測試在單表1000萬條記錄一下,寫入讀取性能是比較好的. 這樣在留點buffer,那么單表全是數據字型的保持在
800萬條記錄以下, 有字符型的單表保持在500萬以下.

如果按 100庫100表來規劃,如用戶業務:
500萬*100*100 = 50000000萬 = 5000億記錄.

心里有一個數了,按業務做規劃還是比較容易的.


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩视频在线| 亚洲欧美在线播放| 精品国产一区二区三区久久狼5月| 久久五月情影视| 中文字幕免费国产精品| 久久精品99无色码中文字幕| 成人天堂噜噜噜| 中日韩美女免费视频网站在线观看| 九九久久久久久久久激情| 91精品久久久久久久| 亚洲精品国产拍免费91在线| 26uuu另类亚洲欧美日本一| 久久视频中文字幕| 日韩成人xxxx| 欧美日韩中国免费专区在线看| 青草青草久热精品视频在线网站| 国产亚洲精品91在线| 国产+成+人+亚洲欧洲| 浅井舞香一区二区| 久久手机免费视频| 国产精品91久久久久久| 欧美高清视频在线| 中文一区二区视频| 精品国内亚洲在观看18黄| 最近2019年日本中文免费字幕| 91免费高清视频| 91国内在线视频| 一区二区在线免费视频| 九九热精品视频在线播放| 亚洲福利视频专区| 亚洲在线观看视频| 成人乱色短篇合集| 亚洲变态欧美另类捆绑| 日韩日本欧美亚洲| 久久视频国产精品免费视频在线| 伊人亚洲福利一区二区三区| 亚洲精品动漫久久久久| 欧美性xxxx极品hd欧美风情| 亚洲品质视频自拍网| 欧美第一黄色网| 国产欧美日韩中文字幕| 亚洲欧美日韩精品久久| 美日韩精品免费视频| 日本一区二区三区四区视频| 国产午夜精品视频| 日本亚洲精品在线观看| 亚洲欧美在线x视频| 日韩视频在线免费| 亚洲国产又黄又爽女人高潮的| 国内精品久久久久久久| 精品国产依人香蕉在线精品| 国产一区二区三区毛片| 亚洲va国产va天堂va久久| 精品性高朝久久久久久久| 欧美日韩人人澡狠狠躁视频| 久久夜精品va视频免费观看| 美乳少妇欧美精品| 亚洲成人久久网| 亚洲精品天天看| 日韩美女免费观看| 国产精品自在线| 日韩成人在线视频网站| 色综合男人天堂| 欧美高清激情视频| 高清亚洲成在人网站天堂| 国产在线98福利播放视频| 日韩大片免费观看视频播放| 久久精品电影一区二区| 热99在线视频| 久久久噜久噜久久综合| 91美女片黄在线观看游戏| www.国产一区| 2020久久国产精品| 国产精品视频999| 日韩视频在线免费观看| 久久久久久久91| 91免费综合在线| 欧美黑人一区二区三区| 97超碰色婷婷| 懂色av中文一区二区三区天美| 亚洲视频在线观看视频| 亚洲第一视频网| 欧美最猛性xxxxx亚洲精品| 九九九久久国产免费| 色午夜这里只有精品| 不卡av电影在线观看| 不卡av在线网站| 午夜精品久久久久久久白皮肤| 久久久久久网站| 久久国产精品亚洲| 亚洲精品白浆高清久久久久久| 欧美高清视频在线| 日本a级片电影一区二区| 有码中文亚洲精品| 国产精品美女久久| 亚洲美女又黄又爽在线观看| 狠狠久久亚洲欧美专区| 亚洲精品日韩丝袜精品| 91社影院在线观看| 国产精品入口福利| 91av免费观看91av精品在线| 韩国三级电影久久久久久| 亚洲精品电影网在线观看| 日韩三级成人av网| 欧美性猛交xxxxx免费看| 在线精品播放av| 欧美日韩午夜视频在线观看| 国产精品白嫩初高中害羞小美女| 中文字幕免费精品一区| 日韩中文在线中文网三级| 亚洲综合中文字幕在线| 日韩av成人在线观看| 国产精品美女久久久久久免费| 国产精品视频在线播放| 伊人久久久久久久久久| 久久久久久香蕉网| 亚洲免费av网址| 蜜臀久久99精品久久久无需会员| 亚洲精品资源美女情侣酒店| 欧美最顶级的aⅴ艳星| 国产成人小视频在线观看| 国产成人在线亚洲欧美| 日本在线观看天堂男亚洲| 国产精品专区h在线观看| 日韩成人中文电影| 91精品视频在线免费观看| 久久久久久中文| 中文字幕日韩av| 成人免费黄色网| 日韩专区在线播放| 国产99久久精品一区二区 夜夜躁日日躁| 97在线看免费观看视频在线观看| 国产精品天天狠天天看| 欧美限制级电影在线观看| 精品久久久久人成| 日韩一区二区欧美| 最近2019年日本中文免费字幕| 姬川优奈aav一区二区| 26uuu亚洲伊人春色| 亚洲free性xxxx护士hd| 91人成网站www| 日韩欧美国产免费播放| 大荫蒂欧美视频另类xxxx| 日本成人激情视频| 午夜精品久久17c| 国产精品电影网站| 国产91在线视频| 91精品视频在线播放| 久久亚洲国产成人| 成人精品aaaa网站| 精品久久久视频| 色综合色综合网色综合| 国产精品高潮粉嫩av| 国产成人av在线播放| 成人福利网站在线观看11| 美女国内精品自产拍在线播放| 热re99久久精品国产66热| 久色乳综合思思在线视频| 国产亚洲xxx| 91精品视频在线看| 疯狂欧美牲乱大交777| 国产精品一区二区三区免费视频| 日本国产欧美一区二区三区| 日韩中文字幕欧美|