監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉

數(shù)據(jù)庫(kù)存儲(chǔ)系統(tǒng)

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

  數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)是這個(gè)模式的,即記錄是按照行存儲(chǔ)的,但是數(shù)據(jù)庫(kù)的讀取不是以行為單位,否則一次讀取只能處理一行,效率很低。因此數(shù)據(jù)庫(kù),無(wú)論是讀一行,還是讀取多行,都是將這些行所在的頁(yè)進(jìn)行加載。數(shù)據(jù)管理存儲(chǔ)空間的基本單位是頁(yè)(Page)

  頁(yè)可以存儲(chǔ)多個(gè)行記錄(Row) ,先是表空間(Tablespace),表空間包含段(segement),還存在區(qū)(Extent)。

數(shù)據(jù)庫(kù).jpg

  這里泛普給您詳細(xì)介紹數(shù)據(jù)庫(kù)整體的存儲(chǔ)結(jié)構(gòu):

  1、段(Segment)

  段里面有多個(gè)區(qū),區(qū)在文件系統(tǒng)是一個(gè)連續(xù)的分片空間,不過在段中不要求區(qū)與區(qū)之間是分配單位,不同類型的數(shù)據(jù)庫(kù)對(duì)象以不同的段形式存在。 當(dāng)我們創(chuàng)建數(shù)據(jù)表,索引的時(shí)候,就會(huì)創(chuàng)建對(duì)應(yīng)的段,比如建表的時(shí)候,會(huì)自動(dòng)創(chuàng)建表段,創(chuàng)建表索引的時(shí)候,會(huì)創(chuàng)建一個(gè)索引段。

  2、區(qū)(Extent)

  區(qū)是一個(gè)比頁(yè)高一個(gè)級(jí)別的存儲(chǔ)結(jié)構(gòu),一個(gè)區(qū)一般有64個(gè)里連續(xù)的頁(yè),InnoDB 頁(yè)的默認(rèn)大小是 16K, 索引一個(gè)區(qū)的大小是 64*16 = 1MB

  3、表空間(Tablespace )

  表空間是一個(gè)邏輯容器,表空間存儲(chǔ)的對(duì)象是段,在一個(gè)表空間中可以有多個(gè)段,一個(gè)段只能屬于一個(gè)表空間,數(shù)據(jù)庫(kù)可以有多個(gè)表空間,表空間從管理上劃分為系統(tǒng)表空間、用戶表空間、撤銷表空間、臨時(shí)表空間。

  4、oracle 中使用塊代表頁(yè)

  數(shù)據(jù)庫(kù) IO 最小單位是頁(yè),與數(shù)據(jù)庫(kù)相關(guān)的內(nèi)容會(huì)存在頁(yè)結(jié)構(gòu)中,數(shù)據(jù)頁(yè)包括7個(gè)部分,分別是文件頭(File Header),頁(yè)頭(Page Header),最大最小記錄(Inflimum+siprenum)、用戶記錄(User Records)、空閑空間(Free Space),頁(yè)目錄(Page Directory)和文件尾(File Tailer)。

  5、頁(yè)的存儲(chǔ)結(jié)構(gòu)

  頁(yè)主要分成3部分: 頭尾節(jié)點(diǎn)部分。數(shù)據(jù)記錄部分,索引部分。

  數(shù)據(jù)頁(yè)有兩個(gè)字段,分別是文件頭FIL_PAGE_PREV 和文件尾 FIL_PAGE_NEXT, 主要作用是指針,分別指向上一個(gè)數(shù)據(jù)和下一個(gè)數(shù)據(jù),連接起來(lái)相當(dāng)于一個(gè)雙向鏈表。

  第二部分是記錄部分,最大最小記錄和用戶記錄部分占了頁(yè)結(jié)構(gòu)的主要空間。當(dāng)新記錄插入的時(shí)候,會(huì)從空想空間分配用于存儲(chǔ)新記錄。

  第三部分是索引部分, 這部分是頁(yè)目錄,起到了記錄索引的作用。

數(shù)據(jù)庫(kù)1.jpg

  6、如何創(chuàng)建一個(gè)頁(yè)記錄?

  將索引的記錄分成幾組,這些記錄包括最小記錄和最大記錄,但是不包括已刪除記錄。

  第1組,也就是最小記錄所在的分組只有一個(gè)記錄; 最后一組,就是最大記錄所在的分組,會(huì)有1-8個(gè)記錄,其余的組數(shù)據(jù)在4-8條。

  在每個(gè)組最后一條記錄的頭信息中會(huì)存儲(chǔ)該組一共有多少條,作為 n_owned 字段。

  頁(yè)目錄用來(lái)存儲(chǔ)每組最后一條記錄的地址偏移量,這些地址偏移量會(huì)按照先后順序存儲(chǔ)起來(lái),每組的地址偏移量稱為 slot ,每個(gè)槽相當(dāng)于指針指向了不同組的最后一個(gè)記錄。

發(fā)布:2021-06-18 14:09    編輯:泛普軟件 · zhangshuyue    [打印此頁(yè)]    [關(guān)閉]