中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle 20C 多租戶_1.2 數據庫與實例介紹

發布時間:2020-08-09 04:26:37 來源:ITPUB博客 閱讀:390 作者:orastar 欄目:關系型數據庫

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

  Oracle 20C 多租戶_1.2 數據庫與實例介紹

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

Oracle 20C 多租戶_1.2 數據庫與實例介紹 

在物理上, 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 用例

  Oracle 20C 多租戶_1.2 數據庫與實例介紹

·          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

Oracle 20C 多租戶_1.2 數據庫與實例介紹

以下示例是跨多個 CDBs 存儲客戶帳戶數據。 例如, ID 28459361 的客戶可以查詢他的記錄。 下圖顯示了一種可能的結構。 客戶請求通過連接池路由,其中分片控制器 ( 網絡監聽器 ) 將請求定向到適當的 PDB 分片,該分片包含所有客戶行。

Figure 1-5 Oracle Sharding Architecture

Oracle 20C 多租戶_1.2 數據庫與實例介紹

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

清水河县| 大姚县| 禹城市| 昆明市| 井研县| 仪征市| 肃宁县| 玉林市| 稷山县| 临湘市| 云林县| 当阳市| 琼结县| 射阳县| 高密市| 商都县| 商河县| 湖州市| 三门峡市| 灌阳县| 金塔县| 囊谦县| 建瓯市| 远安县| 嘉善县| 新巴尔虎左旗| 泸溪县| 高青县| 阳城县| 凤庆县| 驻马店市| 滦南县| 民勤县| 焦作市| 泗阳县| 宝鸡市| 绍兴市| 定边县| 固安县| 东至县| 叙永县|