Oracle 20C 多租戶_1.2 資料庫與例項介紹
1.2 資料庫和例項
Oracle 資料庫伺服器由一個資料庫和至少一個資料庫例項組成,通常簡稱為一個例項。
因為一個例項和一個資料庫是如此緊密地聯絡在一起,所以 Oracle 資料庫這個術語有時同時指例項和資料庫。 最嚴格地說,這些術語有下列含義 :
l 資料庫
資料庫是一組位於磁碟上的檔案,用於儲存使用者資料。 這些資料檔案可以獨立於資料庫例項而存在。 從 Oracle 資料庫 20c 開始, “ 資料庫 ” 特指多租戶容器資料庫 (CDB) 、可插拔資料庫 (PDB) 或應用程式容器的資料檔案。
l 例項
例項是一組命名的記憶體結構,用於管理資料庫檔案。 資料庫例項由共享記憶體區域 ( 稱為系統全域性區域 (SGA)) 和一組後臺程式組成。 例項可以獨立於資料庫檔案而存在。
1.2.1 多租戶架構
多租戶體系結構使 Oracle 資料庫成為 CDB 。
每個 Oracle 資料庫必須包含或能夠包含另一個資料庫。 例如, CDB 包含 pdb ,而應用程式容器包含應用程式 pdb 。 PDB 由 CDB 或應用程式容器包含,而應用程式容器由 CDB 包含。
從 Oracle Database 20c 開始,多租戶容器資料庫是唯一受支援的體系結構。 在以前的版本中, Oracle 支援非容器資料庫 (non-container databases, non-CDBs) 。
1.2.1.1 CDBs
一個 CDB 包含一個或多個使用者建立的 pdb 和應用程式容器。
在物理級別上, CDB 是一組檔案 : 控制檔案、線上重做日誌檔案和資料檔案。 由資料庫例項管理以上檔案稱為 CDB 。
下圖顯示了一個 CDB 和一個相關的資料庫例項。
· 圖 1-1 資料庫例項與 CDB
1.2.1.2 PDBs
PDB 是 schemas 、 schema 物件和 nonschema 物件的可移動集合,在應用程式中作為單獨的資料庫出現。
在物理級別,每個 PDB 都有自己的一組資料檔案,用於儲存 PDB 的資料。 CDB 包括所有 pdb 資料檔案,以及一組儲存 CDB 本身後設資料的系統資料檔案。
要移動或存檔 PDB ,可以拔掉它。 unplugged PDB 由 PDB 資料檔案和後設資料檔案組成。 unplugged PDB 在插入到 CDB 之前是不可用的。
下圖顯示了一個名為 MYCDB 的 CDB 。
· 圖 1-2 CDB 中的 PDBs
在物理上, MYCDB 是一個 Oracle 資料庫,即與一個例項關聯的一組資料檔案。 儘管在 Oracle Real 應用程式叢集中可以有多個例項,但 MYCDB 只有一個資料庫例項和一組資料庫檔案。
MYCDB 包含兩個 pdb: hrpdb 和 salespdb 。 如圖 1-2 所示,這些 pdb 在各自的應用程式中顯示為單獨的、獨立的資料庫。 應用程式不知道它是連線到 CDB 還是 PDB 。
要管理 CDB 本身或其中的任何 PDB ,您可以連線到 CDB root 。 root 是所有 pdb 和應用程式容器所屬的模式、模式物件和非模式物件的集合。
· 1.2.1.3 應用程式容器
應用程式容器是 CDB 中一個可選的、使用者建立的容器,用於儲存一個或多個應用程式的資料和後設資料。
application( 也稱為主應用程式定義 ) 是儲存在 application root 中的一組已命名的、版本化的公共資料和後設資料。 例如, application 可能包括表、檢視、使用者帳戶和 PL/SQL 包的定義,這些定義對於一組 pdb 是通用的。
在某些方面,應用程式容器充當 CDB 中的特定於應用程式的 CDB 。 與 CDB 本身一樣,一個應用程式容器可以包含多個應用程式 pdb ,並允許這些 pdb 共享後設資料和資料。 在物理級別上,應用程式容器 像 PDB 一樣 , 具 有自己的一組資料檔案。
例如, SaaS 部署可以使用多個應用程式 pdb ,每個 pdb 用於一個單獨的客戶,該客戶共享應用程式後設資料和資料。 例如,在下面的圖中, sales_app 是應用程式根目錄中的應用程式模型。 名為 cust1_pdb 的應用程式只包含客戶 1 的銷售資料,而名為 cust2_pdb 的應用程式只包含客戶 2 的銷售資料。 對於單個客戶 PDBs ,可以進行插入、撥出、克隆和其他 pdb 級操作。
· 圖 1-3 SaaS 用例
· 1.2.2 Sharding 架構
Oracle Sharding 是一種基於跨多個 pdb 的資料水平分割槽的資料庫擴充套件技術。 應用程式將 PDBs 池視為單個邏輯資料庫。
sharding 對於 OLTP 應用程式的主要好處包括線性可伸縮性、故障包容和地理資料分佈。 sharding 非常適合在 Oracle 雲中部署。 與實現 sharding 的 NoSQL 資料儲存不同, Oracle sharding 提供了 sharding 的優點,同時又不犧牲企業 RDBMS 的功能。
在 sharding 架構中,每個 CDB 都託管在一個專用伺服器上,伺服器上有自己的本地資源 :CPU 、記憶體、 flash 或磁碟。 可以將 PDB 指定為 shard 。 來自不同 cdb 的 PDB shard 組成一個邏輯資料庫,稱為 sharded 資料庫。 同一個 CDB 中的兩個 shard 不能是同一個 sharded 資料庫的成員。 但是,在同一個 CDB 中,一個 PDB 可以在一個 sharded 資料庫中,另一個 PDB 可以在一個單獨的 sharded 資料庫中。
水平分割槽將一個資料庫表拆分,每個分片包含具有相同列但不同行的子集。 以這種方式分割的表也稱為 sharded table 。 下圖顯示了一個經過水平分割的 sharded table ,它橫跨三個 shards ,每個 shard 都是單獨 CDB 中的 PDB 。
圖 1-4 水平分割槽的 sharded table
以下示例是跨多個 CDBs 儲存客戶帳戶資料。 例如, ID 為 28459361 的客戶可以查詢他的記錄。 下圖顯示了一種可能的結構。 客戶請求通過連線池路由,其中分片控制器 ( 網路監聽器 ) 將請求定向到適當的 PDB 分片,該分片包含所有客戶行。
Figure 1-5 Oracle Sharding Architecture
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31442014/viewspace-2687445/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 20C 多租戶_體系結構介紹Oracle
- Oracle 20C 多租戶_新特性Oracle
- oracle資料庫與oracle例項Oracle資料庫
- Oracle 12c系列(一)|多租戶容器資料庫Oracle資料庫
- Oracle多租戶管理員指南-體系結構介紹01Oracle
- laravel多租戶之artisan命令列使用介紹Laravel命令列
- Java CXF介紹與例項Java
- oracle資料庫建立資料庫例項-九五小龐Oracle資料庫
- EF多租戶例項:演變為讀寫分離
- Oracle資料庫審計功能介紹Oracle資料庫
- 1.2. 多租戶體系結構的優點
- 技術解讀資料庫如何實現“多租戶”?資料庫
- 多租戶解析與Demo
- 資料庫正規化與例項資料庫
- Part II 配置和管理多租戶環境概述-Oracle多租戶管理員指南Oracle
- MaxCompute多租戶資料安全體系
- 1.2.2. 多租戶對於資料庫整合的好處資料庫
- Oracle多租戶架構優勢分析Oracle架構
- Oracle 11G資料庫單例項安裝Oracle資料庫單例
- Oracle 12c 多租戶專題|CDB後設資料內幕Oracle
- MariaDB資料庫的外來鍵約束例項程式碼介紹詳解資料庫
- 資料庫租戶能力大調研資料庫
- 多個資料庫是否可以共有一個Oracle 11g RAC例項KG資料庫Oracle
- 多租戶
- 資料庫介紹資料庫
- 簡單介紹python深度學習tensorflow例項資料下載與讀取Python深度學習
- oracle 11g 單例項資料庫的安裝Oracle單例資料庫
- 2.10.1 在non-CDB(非多租戶)環境中克隆資料庫資料庫
- 探索 Python/Django 支援分散式多租戶資料庫,如 Postgres+CitusPythonDjango分散式資料庫
- Part I CDB中表空間和資料庫檔案的概述05-Oracle多租戶管理員指南資料庫Oracle
- 【資料庫資料恢復】ASM例項不能掛載的Oracle資料庫資料恢復案例資料庫資料恢復ASMOracle
- 資料庫介紹--初識資料庫資料庫
- CMakeLists.txt 語法介紹與例項演練
- [轉]Oracle資料庫ASH和AWR的簡單介紹Oracle資料庫
- Oracle資料庫使用者安全策略功能介紹Oracle資料庫
- Oracle多租戶管理員指南-CDB共性概念03Oracle
- 【kingsql分享】Oracle Database 20c 十大新特性介紹SQLOracleDatabase
- 關係型資料庫與非關係型資料庫介紹!資料庫