31 表空間以及劃分多個數(shù)據(jù)頁的數(shù)據(jù)區(qū),又是什么概念?

表空間以及劃分多個數(shù)據(jù)頁的數(shù)據(jù)區(qū),又是什么概念?
上一次我們講完了數(shù)據(jù)頁的具體存儲結構,當然里面有很多的細節(jié)我們還沒講,實際上現(xiàn)在也確實沒必要去說那些細節(jié),因為很多數(shù)據(jù)頁的一些細節(jié)性的東西,都是要在后續(xù)講解的內(nèi)容中涉及到的,比如說數(shù)據(jù)的刪除,查詢的一些原理。
現(xiàn)在我們在大致了解了數(shù)據(jù)頁的結構和使用之后,我們可以繼續(xù)來了解下一個概念,就是表空間和數(shù)據(jù)區(qū)的概念
首先我們先說一下,什么是表空間?
簡單來說,就是我們平時創(chuàng)建的那些表,其實都是有一個表空間的概念,在磁盤上都會對應著“表名.ibd”這樣的一個磁盤數(shù)據(jù)文件
所以其實在物理層面,表空間就是對應一些磁盤上的數(shù)據(jù)文件。
有的表空間,比如系統(tǒng)表空間可能對應的是多個磁盤文件,有的我們自己創(chuàng)建的表對應的表空間可能就是對應了一個“表名.ibd”數(shù)據(jù)文件。
然后在表空間的磁盤文件里,其實會有很多很多的數(shù)據(jù)頁,因為大家都知道一個數(shù)據(jù)頁不過就是16kb而已,總不可能一個數(shù)據(jù)頁就是一個磁盤文件吧。
所以一個表空間的磁盤文件里,其實是有很多的數(shù)據(jù)頁的。
但是現(xiàn)在有一個問題,就是一個表空間里包含的數(shù)據(jù)頁實在是太多了,不便于管理,所以在表空間里又引入了一個數(shù)據(jù)區(qū)的概念,英文就是extent
一個數(shù)據(jù)區(qū)對應著連續(xù)的64個數(shù)據(jù)頁,每個數(shù)據(jù)頁是16kb,所以一個數(shù)據(jù)區(qū)是1mb,然后256個數(shù)據(jù)區(qū)被劃分為了一組。
對于表空間而言,他的第一組數(shù)據(jù)區(qū)的第一個數(shù)據(jù)區(qū)的前3個數(shù)據(jù)頁,都是固定的,里面存放了一些描述性的數(shù)據(jù)。比如FSP_HDR這個數(shù)據(jù)頁,他里面就存放了表空間和這一組數(shù)據(jù)區(qū)的一些屬性。
IBUF_BITMAP數(shù)據(jù)頁,里面存放的是這一組數(shù)據(jù)頁的所有insert buffer的一些信息。
INODE數(shù)據(jù)頁,這里也是存放了一些特殊的信息
大家暫時先不用了解這些東西具體是干什么的,你只要知道每一個組數(shù)據(jù)區(qū)的第一個數(shù)據(jù)區(qū)的前3個數(shù)據(jù)頁,都是存放一些特殊的信息的。
然后這個表空間里的其他各組數(shù)據(jù)區(qū),每一組數(shù)據(jù)區(qū)的第一個數(shù)據(jù)區(qū)的頭兩個數(shù)據(jù)頁,都是存放特殊信息的,比如XDES數(shù)據(jù)頁就是用來存放這一組數(shù)據(jù)區(qū)的一些相關屬性的,其實就是很多描述這組數(shù)據(jù)區(qū)的東西,現(xiàn)在大家也不用去知道是什么。
其實今天的內(nèi)容講到這里就差不多了,講太多大家可能就被繞暈了,大家只要知道,我們平時創(chuàng)建的那些表都是有對應的表空間的,每個表空間就是對應了磁盤上的數(shù)據(jù)文件,在表空間里有很多組數(shù)據(jù)區(qū),一組數(shù)據(jù)區(qū)是256個數(shù)據(jù)區(qū),每個數(shù)據(jù)區(qū)包含了64個數(shù)據(jù)頁,是1mb
然后表空間的第一組數(shù)據(jù)區(qū)的第一個數(shù)據(jù)區(qū)的頭三個數(shù)據(jù)頁,都是存放特殊信息的;
表空間的其他組數(shù)據(jù)區(qū)的第一個數(shù)據(jù)區(qū)的頭兩個數(shù)據(jù)頁,也都是存放特殊信息的。大家今天只要了解到這個程度就可以了。
所以磁盤上的各個表空間的數(shù)據(jù)文件里是通過數(shù)據(jù)區(qū)的概念,劃分了很多很多的數(shù)據(jù)頁的,因此當我們需要執(zhí)行crud操作的時候,說白了,就是從磁盤上的表空間的數(shù)據(jù)文件里,去加載一些數(shù)據(jù)頁出來到Buffer Pool的緩存頁里去使用。
我下面給出了一張圖,圖里就給出了一個表空間內(nèi)部的存儲結構,包括一組一組的數(shù)據(jù)區(qū),每一組數(shù)據(jù)區(qū)是256個數(shù)據(jù)區(qū),然后一個數(shù)據(jù)區(qū)是64個數(shù)據(jù)頁。
請大家牢記下圖:
? ? ? ? ? ?

? ? ? ? ? ? ?
End
專欄版權歸公眾號儒猿技術窩所有
未經(jīng)許可不得傳播,如有侵權將追究法律責任