1. 程式人生 > >DB2入門(2)——資料庫、例項、儲存模型

DB2入門(2)——資料庫、例項、儲存模型

DB2的資料庫、例項的概念

一個DB2例項可以同時管理多個數據庫(DataBase)。

  • MySQL資料庫:物理作業系統檔案或其他形式檔案型別的集合。在 MySQL 資料庫中,資料檔案就是我們才學習的frm,MYD,MYI,ibd 結尾的檔案。
  • MySQL例項:MySQL 例項則是由後臺執行緒以及一個共享記憶體區組成。共享記憶體可以被執行的後臺執行緒所共享,需要注意的是,資料庫例項才是真正用於操作資料庫檔案的,資料庫檔案不是用編輯器,vim 這些來玩的,而是靠登入例項來操作的。MySQL 比較簡單,例項與資料庫的關係通常是一一對應的。
  • DB2資料庫:資料庫包含許多邏輯物件和物理物件。表、索引等資料庫物件;緩衝池、日誌檔案、表空間;物理儲存、表空間容器、目錄、檔案系統或裸裝置

  • DB2例項:從DB2的體系結構方面來看,例項實際上就是DB2的執行程式碼和資料庫物件的中間邏輯層。例項可以看成是關於所有的資料庫及其物件的邏輯集合,例項為資料庫執行提供一個環境。

  • DB2資料庫和例項之間的區別:資料庫是物理的,我們的表、索引存放在資料庫中要佔物理儲存的;而例項是邏輯的,是共享記憶體、程序和一些配置檔案(例項目錄)的集合。

DB2儲存模型

DB2利用一個邏輯儲存模型和一個物理儲存模型來處理資料。

這裡寫圖片描述

DB2的邏輯儲存模型

圖的上半部分主要展示了邏輯儲存模型:
1. 例項中管理著資料庫;
2. 一個數據庫中有很多表空間,可以把資料庫看成是很多個表空間的集合;
3. 表空間中存放多個表(或索引)

DB2的物理儲存模型

圖的下半部分:
表空間物理上對應著若干個表空間容器,表空間可以跨許多個容器。表通過 表空間實實在在地將資料存放到容器(檔案或者目錄)中。

資料庫的物理儲存

  • 作業系統的最小儲存單位是塊(block),Linux/Unix 上最小的塊是512位元組;
  • 資料庫中的最小儲存單位是資料頁(datapage),DB2資料庫有4KB,8KB,16KB和32KB幾種資料頁;
  • 作業系統的頁是4KB;
  • extent是整數倍的datapage的大小,這個整數倍數在建立表空間時使用extentsize來指定;
  • 表空間容器由多個extent(區)組成;
  • 表空間又由很多容器組成;
    表空間、容器、extent和資料頁之間的關係

    表空間>表空間容器>extent區>資料頁datapage
    這裡對比一下MySQL的儲存:
    表空間>段segment >extent區>資料頁page
    MySQL innoDB的儲存

DB2寫容器的過程

我們建立的表最終是儲存在底層表空間容器上的,那麼DB2是如何寫容器的呢?
這裡寫圖片描述
表空間是由很多容器組成的,我們每次寫容器的時候,寫的單位為一個擴充套件資料塊extent。extent由32個數據頁組成(預設的extentsize為32),而資料頁是I/O的最小單位

看下面的圖,這幅圖顯示了具有兩個4KB頁擴充套件資料塊(extent)大小的HUMANFRES表空間,它有四個容器,每個容器有少量已分配的擴充套件資料塊(extent)。
department和employee表各有7頁,且跨所有4個容器。一個extent同時只能被一個表寫,也就是說,不可能兩張表同時共用一個extent,因為寫容器的最小單位是extent,當我們往表中插入資料發現沒有空間時,DB2就會為該表分配一個extent。

表空間中的容器、擴充套件資料塊(extent)、資料頁(datapage)和表空間之間的關係

DB2的表空間

通過上面的描述,我們發現在資料庫的物理儲存和邏輯儲存模型中,表空間連結了物理儲存模型和邏輯儲存模型,其扮演了一個承上啟下的角色。
- 在邏輯上,它向上面對的是資料庫,向下它是存放表的容器,面向的是表;
- 同時表空間又在物理上對映底層的表空間容器——物理儲存。

表空間是資料庫調優的重點,資料庫建立的絕大部分都是圍繞著表空間進行的。

相關推薦

DB2入門2——資料庫例項儲存模型

DB2的資料庫、例項的概念 一個DB2例項可以同時管理多個數據庫(DataBase)。 MySQL資料庫:物理作業系統檔案或其他形式檔案型別的集合。在 MySQL 資料庫中,資料檔案就是我們才學習的frm,MYD,MYI,ibd 結尾的檔案。 MySQL例

Spring Boot入門2使用MySQL資料庫

介紹   本文將介紹如何在Spring專案中連線、處理MySQL資料庫。   該專案使用Spring Data JPA和Hibernate來連線、處理MySQL資料庫,當然,這僅僅是其中一種方式,你也可以使用Spring JDBC或者MyBatis.   

DB2入門1--安裝啟動連線

1.安裝資料庫 windows下的安裝 軟體下載直接是從官網下載的, 下載免費試用版學習一下: 1. 進入官網,點選“Free DB2 trials” 2. 然後選擇自己要下載的版本,我選擇的是社群試用版 3. 然後選擇電腦系統對應的版本:

maven入門2settings.xml

file option 一個 keyword files 合並 遠程倉庫 pac nbsp 一、簡介 settings.xml對於maven來說相當於全局性的配置,用於所有的項目, 當Maven運行過程中的各種配置,例如pom.xml,不想綁定到一個固定的project或者

zuul入門2zuul 的關鍵組件和用途

ice cti -s -1 life 處理 有一個 之間 類別 1、ContextLifecycleFilter 2、ZuulServlet 接收請求 ZuulServlet類似SpringMvc的DispatcherServlet,所有的Request都要經過Zuul

JDBC入門5--- 時間類型大數據

服務器 setting fun exceptio finall trace rep rest bytes 一、時間類型 數據庫類型與Java中類型的對應關系: DATE->java.sql.Date:表示日期,只有年月日,沒有時分秒,會丟失時間。 TIME->j

ECMAScript 學習筆記2--ES6新增let箭頭函數理解

輸出 分析 引擎 重新 -a 都是 存在 使用 [1] 1、關於let用來鎖定塊程序內的變量非常實用: var a = []; for (var i = 0; i < 10; i++) {a[i] = function () {console.log(i);}

canvas基礎入門繪制線條三角形七巧板

java i++ rip BE lin scrip 瀏覽器 返回 函數 復雜的內容都是有簡單的線條結合而成的,想要繪制出復雜好看的內容先從畫直線開始 canvas繪制直線先認識幾個函數 beginPath();開始一條路徑,或重置當前的路徑 moveTo(x,y);用於規定

關於neo4j初入門2

結果 esc 添加 刪除節點 comm 瀏覽器 rom 關於 標記 DELETE刪除 刪除節點及相關節點和關系。 DELETE <node-name-list> DELETE <node1-name>,<node2-name>,&

SpringBoot 2.0入門2

SpringBoot 資料訪問 1.springboot整合使用JdbcTemplate 1.1 pom檔案引入 <parent> <groupId>org.springframework.boot</groupId> <arti

pytorch入門2-------神經網路的構建

https://blog.csdn.net/broken_promise/article/details/81174760 一、神經網路的構建: 激勵函式的選擇,如果層數較少的神經網路,激勵函式有多種選擇,在影象卷積神經網路中,激勵函式選擇ReLu,在迴圈神經網路中,選擇ReL或者Tanh。 所有的層結

Entity Framework Core 入門2

安裝 EF Core 將 EF Core 新增到不同平臺和常用 IDE 中的應用程式的所需步驟彙總。 分步入門教程 無需具備 Entity Framework Core 或任何特定 IDE 的原有知識,即可學習這些入門教程。 這些教程將逐步介紹如何建立用於查詢和儲存資料庫中資料的簡單應用程式。

大資料入門2安裝linux的jdk

1、上傳檔案到linux alt+p  進入ftp傳檔案 sftp> put E:\soft\jdk-7u71-linux-x64.tar.gz 2、建立資料夾解壓檔案(root使用者許可權) mkdir /usr/java tar -zxvf jdk-7u71-

快速入門完整:Python例項100個基於最新Python3.7版本

Python3 100例 原題地址: http://www.runoob.com/python/python-100-examples.html git地址: https://github.com/RichardFu123/Python100Cases 轉載請標註: https:

PHP入門2WampServer的安裝及使用

安裝 一直點選next即可。 如何檢驗環境配置成功 (1)開啟WampServer,會有一個cmd視窗一閃而過。 (2)桌面右下角工作列中WampServer圖示變為綠色,若一直為橙色或紅色則表示服務沒有完全開啟。 (3)左鍵單擊右下角工作列中WampServer圖示,單擊Lo

MVVM Light 新手入門2 :ViewModel / Model 中定義屬性 ,並在View中呼叫 利刃 MVVMLight

今天學習MVVM架構中“屬性”的新增並呼叫,特記錄如下,學習資料均來自於網路,特別感謝翁智華的利刃 MVVMLight系列。   一個視窗的基本模型如下: View(檢視) -> ViewModel (檢視模型)-> 多個Model(模型) 注: 檢視是使用者在螢幕上看到

購物系統2-資料庫設計

`-- MySQL Script generated by MySQL Workbench – 2018年12月01日 星期六 21時48分31秒 – Model: New Model Version: 1.0 – MySQL Workbench Forward Engineering

STM32 嵌入式學習入門2——STM32的GPIO介紹

STM32的GPIO介紹  GPIO:General Purpose Input Output ,即通用輸入/輸出,簡稱為GPIO。 GPIO應該是學習微控制器、學習嵌入式、學習STM32的第一個知識點了。在介紹GPIO相關的內容前,這裡先總得說一下自己對GPIO的理解。

STM32 嵌入式學習入門2——STM32的GPIO介紹 STM32 嵌入式學習入門3——STM32F103 按鍵輸入控制LED燈

STM32簡介及STM32學習方法簡介 STM32是新的基於ARM核心的32位MCU系列,該核心為ARM公司為要求高效能、低成本、低功耗的嵌入式應用專門設計的Cortex-M核心,該核心採用標準的ARM架構。該核心具有超前的體系結構以及高效能、低電壓、低功耗,且

03_Docker入門之容器建立容器使用容器刪除

運維架構服務docker:docker入門 一、確保docker就緒 檢視docker程式是否存在,功能是否正常 Docker可執行程式的info命令,該命令會返回所有容器和映象的數量、Docker使用的執行驅動和儲存驅動以及Docker的基本配置。 二、構建第一個容器 啟動容器,用docker