第三章 儲存空間的配置
學習目標 認識儲存裝置的特徵與功能。 了解資料庫管理系統對於資料儲存的需求。 了解資料庫管理系統對於儲存空間的配置與管理。 認識資料庫索引的觀念。 學習B_tree與B+_tree。
從疑惑中開始學習 儲存設備有那些種類 ? 資料庫的儲存空間如何配置 ? 索引(index)是什麼 ? 有何功用?
認識儲存設備 主要的儲存媒體(primary storage) 次要的儲存媒體(secondary storage) 資料庫需要的儲存容量多半會超過主記憶體所能容納的空間,而且以儲存的穩定性來說,次要的儲存媒體優於主要的儲存媒體,因此次要的儲存媒體是資料庫主要的儲存場所,當資料需要被使用時才載入到主要的儲存媒體。
儲存磁碟構造
儲存設備的安排 資料庫應用系統一次通常只會用到資料庫的一小部分資料 所需要的資料在磁碟上找到以後,先複製到主記憶體,處理完成時若是資料有被更改,則要寫入磁碟中 當資料庫管理系統開始執行以後,有一些程式與資料會常駐在記憶體中,不過跟一個大型資料庫系統的營運資料比較起來,數量還算少
從磁碟區談起
緩衝區或暫存區(Buffer) 所謂的緩衝區或暫存區(buffer)其實就是主記憶體的儲存空間,我們把這個空間分成一個一個的頁框(frame),跟磁碟資料頁(disk page)的大小一樣 假如disk page需要用到,就需要從disk複製到buffer pool中的某個frame中 假如緩衝區已經滿了,則需要從中依據某種預定的規則選擇某個frame,將其中的資料寫回磁碟,然後把需要用到的disk page資料寫入該frame中
緩衝區的管理
資料的存取
檔案與資料頁(File & Page)
檔案組織(File organization 是一種把資料記錄置放在儲存磁碟上的方式 。 堆積檔(Heap file) 資料頁目錄 排序檔(Sorted file) 雜湊檔(Hashed file)
索引的種類
堆積檔(Heap file)的實例
實例(2)
資料庫系統中抽象化的層次
索引的奧秘 資料庫索引(Database index)是資料庫的觀念中相當重要的一環,因為索引的建立,才使得大量資料的存取迅速 在一般的DBMS中,索引的使用是很平常的,對於數量很大的資料來說,索引對於資料的存取的確能發揮很大的功效 索引之所以能加速資料紀錄的存取是由於索引檔的大小遠小於資料檔,在主記憶體中處理索引時所需要存取的資料方塊的數目很小,一旦找到指標,就能直接取得所要的資料紀錄
資料儲存的架構
資料儲存的形式
索引與指標
多層索引(Multilevel index) 各種索引檔是排序的,可以用二分搜尋法(binary search)對索引進行比對搜尋 假如能對索引檔建立索引,則可減少所需處理的資料方塊數目 資料筆數越多時,多層索引的效用越高 當資料紀錄的大小遠超過索引紀錄的大小時,多層索引越能降低所需存取的資料方塊數目 在索引處理的效率上,多層索引的管理比單純的主索引要複雜,所以是否採用或是使用多少層的索引,必須視實際的情況權衡
多層索引的例子
多層索引的效應
樹狀結構與索引節點的構造
B+_Tree的實例
詳細B_Tree節點內容與構造
B+_Tree的實例