日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

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

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

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


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


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

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

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

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


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


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

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

2. 一般來說,每個庫(表)的屬性至少有一列交集,一般是主鍵

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


舉個例子,用戶表:

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

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

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)一個表屬性很多時,垂直拆分依據(jù)主要有幾點(diǎn):
1. 將長度較短,訪問頻率較高的屬性盡量放在一個表里,這個表暫且稱為主表
2. 將字段較長,訪問頻率較低的屬性盡量放在一個表里,這個表暫且稱為擴(kuò)展表
3. 經(jīng)常一起訪問的屬性,也可以放在一個表里;

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

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

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


舉個例子:

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

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

此時,訪問磁盤的概率會大大降低,數(shù)據(jù)庫訪問的時延會大大降低,吞吐量會大大增加。

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

知其然,知其所以然。

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


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

文章很短,3分鐘搞定。


==全文完==


閱讀原文:原文鏈接


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

主站蜘蛛池模板: 亚洲一区二区三区精品影院 | 国产一区二区在线观看免费 | 麻花豆传媒剧国 | 日本高清激情乱一区二区三区 | 午夜福利国产主播露出 | 欧美日韩亚洲国产一 | 亚洲欧美va动漫一区二区 | 好男人www社区 | 国产伦码精品一 | 亚洲高清不卡在线观看 | 国产精品成人免费视频99 | 日本女黄在线观看 | 亚洲欧美在线观看品 | 欧美视频一区在线 | 中文国产欧美在线观看 | 亚洲日本va中文字幕 | 亚洲色一色噜一噜噜噜人与 | 午夜成人影院在线观看不卡 | 2025高清影视手机在线观看 | 国内外精品激情刺激在线 | 欧美一级成人免费大片 | 黑人巨大精品欧美一区在线 | 国产亚洲一区二区三区在线 | 国产日韩精品一区在线观看 | 亚州精品永久观看视频 | 日韩精品极品视频在线观看免费 | 91香蕉国产观看免费人人 | 精品视频高 | 成人日韩在线视频观看 | 中文字幕日本一本二本 | 秋霞电影午夜在线观看 | 国产高清视频在线免费观看 | 亚洲成脛∨人片在线观看福利 | 日韩午夜视频在线观看 | 老汉色影院首页 | 极品魔鬼身 | 欧美校园激情清纯另类 | 国产欧美日韩中文字幕 | 国产精品日韩欧美 | 亚洲一区二区三区首页 | 欧美最猛性xxxxx大叫 |