公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

數(shù)據(jù)庫(kù)如何實(shí)施垂直拆分,原理是啥?

admin
2025年1月1日 20:38 本文熱度 559
當(dāng)數(shù)據(jù)庫(kù)的數(shù)據(jù)量非常大時(shí),水平切分和垂直拆分都降低數(shù)據(jù)量大小,提升數(shù)據(jù)庫(kù)性能,有什么差別?


水平切分是指,以某個(gè)字段為依據(jù)(例如uid),按照一定規(guī)則(例如取模),將一個(gè)庫(kù)(表)上的數(shù)據(jù)拆分到多個(gè)庫(kù)(表)上,以降低單庫(kù)(表)大小,達(dá)到提升性能的目的的數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)方法。


水平切分后,各個(gè)庫(kù)(表)的特點(diǎn)是:

1. 每個(gè)庫(kù)(表)的結(jié)構(gòu)都一樣

2. 每個(gè)庫(kù)(表)的數(shù)據(jù)都不一樣,沒(méi)有交集;

3. 所有庫(kù)(表)的并集是全量數(shù)據(jù);


垂直拆分是指,將一個(gè)屬性較多,一行數(shù)據(jù)較大的表,將不同的屬性拆分到不同的表中,以降低單庫(kù)(表)大小,達(dá)到提升性能的數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)方法。


垂直切分后,各個(gè)庫(kù)(表)的特點(diǎn)是:

1. 每個(gè)庫(kù)(表)的結(jié)構(gòu)都不一樣

2. 一般來(lái)說(shuō),每個(gè)庫(kù)(表)的屬性至少有一列交集,一般是主鍵

3. 所有庫(kù)(表)的并集是全量數(shù)據(jù);


舉個(gè)例子,用戶表:

user(
    uid bigint,
    name varchar(16),
    pass varchar(16),
    age int,
    sex tinyint,
    flag tinyint,
    sign varchar(64),
    intro varchar(256)
…);

垂直拆分之后,可能變成兩個(gè)這樣的表:

user_base(
    uid bigint,
    name varchar(16),
    pass varchar(16),
    age int,
    sex tinyint,
    flag tinyint,
…);

user_ext(
    uid bigint,
    sign varchar(64),
    intro varchar(256)
…);


垂直切分的依據(jù)是什么?
當(dāng)一個(gè)表屬性很多時(shí),垂直拆分依據(jù)主要有幾點(diǎn):
1. 將長(zhǎng)度較短,訪問(wèn)頻率較高的屬性盡量放在一個(gè)表里,這個(gè)表暫且稱為主表
2. 將字段較長(zhǎng),訪問(wèn)頻率較低的屬性盡量放在一個(gè)表里,這個(gè)表暫且稱為擴(kuò)展表
3. 經(jīng)常一起訪問(wèn)的屬性,也可以放在一個(gè)表里;

為什么要這么這么拆分?
1. 數(shù)據(jù)庫(kù)有自己的緩沖池buffer_pool,會(huì)將磁盤(pán)上的數(shù)據(jù)load到緩沖池里;
2. 緩沖池物理上以頁(yè)page為單位,邏輯上以行row為單位,緩存數(shù)據(jù);

3. 在內(nèi)存有限,緩沖池大小固定的情況下,長(zhǎng)度較短的row,能緩存更多數(shù)據(jù)

4. 緩存高頻的列column,能提升緩沖池命中率,減少磁盤(pán)IO;


舉個(gè)例子:

1. 假設(shè)數(shù)據(jù)庫(kù)內(nèi)存buffer為1G,未拆分的user表1行數(shù)據(jù)大小為1k,那么只能緩存100w行數(shù)據(jù)

2. 如果垂直拆分成user_base和user_ext,其中user_base訪問(wèn)頻率高,1行大小為0.1k,就能緩存1000w行數(shù)據(jù)

此時(shí),訪問(wèn)磁盤(pán)的概率會(huì)大大降低,數(shù)據(jù)庫(kù)訪問(wèn)的時(shí)延會(huì)大大降低,吞吐量會(huì)大大增加。

簡(jiǎn)單總結(jié):
1. 海量數(shù)據(jù)高并發(fā)的數(shù)據(jù)庫(kù)場(chǎng)景,垂直拆分能提升數(shù)據(jù)庫(kù)性能;
2. 拆分核心依據(jù)是:將長(zhǎng)度較短,訪問(wèn)頻率較高的屬性盡量放在主表里。

知其然,知其所以然。

思路比結(jié)論更重要。


補(bǔ)充閱讀材料:
《數(shù)據(jù)庫(kù)水平切分+垂直拆分簡(jiǎn)介
https://www.baeldung.com/cs/databases-horizontal-vertical-partitioning

文章很短,3分鐘搞定。


==全文完==


閱讀原文:原文鏈接


該文章在 2025/1/2 12:21:41 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产v无码专区亚洲v桃花庵 | 国产毛片特级av片 | 99久久精品无码一区二区毛片 | 国产亚洲精久久久久 | 国产在线欧美精品中文一区 | 国产三级国产av | 精品无码国产自产在线观看老师 | 国产无码精品视频 | 国产午夜毛片v | 国产一区二区伦理视频 | 国产毛片一级在线 | 国产成人亚洲综合无码99 | 波多野结衣在线一区二区 | 国产精品无码一区二区三区不 | 国产91放荡的护士 | 精品无码日韩国产不 | 国产人妻精品午夜福 | 国产精品成人一区二区三区 | 国产高清精品久久久久久久 | 潮喷无码照片 | 国产另类ts人妖一 | 国产毛片特黄毛片老人 | 国产三级精品三级男人的天堂 | 国产自慰精品在线 | 91精品国产91久久综合 | 国产精品午夜电影 | av在线无码观看另类重口 | 国产午夜高潮熟女精品视频 | 国产精品视频第二区 | 国产91精品久久二区二区 | 高清无码一区二区在线观看吞 | 国产尤物一区二区三区在线观看 | 国产一区精品3d动漫在线 | 91桃色无码国产在线观看二区 | 国产高清不卡二区免费视频 | 国产偷窥盗摄一区二区 | 国产一区二区不卡老阿姨 | 国产精品日本一区二区在线播放 | 97人妻碰碰碰久久久久禁片 | 国产成人精品一区二区三在线观看 | 国产无码精品第8页 |