주요 개념
카탈로그
카탈로그는 Data Catalog에서 사용자 데이터의 메타데이터를 저장하고 관리하는 중앙 리포지토리입니다.
- 사용자 네트워크가 다른 카탈로그 간에는 메타데이터가 공유되지 않습니다.
- Data Catalog를 활성화하면 사용자는 VPC(서브넷)를 지정해서 카탈로그를 생성할 수 있습니다.
- 카탈로그는 고가용성(HA)으로 운영됩니다.
- 사용자는 카탈로그에 소유한 데이터의 테이블 정의와 저장 경로 같은 메타데이터를 저장하고, 수정하며, 삭제할 수 있습니다.
- 카탈로그는 Apache Hive Metastore와 호환됩니다.
데이터베이스
Data Catalog의 데이터베이스는 테이블을 저장하는 컨테이너입니다.
- 데이터베이스는 메타데이터 테이블을 구성하는 데 사용됩니다.
- 테이블은 하나의 데이터베이스에만 속할 수 있습니다.
- 카카오클라우드 콘솔의 데이터베이스 목록에서는 프로젝트에 속한 모든 데이터베이스를 볼 수 있습니다.
테이블
Data Catalog에서 테이블은 데이터 스토어의 데이터를 표현하는 메타데이터입니다. 카카오클라우드 콘솔에서 테이블을 생성할 수 있으며, 콘솔의 테이블 목록에는 테이블의 메타데이터 값이 표시됩니다.
- 테이블은 스키마, 파티션, 테이블 속성 등 하위 메타데이터를 포함합니다.
- 테이블을 수동으로 생성하고 테이블 정보를 수정할 수 있습니다.
- 데이터 카탈로그를 Hadoop Eco의 메타스토어로 사용하는 경우, 마이그레이션된 테이블의 정보도 수정할 수 있습니다.
크롤러
Data Catalog에서 크롤러는 MySQL 데이터를 스캔하여 메타데이터를 추출하고 Data Catalog를 자동으로 업데이트하여 데이터 검색을 간편하게 돕는 기능입니다. 카카오클라우드 콘솔에서 크롤러를 생성할 수 있으며, 테이블 목록에는 크롤러로 생성된 테이블 값이 표시됩니다.
- 크롤러에서 추출된 스키마는 Data Catalog 테이블에 저장되며, 테이블 이름은 Prefix + MySQL의 데이터베이스 이름_테이블 이름으로 설정됩니다.
- 크롤러 실행 내역은 최대 90일까지 노출되며, 90일이 경과된 실행 내역은 자동 삭제됩니다.
- 스케줄을 통해 크롤러 실행 일정을 설정할 수 있습니다.
리소스 상태 정보와 생명주기
Data Catalog에서 상태를 확인할 수 있는 리소스는 카탈로그, 데이터베이스, 테이블입니다. 카탈로그를 생성하면 사용자 소유에 대한 데이터 자산의 메타데이터를 저장하고 관리하는 중앙 리포지토리를 생성합니다. (생성에는 약 10분 정도가 소요됩니다.) 카탈로그는 완전 관리형 중앙 리포지토리로 운영 상태와 종료 상태를 포함하는 다양한 상태값을 가지며, 사용자는 이를 확인하여 카탈로그의 현재 상태를 파악하고 할 수 있습니다.
리소스별 상태 정보는 다음과 같습니다.
카탈로그의 생명 주기
카탈로그의 상태
상태 | 설명 |
---|---|
INIT | 카탈로그 생성 직후 상태 |
PROVISIONING | Catalog가 사용할 VM을 생성하는 상태 |
RUNNING | Catalog가 실행중이며, 사용 가능한 상태 |
FATAL | Catalog에 오류가 발생하여 복구 불가능한 상태 |
TERMINATING | Catalog를 종료하기 위해서 하드웨어 리소스를 반납하는 상태 |
TERMINATED | Catalog가 종료되어 사용할 수 없는 상태 |
데이터베이스와 테이블의 상태
데이터베이스와 테이블은 생성, 수정, 삭제 동작에 의해 상태가 변하고, 각각의 상태에 의해서 관리됩니다.
상태는 데이터베이스와 테이블의 동작에 영향을 미치며, 상태에 따라 다음 동작에 영향을 받습니다.
테이블은 스스로 상태를 소유할 뿐만 아니라 데이터베이스의 상태에도 영향을 받습니다.
예를 들어, 테이블은 데이터베이스가 ACTIVE
또는 ALTERING
상태인 경우에만 생성되거나 수정될 수 있습니다.
상태 | 설명 |
---|---|
CREATING | Database, Table 생성 중 |
ALTERING | Database, Table 수정 중 |
DELETING | Database, Table 삭제 중 |
ACTIVE | Database, Table 사용 가능 |
INACTIVE | Database, Table 사용 불가 |
크롤러의 상태
크롤러는 생성, 수정, 실행, 삭제 동작에 의해 상태가 변하고, 각각의 상태에 의해서 관리됩니다.
또한 데이터베이스와 MySQL의 상태에도 영향을 받습니다.
예를 들어, MySQL의 상태가 Available
인 경우에만 크롤러가 생성되거나 동작할 수 있습니다.
상태 | 설명 |
---|---|
CREATING | 크롤러 생성 중 |
ALTERING | 크롤러 수정 중 |
DELETING | 크롤러 삭제 중 |
ACTIVE | Database, Table 사용 가능 |
RUNNING | 크롤러 실행 중 |
INACTIVE | 크롤러 사용 불가 (ex, 데이터베이스가 삭제된 경우 INACTIVE 상태로 변경) 단, 크롤러 기록은 확인 가능 |