什么是容器数据库?

2023 年 8 月 8 日

随着 2024 年 Oracle Database 23ai 的发布,“容器数据库”也成为了一项关键功能。此外,从 Oracle Database 21c 开始,多租户容器数据库成为了为数不多受支持的架构。就像“可插入数据库”一样,它本质上使数据更易于访问和移植,“可插入”(pluggable) 这个术语强调了该数据库可以插入到不同的容器中。容器数据库可将多个数据库组合在一起,共享通用功能。具体来说,“容器多租户容器数据库 (CDB) 中的 schema、对象和相关结构的集合。在 CDB 中,每个容器都有一个唯一的 ID 和名称。”因此,CDB 包含了零个、一个或多个客户创建的可插入数据库 (PDB) 和应用容器。

其中,CDB 包含了两个数据库,即根容器和子容器。根容器主要是一些用户信息和 Oracle 元数据。子容器则是 CDB 内的可插入数据库,可作为一种模板来创建更多 PDB。与任何常规数据库一样,PDB 包含支持您使用 IDE 连接和操作数据库的对象、数据和 schema。

为什么 CDB 中会有多个数据库?虽然这看似增加了复杂性,但却能够带来更多的灵活性和更有效的资源利用。通过将这些资源打包在一起,我们可以更轻松地将数据与代码移动到任何需要的地方,无需在多个虚拟机上管理多个数据库。正如开发人员在 Kubernetes 等项目中发现的,在多个上下文中使用容器的优势显著 — CDB 也为数据库提供了类似的机会。

主要优势包括:

  • 更有效地利用资源
  • 更轻松地跨资源复制和访问
  • 可移植性
  • 更易于管理,包括用户和管理控制

容器和可插入数据库仍然可以像任何传统数据库一样访问和使用,开发人员可以使用许多熟悉的 IDE(如 SQL Developer)来连接和管理 CDB/PDB。开发人员主要通过连接到 CDB 内的可插入数据库来按需管理数据。

如需深入了解有关 Oracle Database 23ai 中介绍的数据库概念以及 CDB 与 PDB 之间的差异,请参阅 Oracle Database Concepts 页面Oracle Database 23ai 以之前的创新为基础,引入了大量新功能,包括 JSON Relational Duality、微服务支持和 SQL 增强功能。

注:为免疑义,本网页所用以下术语专指以下含义:

  1. 除Oracle隐私政策外,本网站中提及的“Oracle”专指Oracle境外公司而非甲骨文中国 。
  2. 相关Cloud或云术语均指代Oracle境外公司提供的云技术或其解决方案。