如何運作
"What is it? It's it" - Epic, Faith No More
歡迎回到這個關於在 Navicat 16 中使用資料表空間的系列。第 1 部分介紹了資料表空間的一些優點,包括可復原性、輕易加入更多資料表、自動儲存體管理以及隔離緩存集區中的資料以提高效能或記憶體使用率。而第二部分將提供更多資訊關於什麼是資料表空間、它們如何運作以及在各種關聯式資料庫產品中的預設資料表空間類型。本系列的下一部分和最後一部分將重點介紹如何在 Navicat 16 中管理資料表空間。
資料表空間作為容器
你可以將資料表空間視為容器。這些容器可以是目錄名稱、裝置名稱或文件名稱。一個資料表空間可以有多個容器。而且,雖然可以在同一物理儲存裝置上建立多個容器(來自一個或多個資料表空間),但如果你建立的每個容器都使用不同的儲存裝置,則可獲得最佳效能。下圖說明了資料庫中資料表和資料表空間之間的關係:
資料表空間和資料庫管理員
資料庫管理員的作用是平衡容器間的資料負載。因此,所有容器或多或少都用於儲存資料。同時,資料庫管理員並不總是在第一個容器中開始儲存資料表資料。在使用不同容器之前,資料庫管理員寫入容器的頁面數量稱為「範圍大小」。
下圖顯示了資料表空間的組成部分,包括範圍大小:
預設資料表空間
大多數關聯式資料庫都有自己的內建資料表空間。以下有一些範例:
Oracle
Oracle 有以下的預設資料表空間:SYSTEM、SYSAUX、USERS、UNDOTBS1 和 TEMP:
- SYSTEM 和SYSAUX 資料表空間儲存系統產生的物件,例如資料字典資料表。不應在這些資料表空間儲存任何物件。
- USERS 資料表空間對特定使用者很有用。
- UNDOTBS1 儲存復原資料。
- TEMP 是臨時資料表空間,用於儲存排序、雜湊和大型物件處理作業的中繼結果。
MySQL
只有 InnoDB 引擎支援資料表空間,如下所示:
- 系統資料表空間
- File-Per-Table 資料表空間
- Undo 資料表空間
DB2
建立新資料庫時,資料庫管理員會為資料庫建立一些預設的資料表空間。這些資料表空間用作使用者和臨時資料的儲存體。每個資料庫必定有至少三個資料表空間,如下所示:
- Catalog 資料表空間
- User 資料表空間
- Temporary資料表空間
預告
有關資料表空間的第二部分到此結束。本文提供了更多資訊關於什麼是資料表空間、它們如何運作以及在各種關聯式資料庫產品中的預設資料表空間類型。本系列的下一部分和最後一部分將重點介紹如何在 Navicat 16 中管理資料表空間。