精品欧美一区二区三区在线观看 _久久久久国色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在线这里只有精品| 外国成人免费视频| 亚洲视频图片小说| 91精品视频在线看| 日韩一区二区三区四区在线| 国产高清亚洲| 亚洲一区二三区| 国产一区二区三区奇米久涩| 三级视频在线观看| 欧美色图在线播放| 欧美一卡二卡三卡| 青青在线免费观看| 你懂的视频在线| 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产精品jvid在线观看蜜臀| 一级黄色录像毛片| 日韩在线成人| 大桥未久av一区二区三区| 国产精品免费一区二区三区| xxxx.国产| 色综合久久网| 精品乱人伦一区二区三区| 欧美美女黄色网| 日本一级在线观看| 精品一区二区三区欧美| 久热国产精品视频| 真人bbbbbbbbb毛片| 成人国产精品| 婷婷久久综合九色综合绿巨人 | 国产美女永久免费| 99国产成+人+综合+亚洲欧美| 亚洲人成五月天| 成人日韩在线视频| 两个人看的在线视频www| 亚洲国产精品av| 成人免费在线一区二区三区| 中文字幕久久熟女蜜桃| 日韩午夜电影| 久久国产精品视频| 舐め犯し波多野结衣在线观看| 美女网站色精品尤物极品姐弟| 欧美一级片在线| 在线观看国产福利| 色综合天天色| 91激情五月电影| av免费播放网址| 1024在线看片你懂得| 伊人开心综合网| 红桃一区二区三区| www在线免费观看视频| 国产精品久久久久久久久免费相片 | 日本三级免费观看| av福利在线导航| 亚洲影院免费观看| 成年人视频大全| a级片国产精品自在拍在线播放| 中文字幕一区二区三区不卡在线| 亚洲国产日韩欧美| 秋霞影院午夜丰满少妇在线视频| 国产精品初高中害羞小美女文| 亚洲精品一卡二卡三卡四卡| 亚洲天天影视| 亚洲人成伊人成综合网小说| 在线观看18视频网站| www.久久ai| 夜夜精品浪潮av一区二区三区| 无码人妻精品一区二区蜜桃百度| av电影免费在线观看| 亚洲午夜久久久久| 99爱视频在线| 视频精品导航| 91精品国产综合久久久久久久| 在线观看免费视频污| 日本精品视频| 亚洲高清av在线| 蜜桃传媒一区二区亚洲av| av亚洲在线观看| www国产精品com| 久热精品在线观看| 国产一区白浆| 国产欧美日韩视频| 性一交一乱一色一视频麻豆| 91小视频免费观看| 亚洲资源在线网| 成年网站在线视频网站| 色婷婷综合五月| gogogo高清免费观看在线视频| 精品国产18久久久久久二百| 亚洲国产中文字幕在线观看| 97人妻人人揉人人躁人人| 91精品福利| 欧美与黑人午夜性猛交久久久| 自拍偷拍色综合| 国产成人免费网站| 欧美成人在线免费观看| 久热国产在线| 五月婷婷综合激情| 亚欧激情乱码久久久久久久久| eeuss鲁片一区二区三区| 亚洲欧美中文在线视频| 午夜精品福利在线视频| 亚洲永久网站| 91在线视频九色| 每日更新在线观看av| 亚洲美女免费视频| 国产视频一区二区三区在线播放| 国产亚洲字幕| 国产亚洲美女久久| 国产一级做a爱免费视频| 日本成人中文字幕| 国产日韩一区二区| 国内精品久久久久久野外| 欧美日韩中文字幕| 深夜做爰性大片蜜桃| 精品视频免费在线观看| 美女少妇精品视频| 中文字幕一区二区三区手机版| 麻豆传媒一区二区三区| 久久久影院一区二区三区 | 成人免费在线观看入口| 成人免费观看毛片| 第四色在线一区二区| 日韩最新免费不卡| 中文字幕xxxx| 成人av在线一区二区三区| 五月天综合婷婷| 亚洲第一二三四区| 日韩精品在线免费观看| 久久久久久久蜜桃| 国产一区二区在线看| 神马影院一区二区三区| 亚洲精品一区| 日韩电影中文字幕在线| 不卡的免费av| 丁香六月久久综合狠狠色| 咪咪色在线视频| 亚洲一区二区av| 在线中文字幕日韩| 久久这里只有精品9| 久久免费视频一区| 国产主播在线看| 日韩免费电影在线观看| 久久久久久尹人网香蕉| 懂色av成人一区二区三区| 亚洲乱码精品一二三四区日韩在线| 蜜臀av免费观看| 日韩精品不卡一区二区| 国产欧美一区二区三区久久人妖| 成年人视频在线免费观看| 色婷婷综合久久久| 久久精品成人av| 日韩av在线播放中文字幕| 日本在线观看一区二区| 亚洲人免费短视频| 亚洲网站在线观看| 一级久久久久久| 亚洲国产精品成人综合| 一区二区三区视频在线观看免费| 欧美色图一区| 成人中文字幕在线观看| 91麻豆一二三四在线| 日韩视频免费观看高清在线视频| 久久网免费视频| 91蜜桃在线免费视频| 虎白女粉嫩尤物福利视频| 激情综合网五月| 国产专区精品视频| 青青草原av在线| 亚洲国产精品电影在线观看| 69亚洲精品久久久蜜桃小说| 国产精品欧美经典| 手机在线播放av| 最新亚洲一区| 日本一区二区精品| 成人在线视频区| 韩国精品美女www爽爽爽视频| 外国精品视频在线观看| 欧美性高潮床叫视频| 日本一二三不卡视频| 国产制服丝袜一区| 可以看毛片的网址| 国产免费av一区二区三区| 91精品美女在线| 96av在线| 中文日韩在线视频| 开心激情综合网| 在线影视一区二区三区| 极品久久久久久| 91免费视频观看| 精品综合久久久久| 一本色道久久精品| 亚洲精品成人自拍| 理论片一区二区在线| 国产精品嫩草影院久久久| 91精选在线| 亚洲人成77777在线观看网| 国产美女主播在线观看| 精品久久中文字幕久久av| 国产又粗又猛又爽又黄的视频小说| 处破女av一区二区| 欧美一级特黄a| 在线亚洲伦理| 青春草在线视频免费观看| 日本欧美高清| 亚洲字幕一区二区| 亚洲mmav| 91精品国产成人www| 国产盗摄在线观看| 亚洲天堂免费观看| 动漫av一区二区三区| 欧美二区三区91| 免费av中文字幕| 欧美日韩国产综合视频在线观看中文 | 最新国产精品精品视频| 国产精品一区二区久久久久| 91av久久| 欧美日韩国产二区| 欧美videos极品另类| 亚洲人av在线影院| 天天干免费视频| 日韩欧美电影一区| 亚洲图片小说视频| 欧美亚洲丝袜传媒另类| 亚洲视频免费播放| 亚洲成人综合网站| 91精品国产高清一区二区三蜜臀| 国产嫩草影院久久久久| xxxx日本免费| 2023国产精品视频| 国产婷婷在线观看| 粉嫩欧美一区二区三区高清影视| 久久6免费视频| 久久se这里有精品| 国产野外作爱视频播放| 丝袜美腿亚洲综合| 欧美日韩在线不卡视频| 亚洲一区二区三区免费在线观看 | 日韩av电影天堂| 国产免费视频传媒| 天堂蜜桃一区二区三区 | 精品一区二区三区香蕉蜜桃| 国产九九在线视频| 青青草成人在线观看| 999在线免费视频| 日韩不卡一二三区| 国内自拍视频网| 免费看欧美女人艹b| 亚洲成人av免费看| 人人精品人人爱| 欧美日韩一区二区三区69堂| 久久精品国产秦先生| 怡红院亚洲色图| 精品在线亚洲视频| 男人操女人下面视频| 国产成人在线视频网址| 人妻换人妻a片爽麻豆| 99国产精品国产精品毛片| 在线视频 日韩| 久久网站最新地址| 成人在线手机视频| 国产精品福利一区| 午夜少妇久久久久久久久| 亚洲国产欧美在线人成| 国内免费精品视频| 色婷婷综合激情| 91禁在线观看| 精品国产乱码久久久久久浪潮| 婷婷五月综合激情| 亚洲天堂色网站| av网址在线免费观看| 欧美国产乱视频| 日本乱码一区二区三区不卡| 国产精品69久久| 国产aⅴ精品一区二区四区| 国产九色精品| 国产亚洲欧美日韩在线观看一区二区| 亚洲国内在线| 一区在线免费观看| 韩国日本美国免费毛片| 国内成人免费视频| 少妇一级淫片免费放播放| 国产无人区一区二区三区| 国产美女久久久久久| 亚洲成a人v欧美综合天堂下载 | 色网在线观看| 日韩免费观看视频| 不卡一区视频| 欧美一区二区在线| 影音先锋日韩在线| 欧美 日韩 国产一区| 黑人巨大精品欧美黑白配亚洲| 黄色免费视频网站| 国产精品夫妻自拍| 免费观看一级视频| 欧美色图12p| 日本高清视频网站| 日韩在线欧美在线国产在线| 2019中文字幕在线电影免费 | 中文字幕一区在线观看视频| 国产在线拍揄自揄拍无码视频| 欧美在线免费观看亚洲| 成人精品在线播放| 日日骚久久av| 亚洲v.com| 97久久精品午夜一区二区| 欧美精美视频| 欧美又粗又长又爽做受| 久久国内精品视频| 蜜桃无码一区二区三区| 亚洲国产成人va在线观看天堂| 亚洲一区 中文字幕| 亚洲韩国青草视频| 国产在线观看av| 国产精品视频不卡| 亚洲三级网页| www精品久久| 国产一区二区在线视频| 日本在线观看网址| 色噜噜夜夜夜综合网| 蜜臀久久久久久999| 久久艹在线视频| 国产91在线播放精品| 欧美日本韩国国产| 99日韩精品| 久久精品女同亚洲女同13| 亚洲欧美色一区| 一级片在线免费观看视频| 在线观看日韩欧美| **在线精品| 欧美精品在线一区| 一区二区国产精品| 亚洲av成人片色在线观看高潮 | 按摩亚洲人久久| 超薄肉色丝袜脚交一区二区| 欧美三级电影在线播放| 亚洲女同在线| 欧美丰满少妇人妻精品| 天涯成人国产亚洲精品一区av| 亚洲成熟女性毛茸茸| 欧美另类极品videosbest最新版本 | 激情伦成人综合小说| 亚洲福利一区| 丰满岳乱妇一区二区 | 欧美尺度大的性做爰视频| 日韩欧美专区| 亚洲第一综合网站| 国产一区二区三区蝌蚪| 午夜精品一区二区三级视频| 91精品国产综合久久福利软件| 毛片在线播放a| 91精品天堂| 在线日韩电影| 国产精品揄拍100视频| 色狠狠色狠狠综合| 成人影视在线播放| 国产欧美日韩高清| 91精品国产调教在线观看| 在线免费观看av网| 亚洲精品成人少妇| 天天操天天干天天舔| 热99在线视频| 色小子综合网| 日本少妇一区二区三区| 亚洲v精品v日韩v欧美v专区| 亚洲av电影一区| 国产精品视频久久久| 国产精品99视频| 欧美日韩一区二区区别是什么| 午夜精品影院在线观看| 日韩偷拍自拍| 国产欧美一区二区三区在线| 国产精品theporn| 给我免费观看片在线电影的| 色哟哟一区二区三区| 毛片免费不卡| 国产一区免费在线| 日本在线不卡视频一二三区| 成人免费黄色小视频| 日韩毛片在线看| 久久精品资源| 97视频在线免费| 欧美国产日韩一二三区| 精品人妻一区二区三区四区不卡| 91精品国产沙发| 久久高清精品| www.17c.com喷水少妇| 欧美性淫爽ww久久久久无| av在线导航| 欧美日韩国产免费一区二区三区| 美女一区二区久久| 欧美一二三区视频| 久久精品男人天堂| 偷拍一区二区| 亚洲AV无码久久精品国产一区| 色综合天天综合色综合av| 成人高清免费在线| 免费国产一区二区| 国产传媒一区在线| 在线观看免费视频一区| 97婷婷涩涩精品一区|