InfoGrab DocsInfoGrab Docs

데이터베이스 딕셔너리

GitLab의 데이터베이스 스키마와 딕셔너리 파일의 구조, 추가·삭제 방법, 샤딩 키 및 조직 이전 지원 필드에 대해 설명합니다.

이 페이지는 GitLab의 데이터베이스 스키마를 문서화하여, 데이터 분석가 및 다른 그룹이 특정 데이터베이스 테이블을 담당하는 기능 카테고리를 찾을 수 있도록 합니다. 위치 # 데이터베이스 딕셔너리 메타데이터 파일은 main , ci , sec 데이터베이스의 경우 gitlab 프로젝트의 db/docs/ 디렉터리에 저장됩니다. embedding 데이터베이스의 경우 딕셔너리 파일은 ee/db/embedding/docs/ 에 저장됩니다. geo 데이터베이스의 경우 딕셔너리 파일은 ee/db/geo/docs/ 에 저장됩니다. 딕셔너리 파일 예시 # --- table_name: terraform_states classes: - Terraform::State feature_categories: - infrastructure_as_code description: Represents a Terraform state backend introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26619 milestone: '13.0' gitlab_schema: gitlab_main_org sharding_key: project_id: projects table_size: small 테이블 추가 # 스키마 # 속성 타입 필수 여부 설명 table_name String 예 데이터베이스 테이블 이름. classes Array(String) 아니오 이 테이블과 연관된 클래스 목록. feature_categories Array(String) 예 이 테이블을 사용하는 기능 카테고리 목록. description String 아니오 테이블에 저장된 정보와 그 목적에 대한 텍스트 설명. introduced_by_url URL 아니오 이 테이블을 도입한 머지 리퀘스트 또는 커밋의 URL. milestone String 예 이 테이블을 도입한 마일스톤. gitlab_schema String 예 GitLab 스키마 이름. notes String 아니오 코멘트 용도로 사용. Psych가 YAML 코멘트를 파싱할 수 없으므로 이 필드를 사용합니다. table_size String 예 GitLab.com에서의 현재 테이블 크기 분류. 1 크기에는 인덱스가 포함됩니다. 파티셔닝된 테이블의 경우 크기는 가장 큰 파티션의 크기입니다. 유효한 옵션: unknown, small (< 10 GB), medium (< 50 GB), large (< 100 GB), over_limit (100 GB 초과). organization_transfer_support String 조건부 sharding_key에 organization_id가 포함된 경우 필수. 조직 이전 지원을 참조하세요. sharding_key Hash 조건부 테이블을 조직과 연결하는 데 사용되는 칼럼을 식별합니다. 칼럼에 NOT NULL 제약 조건이 있는 경우에만 설정합니다. 샤딩 키 필드를 참조하세요. desired_sharding_k