본문으로 건너뛰기

스키마 편집기

스키마 편집기에서 엔티티와 관계의 속성, 식별 키, 표시 컬럼을 정의합니다. 엔티티나 관계를 만들거나 편집할 때 속성 탭에서 엽니다.

생성 후 변경 제한

엔티티나 관계를 만든 뒤에는 기존 속성의 삭제·이름 변경, 데이터 타입·NULL 허용 여부 변경, 식별 키 변경을 지원하지 않습니다. 이 항목을 바꾸려면 엔티티나 관계를 삭제하고 다시 만들어야 합니다.

삭제하기 전에 해당 자산을 참조하는 관계와 파이프라인을 확인합니다. 재생성한 뒤에는 파일을 다시 올리거나 파이프라인 연결을 확인해 데이터를 다시 적재합니다. 새 속성 추가와 기존 속성의 별칭·설명 수정은 가능합니다.

편집 모드

모드용도적합한 상황
테이블필드를 한 줄씩 그 자리에서 편집대부분의 스키마 정의·수정 작업
JSON스키마를 JSON 텍스트로 직접 작성외부 스키마 붙여넣기, 세밀한 조정
모드 전환

편집기 위쪽의 토글로 테이블JSON 모드를 바꿉니다. 한 모드에서 작성한 내용은 다른 모드로 넘어가도 그대로 남습니다.

테이블 모드

각 필드(컬럼)는 한 줄로 표시됩니다. 데이터 종류는 필드 옆의 색 아이콘으로 구분합니다.

스키마 편집기의 테이블 모드—식별 키 요약과 속성 행

필드 행 구성

  • 타입 아이콘: 데이터 종류(텍스트 · 숫자 · 날짜/시간 · 불리언 · 복합)를 색으로 구분합니다.
  • 이름 / 별칭 / 설명: 칸을 클릭해 바로 고칩니다. 별칭·설명·필드 이름은 AI 생성 버튼으로 자동으로 채울 수 있습니다.
  • 데이터 타입: 종류별로 묶여 있고 검색도 되는 선택기에서 고릅니다. Numeric(숫자) 타입은 자릿수(정밀도, precision)와 소수점 이하 자릿수(스케일, scale)를 함께 지정합니다.
  • NULL 허용: NOT NULL / NULL 배지를 클릭해 값이 비어 있어도 되는지(NULL 허용) 여부를 바꿉니다.
  • 식별 키: 각 줄의 키 아이콘으로 지정하거나 해제합니다. 지정 방법은 식별 키와 표시 컬럼에서 확인합니다.
  • 작업: 필드를 삭제합니다.

필드 순서는 왼쪽 드래그 손잡이를 잡아 끌거나, 손잡이에 포커스를 둔 뒤 방향키(↑/↓)로 바꿀 수 있습니다. 여기서 정한 순서는 저장되는 스키마에 그대로 반영됩니다.

편집기 위쪽에는 다음 버튼들이 있습니다.

  • 네이티브 타입 표시: 화면에 보이는 데이터 타입을 실제 저장 타입 이름(예: utf8, int64)으로 바꿔 표시합니다.
  • 속성 추가: 새 필드 줄을 하나 추가합니다.
  • AI 속성 제안: 엔티티의 맥락을 바탕으로 어떤 속성을 두면 좋을지 AI에게 제안받습니다.

식별 키와 표시 컬럼

식별 키와 표시 컬럼은 컬럼 하나하나가 아니라 스키마 전체에 적용되는 설정이라, 테이블 위쪽 요약 영역에서 관리합니다.

  • 식별 키: 데이터를 새로 넣거나 갱신할 때(Upsert) 각 행을 구별하는 컬럼입니다. 각 필드 줄의 키 아이콘을 눌러 지정합니다. 여러 컬럼을 지정하면 순서가 있는 복합 식별 키가 됩니다. 요약 영역에서 키 순서를 조정합니다. 식별 키가 비어 있으면 해당 엔티티를 파이프라인의 입력·출력으로 사용할 수 없습니다.
  • 표시 컬럼: 그래프에서 엔티티 노드의 이름으로 보여줄 컬럼입니다(스키마마다 하나).

JSON 모드

같은 스키마를 JSON 텍스트로 편집합니다. 외부에서 만든 스키마를 붙여넣거나 기존 스키마를 복사해 수정합니다. 문법이나 형식이 잘못되면 입력 중에 오류가 표시됩니다.

스키마는 fields 배열로 이뤄지고, 각 필드는 다음 항목을 가집니다.

  • name: 필드 이름 (필수)
  • type: 저장 데이터 타입 (예: utf8, int64, float64, bool, decimal)
  • nullable: 값이 비어 있어도 되는지 여부 (true / false)
  • metadata: 별칭(alias)·설명(comment)·원본 JSON에서 값을 가져올 경로(jsonpath) 등 부가 정보

식별 키와 표시 컬럼은 스키마 전체에 적용되는 설정이므로 스키마 수준 metadatakeys, display_column에 담깁니다.

{
"fields": [
{ "name": "id", "nullable": false, "type": { "name": "utf8" } },
{
"name": "email",
"nullable": true,
"type": { "name": "utf8" },
"metadata": { "alias": "이메일", "comment": "고객 이메일" }
},
{
"name": "amount",
"nullable": true,
"type": { "name": "decimal", "precision": 12, "scale": 4 }
}
],
"metadata": { "keys": "id", "display_column": "email" }
}
필수 필드

각 필드의 nametype은 반드시 있어야 합니다. 빠져 있거나 형식이 맞지 않으면 오류가 표시되고 저장할 수 없습니다.

CSV로 스키마 시작하기

CSV 파일 올리기는 엔티티·관계나 데이터셋을 새로 만들 때만 사용합니다. 파일의 헤더와 예시 값으로 필드와 데이터 타입을 추론해 스키마 초안을 생성합니다. 기존 엔티티·관계를 편집할 때는 테이블·JSON 모드만 사용합니다.

기존 스키마 편집하기

기존 속성에는 잠금 표시가 붙고 별칭과 설명만 수정합니다. 새 속성은 추가할 수 있습니다. 기존 스키마를 편집할 때 JSON 모드는 읽기 전용으로 열립니다.

스키마 저장 오류와 모델링의 모델 품질 진단은 범위가 다릅니다. 스키마 편집기는 필드 형식과 변경 가능 여부를 검사하고, 모델 품질 진단은 현재 컬렉션의 중복 이름·고립·순환·자기 참조·별칭 누락 같은 모델 구조를 검사합니다.