亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

數據庫的垂直劃分和水平劃分

系統 1750 0


數據庫的水平劃分和垂直劃分很早以前就接觸了,只是沒有實踐,沒有什么體會,只有最近兩年才有接觸,今天也和大家聊聊。


垂直劃分 ?


按照功能劃分,把數據分別放到不同的數據庫和服務器。


當一個網站開始剛剛創建時,可能只是考慮一天只有幾十或者幾百個人訪問,數據庫可能就個db,所有表都放一起,一臺普通的服務器可能就夠了,而且開發人員也非常高興,而且信心十足,因為所有的表都在一個庫中,這樣查詢語句就可以隨便關聯了,多美的一件事情。但是隨著訪問壓力的增加,讀寫操作不斷增加,數據庫的壓力絕對越來越大,可能接近極限,這時可能人們想到增加從服務器,做什么集群之類的,可是問題又來了,數據量也快速增長。


這時可以考慮對讀寫操作進行分離,按照業務把不同的數據放到不同的庫中。其實在一個大型而且臃腫的數據庫中表和表之間的數據很多是沒有關系的,或者更加不需要(join)操作,理論上就應該把他們分別放到不同的服務器。例如用戶的收藏夾的數據和博客的數據庫就可以放到兩個獨立的服務器。這個就叫垂直劃分(其實叫什么不重要)。


數據庫的垂直劃分和水平劃分

當博客或者收藏夾的數據不斷增加后,應該怎么辦,這樣就引出了另外一個做法,叫水平劃分。

?

水平劃分

?

則把一個表的數據劃分到不同的數據庫,兩個數據庫的表結構一樣。怎么劃分,應該根據一定的規則,可以根據數據的產生者來做引導,上面的數據是由人產生的,可以根據人的id來劃分數據庫。然后再根據一定的規則,先獲知數據在哪個數據庫。

其實很多大型網站都經歷了數據庫垂直劃分和水平的劃分的階段。其實這個可以根據經驗來確定,不一定由某些硬性的規則。

以剛才的博客為例,數據可以根據userid的奇偶來確定數據的劃分。把id為基數的放到A庫,為偶數的放B庫。



數據庫的垂直劃分和水平劃分
?


這樣通過userId就可以知道用戶的博客的數據在哪個數據庫。其實可以根據userId%10來處理。還可以根據著名的HASH算法來處理。

?

當初看手機之家的架構是發現他們是:

水平切分:對數據進行水平分割。

a.最好分到同一個數據庫。

b.一種已經證明是切實可行的方案:主表+輔表。

c.有3種類型:主表不打散、主表打散無輔表、主表打散有輔表。

d.但對程序員來說,TA看到的只是一張表,不妨稱之為虛表(邏輯表)? ,這張虛表實際上可能是由N張實表(物理表)組成的。

?

哈哈,我還是喜歡把數據分到不同的數據庫,這個可以按照業務來和環境來定吧。

?

在說句題外話,如果是大型數據庫,還可以做讀寫分離等。
?

?

數據庫的垂直劃分和水平劃分


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产剧情一区二区三区 | 九九影院在线观看 | 亚洲九九色| 国产欧美精品三区 | 伊人婷婷色香五月综合缴缴情 | 欧美日韩亚洲国产一区二区三区 | 久久亚洲精品永久网站 | 一级毛片在线播放 | 伊人一伊人色综合网 | 久久青草免费91线频观看站街 | 四虎永久视频 | 日本中文在线播放 | 国产农村妇女一级毛片 | 亚洲欧美网址 | 日产精品一二三四区国产 | 成人在线91 | 国产精品每日更新在线观看 | 亚洲福利社 | 好吊在线视频 | 免费的黄色小视频 | 国产性生活视频 | 天天综合天天干 | 亚洲 欧美 另类中文字幕 | videoxxoo欧美老师 | 亚洲综合图 | 欧美熟videos肥婆 | 日本在线一区二区 | 精品久久成人 | 欧美专区在线播放 | 亚洲视频精品在线 | 国产91在线视频 | 97视频在线观看播放 | 一级毛片私人影院 | 日日操夜夜摸 | 国产成人精品在视频 | 日韩精品无码一区二区三区 | 久久国产精品-国产精品 | 一级淫片免费看 | 99这里精品| 久久久久久久久66精品片 | 亚洲精品在线免费 |