首批通过分布式安全可靠测评,为关键业务系统打造
Catalog 概述
更新时间:2026-03-29 19:31:17
在 OceanBase 数据库 V4.3.5 BP2 之前版本中,用户访问外部数据源需通过 CREATE EXTERNAL TABLE 手动创建映射表。当外部数据源包含大量表时,需要用户手动进行一一映射,灵活性不足。
为方便查询存储在各类外部数据源的数据,OceanBase 数据库引入了 Catalog(数据目录) 功能,通过新增数据层级实现对外部数据源的统一管理。
Catalog 类型
Catalog 分为以下两类:
Internal Catalog(内部数据目录)
用于管理保存在 OceanBase 数据库内部的数据。每个租户都有且只有一个名为
internal的内部数据目录。在 V4.3.5 BP2 之前的所创建的数据库和数据库内的对象(例如:表)都可认为保存在internal中。Internal Catalog 不可创建、删除、修改。External Catalog(外部数据目录)
用于连接外部数据源,获取外部数据的元信息。可以通过 External Catalog 直接查询外部数据,无需进行数据导入或迁移。
Catalog 优势
多层级数据管理架构
在原有 Database-Table 层级基础上,新增 Catalog 层,形成 Catalog-Database-Table 三层结构,支持直接访问外部数据源的目录树。
自动映射与按需查询
只需通过
CREATE EXTERNAL CATALOG声明与外部数据源的连接,即可透传查询外部表,无需手动创建映射表。统一查询体验
查询外部数据源时,语法与本地表一致,支持跨源关联分析。
Catalog 功能特点
支持多数据源
支持 ODPS(MaxCompute)、HMS(Hive、Iceberg) 等外部数据源。
权限隔离
通过 Catalog 层控制外部数据源的访问权限,保障数据安全。
性能优化
基于 Catalog 的查询计划优化,减少中间数据传输,提升跨源查询效率。
适用场景
联合分析
需要对 OceanBase 数据库数据与外部数据源进行联合分析的场景。
数据湖/仓联动
构建统一的数据湖架构,直接查询存储在 ODPS、Hive 等外部系统的海量数据。
ETL 管道优化
减少数据迁移步骤,通过 Catalog 直接访问源系统数据,降低 ETL 开发复杂度。
使用限制
当前版本 Catalog 里面的数据是只读的(read-only),暂时不支持修改。所有对 Catalog 下对象的修改语句都会被禁止执行,例如,DROP TABLE、INSERT INTO 等。