Flink CDC 里non-cdb database和cdb database有什么区别?

Flink CDC 里non-cdb database和cdb database有什么区别?6930072c3fe6d20a062da93d96934ebe.png

展开
收起
小小鹿鹿鹿 2024-03-11 16:47:56 75 发布于山西 分享
分享
版权
举报
阿里云 AI 助理回答

在Flink CDC的上下文中,non-cdb databasecdb database 的区别主要与数据库的架构模式相关,尤其是在Oracle数据库中。以下是两者的详细区别和适用场景:


1. CDB(Container Database)

CDB 是 Oracle 12c 及更高版本引入的一种多租户架构。在这种架构中,一个 CDB 包含多个 PDB(Pluggable Database),每个 PDB 是一个独立的逻辑数据库实例。CDB 本身是一个容器,用于管理多个 PDB。

  • 特点

    • 支持多租户架构,允许多个 PDB 共享同一个 CDB 的资源。
    • 每个 PDB 在逻辑上是独立的,但物理上共享 CDB 的存储和内存资源。
    • 提供更高的资源利用率和管理效率。
    • 在 Flink CDC 中,连接到 CDB 时需要指定目标 PDB 的名称,因为数据实际存储在 PDB 中。
  • 配置示例: 如果使用 Flink CDC 连接 Oracle CDB,通常需要在连接器配置中指定 PDB 名称。例如:

    CREATE TABLE source_table (
      id INT,
      name STRING,
      PRIMARY KEY (id) NOT ENFORCED
    ) WITH (
      'connector' = 'oracle-cdc',
      'hostname' = '<hostname>',
      'port' = '<port>',
      'username' = '<username>@<PDB_NAME>', -- 指定 PDB 名称
      'password' = '<password>',
      'database-name' = '<CDB_NAME>',
      'schema-name' = '<schema_name>',
      'table-name' = '<table_name>'
    );
    
  • 适用场景

    • 需要在一个统一的 CDB 中管理多个独立的数据库实例(PDB)。
    • 适用于大规模企业级应用,尤其是需要隔离不同业务部门或客户的场景。

2. Non-CDB(Non-Container Database)

Non-CDB 是 Oracle 12c 之前的传统数据库架构。在这种架构中,每个数据库是一个独立的实体,没有多租户的概念。

  • 特点

    • 每个数据库完全独立,不共享任何资源。
    • 管理和维护相对简单,但资源利用率较低。
    • 在 Flink CDC 中,直接连接 Non-CDB 数据库即可,无需额外指定 PDB。
  • 配置示例: 如果使用 Flink CDC 连接 Non-CDB 数据库,配置会更加直接。例如:

    CREATE TABLE source_table (
      id INT,
      name STRING,
      PRIMARY KEY (id) NOT ENFORCED
    ) WITH (
      'connector' = 'oracle-cdc',
      'hostname' = '<hostname>',
      'port' = '<port>',
      'username' = '<username>',
      'password' = '<password>',
      'database-name' = '<database_name>',
      'schema-name' = '<schema_name>',
      'table-name' = '<table_name>'
    );
    
  • 适用场景

    • 适用于中小型企业或不需要多租户隔离的场景。
    • 对于已经运行在 Oracle 11g 或更早版本上的系统,通常使用 Non-CDB 架构。

3. 关键区别总结

特性CDBNon-CDB
架构模式多租户架构,支持多个 PDB单一数据库实例
资源管理资源共享,提高利用率独立资源,利用率较低
配置复杂度需要指定 PDB 名称直接连接数据库,无需额外配置
适用版本Oracle 12c 及以上Oracle 11g 及以下
隔离性逻辑隔离,适合多租户场景完全独立,适合单一业务场景

4. 注意事项

  • 兼容性:如果您的 Oracle 数据库是从 Non-CDB 升级到 CDB 的,需要注意升级后的配置变化,确保 Flink CDC 连接器能够正确识别目标 PDB。
  • 权限管理:无论是 CDB 还是 Non-CDB,都需要确保连接用户具有足够的权限(如 SELECT、REPLICATION 等)以捕获变更数据。
  • 性能影响:CDB 架构下,多个 PDB 共享资源可能会对性能产生影响,建议根据业务需求合理分配资源。

通过上述内容,您可以根据实际的数据库架构选择合适的配置方式,并确保 Flink CDC 能够正确捕获数据变更。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

还有其他疑问?
咨询AI助理