양명구
10/14/2026, 11:09 PMRocky
10/14/2026, 11:09 PMCREATE DATABASE 명령어로 생성하는 것이 아닙니다. StarRocks 시스템이 내부적으로 정의한 가상 뷰(Virtual View)들의 집합입니다.
* 시스템 정의: FE(Frontend)가 관리하는 메타데이터 정보를 ANSI SQL-92 표준 인터페이스에 맞춰 보여주기 위해 시스템이 자동으로 노출합니다.
2. 생성 기준 (Creation Criteria)
* Catalog별 독립 존재: StarRocks v3.2 버전부터 모든 *External Catalog*에도 `information_schema`가 자동으로 포함되도록 개선되었습니다.
* Internal Catalog: default_catalog 내에는 항상 기본적으로 존재합니다.
* External Catalog (Polaris 등): Catalog를 생성(CREATE EXTERNAL CATALOG)하면, StarRocks는 해당 외부 저장소(Iceberg/Polaris 등)의 메타데이터를 매핑하여 해당 Catalog 내부에 `information_schema`를 자동으로 구성합니다.
3. 생성 주기 (Creation Cycle)
* 실시간/캐시 기반: 별도의 생성 주기(Batch)를 가지고 물리적인 테이블을 만드는 것이 아닙니다. 쿼리 시점에 FE가 보유한 메타데이터 혹은 외부 메타스토어(Polaris)로부터 동기화된 정보를 실시간으로 보여주는 View 형태입니다.
* 동기화: 외부 Catalog의 경우, 메타데이터 캐시 설정(metastore_cache_ttl_sec)에 따라 실제 Polaris 서버와의 정보 동기화 간격이 결정됩니다.
4. 외부 인가 영역과 관련여부 (Polaris/OPA 등)
* StarRocks RBAC: 기본적으로 StarRocks 내부 권한 체계(Role-Based Access Control)의 통제를 받습니다. 사용자가 해당 Catalog에 대한 USAGE 권한이 있어야 information_schema 조회가 가능합니다.
* 외부 인가(OPA): StarRocks에 OPA가 연동되어 있다면, information_schema 및 그 내부 뷰에 대한 접근 여부도 OPA 정책에 따라 결정됩니다.
* Polaris와의 관계: Polaris Catalog 사용 시, `information_schema`는 Polaris가 관리하는 Iceberg 테이블들의 메타데이터(스키마, 파티션 등)를 StarRocks 내부에서 표준 SQL로 확인할 수 있는 창구 역할을 합니다. 만약 catalog.access.control 속성을 `allowall`로 설정하면 StarRocks의 자체 권한 체크를 건너뛰고 외부 서비스의 권한 체계를 따를 수 있습니다.
요약하자면: `information_schema`는 사용자가 관리하는 영역이 아닌 *시스템 관리 영역*이며, Catalog 생성 시 자동으로 매핑되어 제공되는 *메타데이터 조회용 인터페이스*입니다. v4.1.1 Shared-data 모드에서는 데이터 가시성(Observability)을 위해 `partitions_meta`나 `be_cloud_native_compactions`와 같은 추가적인 시스템 뷰들도 이 스키마를 통해 제공될 수 있습니다.
References
• sql-reference/sql-statements/Catalog/CREATE_EXTERNAL_CATALOG.md
• sql-reference/information_schema/information_schema.md
• data_source/catalog/catalog_overview.md