精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

面試總被問分庫分表怎么辦?這些知識點你要懂

數據庫 MySQL
微服務、分布式大行其道的當下,中、高級Java工程師面試題中高并發、大數據量、分庫分表等已經成了面試的高頻詞匯,這些知識不了解面試通過率不會太高。

引言

微服務、分布式大行其道的當下,中、高級Java工程師面試題中高并發、大數據量、分庫分表等已經成了面試的高頻詞匯,這些知識不了解面試通過率不會太高。

你可以不會用,但你不能不知道,就是這么一種現狀。技術名詞大多晦澀難懂,不要死記硬背理解最重要,當你捅破那層窗戶紙,發現其實它也就那么回事。

一、為什么要分庫分表

關系型數據庫以MySQL為例,單機的存儲能力、連接數是有限的,它自身就很容易會成為系統的瓶頸。當單表數據量在百萬以里時,我們還可以通過添加從庫、優化索引提升性能。

一旦數據量朝著千萬以上趨勢增長,再怎么優化數據庫,很多操作性能仍下降嚴重。為了減少數據庫的負擔,提升數據庫響應速度,縮短查詢時間,這時候就需要進行分庫分表。

二、如何分庫分表

分庫分表就是要將大量數據分散到多個數據庫中,使每個數據庫中數據量小響應速度快,以此來提升數據庫整體性能。

核心理念就是對數據進行切分(Sharding),以及切分后如何對數據的快速定位與整合。

針對數據切分類型,大致可以分為:垂直(縱向)切分和水平(橫向)切分兩種。

1、垂直切分

垂直切分又細分為垂直分庫和垂直分表

垂直分庫

垂直分庫是基于業務分類的,和我們常聽到的微服務治理觀念很相似,每一個獨立的服務都擁有自己的數據庫,需要不同業務的數據需接口調用。

而垂直分庫也是按照業務分類進行劃分,每個業務有獨立數據庫,這個比較好理解。

垂直分表

垂直分表是基于數據表的列為依據切分的,是一種大表拆小表的模式。

例如:一個order表有很多字段,把長度較大且訪問不頻繁的字段,拆分出來創建一個單獨的擴展表work_extend進行存儲。

order表:

id workNo price describe
int(12) int(2) int(15) varchar(2000)  
拆分后

order核心表:

id workNo price
int(12) int(2) int(15)  

work_extend表:

id workNo describe
int(12) int(2) varchar(2000)  

數據庫是以行為單位將數據加載到內存中,這樣拆分以后核心表大多是訪問頻率較高的字段,而且字段

長度也都較短,可以加載更多數據到內存中,增加查詢的命中率,減少磁盤IO,以此來提升數據庫性能。

優點:

  •  業務間解耦,不同業務的數據進行獨立的維護、監控、擴展
  •  在高并發場景下,一定程度上緩解了數據庫的壓力

缺點:

  •  提升了開發的復雜度,由于業務的隔離性,很多表無法直接訪問,必須通過接口方式聚合數據,
  •  分布式事務管理難度增加
  •  數據庫還是存在單表數據量過大的問題,并未根本上解決,需要配合水平切分

2、水平切分

前邊說了垂直切分還是會存在單表數據量過大的問題,當我們的應用已經無法在細粒度的垂直切分時,

依舊存在單庫讀寫、存儲性能瓶頸,這時就要配合水平切分一起了。

水平切分將一張大數據量的表,切分成多個表結構相同,而每個表只占原表一部分數據,然后按不同的條件分散到多個數據庫中。

假如一張order表有2000萬數據,水平切分后出來四個表,order_1、order_2、order_3、order_4,每張表數據500萬,以此類推。

order_1表:

id workNo price describe
int(12) int(2) int(15) varchar(200  

order_2表:

id workNo price describe
int(12) int(2) int(15) varchar(200  

order_3表:

id workNo price describe
int(12) int(2) int(15) varchar(200  

order_4表:

id workNo price describe
int(12) int(2) int(15) varchar(200  

水平切分又分有庫內分表和分庫分表

庫內分表

庫內分表雖然將表拆分,但子表都還是在同一個數據庫實例中,只是解決了單一表數據量過大的問題,并沒有將拆分后的表分布到不同機器的庫上,還在競爭同一個物理機的CPU、內存、網絡IO。

分庫分表

分庫分表則是將切分出來的子表,分散到不同的數據庫中,從而使得單個表的數據量變小,達到分布式的效果。

優點:

  •  解決高并發時單庫數據量過大的問題,提升系統穩定性和負載能力
  •  業務系統改造的工作量不是很大

缺點:

  •  跨分片的事務一致性難以保證
  •  跨庫的join關聯查詢性能較差
  •  擴容的難度和維護量較大,(拆分成幾千張子表想想都恐怖)

三、數據該往哪個庫的表存?

分庫分表以后會出現一個問題,一張表會出現在多個數據庫里,到底該往哪個庫的表里存呢?

1、根據取值范圍

按照時間區間或ID區間來切分,舉個栗子:假如我們切分的是用戶表,可以定義每個庫的User表里只存10000條數據,第一個庫userId從1 ~ 9999,第二個庫10000 ~ 20000,第三個庫20001~ 30000……以此類推。

優點:

  •  單表數據量是可控的
  •  水平擴展簡單只需增加節點即可,無需對其他分片的數據進行遷移
  •   能快速定位要查詢的數據在哪個庫

缺點:

  •  由于連續分片可能存在數據熱點,如果按時間字段分片,有些分片存儲最近時間段內的數據,可能會被頻繁的讀寫,而有些分片存儲的歷史數據,則很少被查詢

2、hash取模

hash取模mod(對hash結果取余數 (hash() mod N))的切分方式比較常見,還拿User表舉例,對數據庫從0到N-1進行編號,對User表中userId字段進行取模,得到余數i,i=0存第一個庫,i=1存第二個庫,i=2存第三個庫….以此類推。

這樣同一個用戶的數據都會存在同一個庫里,用userId作為條件查詢就很好定位了

優點:

  •  數據分片相對比較均勻,不易出現某個庫并發訪問的問題

缺點:

  • 但這種算法存在一些問題,當某一臺機器宕機,本應該落在該數據庫的請求就無法得到正確的處理,這時宕掉的實例會被踢出集群,此時算法變成hash(userId) mod N-1,用戶信息可能就不再在同一個庫中。

四、分庫分表后會有哪些坑?

1、事務一致性問題

由于表分布在不同庫中,不可避免會帶來跨庫事務問題。一般可使用"XA協議"和"兩階段提交"處理,但是這種方式性能較差,代碼開發量也比較大。

通常做法是做到最終一致性的方案,往往不苛求系統的實時一致性,只要在允許的時間段內達到最終一致性即可,可采用事務補償的方式。

2、分頁、排序的坑

日常開發中分頁、排序是必備功能,而多庫進行查詢時limit分頁、order by排序,著實讓人比較頭疼。

分頁需按照指定字段進行排序,如果排序字段恰好是分片字段時,通過分片規則就很容易定位到分片的位置;一旦排序字段非分片字段時,就需要先在不同的分片節點中將數據進行排序并返回,然后將不同分片返回的結果集進行匯總和再次排序,最終返回給用戶,過程比較復雜。

3、全局唯一主鍵問題

由于分庫分表后,表中的數據同時存在于多個數據庫,而某個分區數據庫的自增主鍵已經無法滿足全局

唯一,所以此時一個能夠生成全局唯一ID的系統是非常必要的。那么這個全局唯一ID就叫分布式ID。

可以參考我之前寫的這篇文章《一口氣說出 9種 分布式ID生成方式,面試官有點懵了》

五、分庫分表工具?

自己開發分庫分表工具的工作量是巨大的,好在業界已經有了很多比較成熟的分庫分表中間件,我們可

以將更多的時間放在業務實現上

  •  sharding-jdbc(當當)
  •  TSharding(蘑菇街)
  •  Atlas(奇虎360)
  •  Cobar(阿里巴巴)
  •  MyCAT(基于Cobar)
  •  Oceanus(58同城) Vitess(谷歌) 

 

責任編輯:龐桂玉 來源: 數據庫開發
相關推薦

2021-04-13 10:41:25

Redis內存數據庫

2018-01-29 15:23:14

網絡知識點軟件測試

2021-11-03 11:58:44

分布式事務面試

2019-11-25 21:46:12

數據湖云計算數據倉庫

2024-02-26 08:19:00

WebSpring容器

2021-01-26 05:37:08

分庫分表內存

2021-03-17 16:15:55

數據MySQL 架構

2025-04-09 00:00:00

2023-02-15 08:12:19

http超時過濾器

2024-07-25 18:20:03

2021-05-17 06:02:58

Css前端CSS 特效

2019-04-24 16:40:18

Redis數據庫

2025-04-01 08:45:00

2010-08-18 10:52:46

Linux筆試

2019-09-09 08:28:48

互聯網數據磁盤

2021-10-27 20:54:24

分庫分表高并發

2023-10-13 08:52:19

遠程Bean類型

2023-03-02 11:52:00

自定義自動配置

2021-04-27 22:27:19

手機安卓蘋果

2015-10-22 09:09:59

BAT投資VC
點贊
收藏

51CTO技術棧公眾號

隣の若妻さん波多野结衣| 精品成人av一区二区三区| 在线观看中文字幕的网站| 国产大片一区二区| 欧美大片大片在线播放| yjizz视频| 久久久人成影片一区二区三区在哪下载 | 精品一区二区三区中文字幕在线| 一区二区三区不卡视频 | 色婷婷av一区二区三| 久久精品人人| 爱福利视频一区| 日批在线观看视频| 日韩福利影视| 精品美女国产在线| av不卡在线免费观看| 性感美女福利视频| 另类综合日韩欧美亚洲| 777精品视频| av激情在线观看| 国产一区二区三区四区五区传媒| 欧美精品1区2区| 日本在线观看a| 黄色在线免费看| 久久久精品综合| 97人人澡人人爽| 五月天婷婷久久| 女主播福利一区| 中文字幕国产精品| 欧美成人午夜精品免费| 一区三区自拍| 欧美一区二区三区免费在线看| 日韩手机在线观看视频| 性网站在线观看| 国产精品不卡在线| 亚洲精品一区二区三区樱花 | 日韩在线观看精品| 制服 丝袜 综合 日韩 欧美| 国产精品白浆| 精品对白一区国产伦| 日韩不卡的av| 亚洲高清国产拍精品26u| 欧美午夜精品理论片a级按摩| 国内精品视频一区二区三区| 青青在线视频| 亚洲国产你懂的| 日韩亚洲欧美一区二区| 尤物视频在线看| 亚洲另类在线一区| 国产911在线观看| 国产在线高清视频| 中文字幕视频一区二区三区久| 日韩一区二区电影在线观看| 国家队第一季免费高清在线观看| 91香蕉视频mp4| 狼狼综合久久久久综合网| 日韩在线观看视频网站| 成人av电影免费观看| 国产一区二区高清不卡| 欧美一级一区二区三区| 成av人片一区二区| 久久福利电影| 黄色国产在线| 国产精品久久久久久久久图文区| 亚洲一区3d动漫同人无遮挡| 在线观看二区| 国产精品每日更新| 最新黄色av网站| 日本中文字幕中出在线| 亚洲高清在线视频| 国产男女无遮挡| 黄色成人免费网| 欧美日韩一区二区三区不卡| 亚洲黄色av片| 亚洲性视频在线| 精品国产一区二区精华| 在线精品一区二区三区| 国产欧美日韩| www.久久久久久.com| 欧美黑人猛猛猛| 亚洲激情精品| 国产精品户外野外| 国产视频aaa| 99久久婷婷国产综合精品| 日本精品二区| gogogogo高清视频在线| 午夜精品123| 校园春色 亚洲色图| 精品国产亚洲一区二区三区在线| 精品国产髙清在线看国产毛片 | 亚洲欧洲av| 中文字幕在线日韩| 一区二区三区免费高清视频| 日韩视频精品在线观看| 国产精品亚洲欧美导航| 亚洲精品第五页| 日本一区二区在线不卡| www.激情网| 婷婷激情一区| 欧美不卡一区二区三区四区| 国产手机在线观看| 国产精品mv在线观看| 日本午夜精品理论片a级appf发布| 一级片在线观看视频| av一区二区久久| 国产高清精品软男同| 无遮挡爽大片在线观看视频| 欧美丰满一区二区免费视频| 亚洲精品乱码久久久久久不卡| 999国产精品| 91精品国产乱码久久久久久蜜臀| 中文字幕在线观看免费| av在线这里只有精品| 一区不卡视频| 成人软件在线观看| 亚洲国产精彩中文乱码av在线播放| 一区二区三区在线观看免费视频| 黄色av成人| 成人激情av在线| 国产系列电影在线播放网址| 亚洲.国产.中文慕字在线| 天堂中文av在线| 精品国产91| 国产91精品不卡视频| 精品人妻一区二区三区四区不卡 | 亚洲色图美腿丝袜| 亚洲国产精品午夜在线观看| 国产一区999| 亚洲一区二区三区加勒比| 精品国产免费人成网站| 精品国产sm最大网站| 国产大学生自拍| 精品午夜久久福利影院| 天堂资源在线亚洲视频| 欧美色网在线| 亚洲欧美国产另类| 欧美亚洲精品天堂| 99精品欧美一区二区三区小说| 欧美做受777cos| 国产色99精品9i| 久久国产天堂福利天堂| 国产精品熟女久久久久久| 国产精品人成在线观看免费 | 日本亚洲欧美在线| 大桥未久av一区二区三区中文| 一区二区三区四区久久| 久久久精品一区二区毛片免费看| 国产亚洲xxx| 国产日韩在线免费观看| 国产日韩欧美一区二区三区乱码 | 91麻豆精品| 久久精品成人欧美大片古装| 97人妻人人澡人人爽人人精品| 国产精品欧美一区喷水| 91极品尤物在线播放国产| 久久av免费| 国产精品入口日韩视频大尺度 | 国产精品麻豆欧美日韩ww| 色综合手机在线| 日韩中文在线电影| 91免费在线视频| 羞羞污视频在线观看| 亚洲第一精品夜夜躁人人爽| www.av麻豆| 久久久夜色精品亚洲| 爱情岛论坛vip永久入口| 日韩精品看片| 亚洲a中文字幕| 波多野结衣中文字幕久久| 亚洲精品国产综合区久久久久久久 | 亚洲熟女一区二区三区| 在线精品福利| 免费一区二区三区| 欧美综合影院| 欧美激情xxxxx| 日韩精品系列| 欧美理论片在线| 国产在线观看99| 久久色.com| 91精产国品一二三产区别沈先生| 欧美日韩视频| 日本一区高清不卡| 欧美日本三级| 日产日韩在线亚洲欧美| 色影视在线观看| 精品少妇一区二区三区在线视频| 二区视频在线观看| 日韩一区在线免费观看| 欧美夫妇交换xxx| 麻豆精品国产传媒mv男同| 国产黄色激情视频| 欧美限制电影| 国产aⅴ精品一区二区三区黄| 成人av三级| 欧美成人网在线| 六十路在线观看| 日韩欧美黄色影院| 免费在线不卡av| 亚洲大片一区二区三区| 日本裸体美女视频| 91丨九色porny丨蝌蚪| 中文国产在线观看| 水野朝阳av一区二区三区| 一区二区三区视频| 免费看成人吃奶视频在线| 亚洲综合中文字幕68页| 三级成人在线| 97视频免费观看| 黄色网页在线播放| 国产亚洲视频在线观看| 手机av在线免费观看| 欧美精品一级二级| 91黑人精品一区二区三区| 亚洲成av人影院| 日本中文在线视频| 中文字幕欧美三区| 免费看黄色aaaaaa 片| 国产成人免费在线观看| 可以看污的网站| 日本大胆欧美人术艺术动态| 国产素人在线观看| 国模吧视频一区| 日本丰满少妇黄大片在线观看| 欧美美乳视频| 久久99精品国产99久久| av自拍一区| 成人自拍网站| 日韩精品一级| 92国产精品视频| 99久热在线精品视频观看| 琪琪亚洲精品午夜在线| 国产激情视频在线看| 欧美精品久久久久a| 18视频在线观看网站| 久久精品成人动漫| 国产精品久久久久久福利| 中文字幕亚洲无线码a| 国产免费永久在线观看| 亚洲深夜福利在线| 久久视频www| 亚洲一级一级97网| 国产精品视频二区三区| 在线播放日韩av| 国产高清免费在线播放| 一区二区三区四区精品| 国产精品四虎| 色偷偷9999www| 美女隐私在线观看| 伦伦影院午夜日韩欧美限制| 免费网站看v片在线a| 久久精品2019中文字幕| 超碰caoporn久久| 欧美成人亚洲成人| 女囚岛在线观看| 91av福利视频| 丁香六月综合| 国产精品青草久久久久福利99| 欧美va在线观看| 国产精品午夜视频| 成人免费91| 99re在线播放| 另类春色校园亚洲| 久久亚洲高清| 狠狠做深爱婷婷综合一区| 亚洲天堂电影网| 伊人成综合网| 国产综合av在线| 视频一区二区不卡| 伊人五月天婷婷| 成人av影院在线| 精品人妻互换一区二区三区| 国产精品女主播av| www青青草原| 狠狠干狠狠久久| 中国一级片黄色一级片黄| 91精品国产综合久久香蕉麻豆| 午夜精品久久久久久久99老熟妇 | 国语自产精品视频在线看8查询8| 日韩五码在线观看| 日本美女一区二区三区视频| www.午夜av| 99久久国产综合精品女不卡| 蜜桃传媒一区二区亚洲| 亚洲免费电影在线| 在线观看免费国产视频| 欧美午夜精品理论片a级按摩| 亚洲AV无码国产精品午夜字幕| 亚洲国产欧美一区| 最新国产在线观看| 国内精久久久久久久久久人| 久久久成人av毛片免费观看| 亚洲综合社区网| 国内成人自拍| 国产aaa免费视频| 免费在线看成人av| 少妇被狂c下部羞羞漫画| 国产精品嫩草99a| 欧美精品亚洲精品日韩精品| 欧美日韩国产成人在线91| 性xxxxbbbb| 欧美成人免费全部观看天天性色| 午夜日韩成人影院| 国产另类第一区| 97久久夜色精品国产| 久久精品国产精品亚洲色婷婷| 国产自产2019最新不卡| 一区二区三区伦理片| 亚洲第一主播视频| 国产成人a人亚洲精品无码| 亚洲人成在线一二| freexxx性亚洲精品| 国产免费一区视频观看免费| 丝袜连裤袜欧美激情日韩| 黑人巨茎大战欧美白妇| 日本网站在线观看一区二区三区| 800av在线播放| 亚洲靠逼com| 一级黄色片网站| 国产一区二区三区在线观看视频| 国产美女高潮在线观看| 97超碰人人看人人| 91精品啪在线观看国产81旧版| 国产免费视频传媒| 久久综合久久99| 国产情侣自拍av| 精品国产第一区二区三区观看体验| 成人在线观看亚洲| 91精品在线影院| 久久在线电影| 黄大色黄女片18第一次| 国产午夜一区二区三区| 国产无遮挡呻吟娇喘视频| 亚洲精品一区二区三区在线观看| 最近中文字幕免费mv2018在线| 国产精品免费久久久久影院| 国产日产精品_国产精品毛片| 男人天堂1024| 91年精品国产| 欧美啪啪小视频| 亚洲人在线视频| 电影亚洲精品噜噜在线观看| 欧美一级二级三级| 丝袜美腿高跟呻吟高潮一区| 天天躁日日躁aaaa视频| 色悠久久久久综合欧美99| 看电影就来5566av视频在线播放| 91av福利视频| 国产成人精品一区二区免费看京| 欧美伦理片在线看| 中文字幕欧美日韩一区| 最近中文字幕在线免费观看| 在线日韩欧美视频| 日韩护士脚交太爽了| 中国老女人av| 成人丝袜18视频在线观看| 国产成人啪精品午夜在线观看| 亚洲第一中文字幕| 欧美办公室脚交xxxx| 欧美日韩亚洲一区二区三区四区| 首页国产欧美日韩丝袜| 国产精品理论在线| 91精品国产综合久久久久久久| av在线影院| 国产在线精品二区| 日韩高清在线观看| 色哟哟一一国产精品| 精品免费国产一区二区三区四区| 2020av在线| 色一情一乱一伦一区二区三欧美| 免费av网站大全久久| 极品久久久久久| 亚洲国产另类 国产精品国产免费| 深夜成人在线| 在线观看成人av电影| 国产凹凸在线观看一区二区| www成人在线| 在线精品国产欧美| 日韩欧美中文在线观看| 狠狠爱免费视频| 中文字幕一区二区日韩精品绯色| а√中文在线资源库| 清纯唯美亚洲综合| 亚洲成人日韩| 欧美做受xxxxxⅹ性视频| 51精品秘密在线观看| 蜜桃视频在线观看播放| 一区二区免费电影| 99这里只有精品| 国产又黄又粗又猛又爽| 91极品视频在线| 亚洲成人精品| 国产全是老熟女太爽了| 日韩视频在线你懂得| 欧美日韩大片| a级黄色片免费| 欧美激情一区二区| 天天干免费视频| 亚洲在线免费观看| 日本欧美韩国一区三区| 国语对白一区二区|