데이터베이스 개발 가이드

데이터베이스 리뷰

  • 작업 중인 기능의 설계 단계에서 데이터베이스 관련 변경 사항을 추가하는 경우, 쿼리를 추가하거나 수정하는 경우, 리뷰 단계에서 늦은 시간에 놀라운 사항을 피하기 위해 조기에 explain 계획을 시작하세요.
  • 언제든지 쿼리를 최적화하거나 explain 계획을 이해하는 데 도움이 필요한 경우 #database에서 지원을 요청하세요.
  • 리뷰를 위해 데이터베이스 MR을 생성하는 경우, 데이터베이스 리뷰 지침을 확인하세요.

    데이터베이스 관련 변경, 마이그레이션 및 복잡한 SQL 쿼리에 대한 소개가 제공됩니다.

  • 데이터베이스 리뷰어인 경우 또는 그렇게 되고 싶은 경우, 데이터베이스 변경 리뷰 소개를 확인하세요.

도구

마이그레이션

테이블 파티셔닝

디버깅

최상의 실천법

  • 데이터베이스 인덱스 추가(adding_database_indexes.md)
  • 기존 열에 외래 키 제약 추가(기존 열에 외래 키 추가.md)
  • 업그레이드 전에 백그라운드 마이그레이션 확인(../../update/background_migrations.md)
  • 클라이언트 측 연결 풀(client_side_connection_pool.md)
  • 제약 조건 네이밍 컨벤션(constraint_naming_convention.md)
  • Enum 생성(creating_enums.md)
  • 데이터 레이아웃 및 액세스 패턴(layout_and_access_patterns.md)
  • 효율적인 IN 연산자 쿼리(efficient_in_operator_queries.md)
  • 외래 키 및 연관 관계(foreign_keys.md)
  • 해시 인덱스(hash_indexes.md)
  • 일괄적으로 테이블에 삽입(insert_into_tables_in_batches.md)
  • 일괄적으로 테이블 반복(iterating_tables_in_batches.md)
  • 로드 밸런싱(load_balancing.md)
  • NOT NULL 제약 조건(not_null_constraints.md)
  • 테이블 열 정렬(ordering_table_columns.md)
  • 페이지네이션 가이드(pagination_guidelines.md)
    • 페이지네이션 성능 가이드(pagination_performance_guidelines.md)
  • 다형식 연관 관계(polymorphic_associations.md)
  • 쿼리 카운트 제한(query_count_limits.md)
  • 쿼리 성능 가이드(query_performance.md)
  • 데이터 직렬화(serializing_data.md)
  • 단일 테이블 상속(single_table_inheritance.md)
  • SHA1 해시를 이진으로 저장(sha1_as_binary.md)
  • 문자열 및 텍스트 데이터 유형(strings_and_the_text_data_type.md)
  • 여러 값 업데이트(setting_multiple_values.md)
  • 데이터베이스 기능 확인(verifying_database_capabilities.md)

케이스 스터디

GitLab 관리자를 위한 PostgreSQL 정보

스케일링을 위한 사용자 정보

GitLab 관리자를 위한 스케일링을 위한 PostgreSQL 구성에 대한 정보가 있으며, 주요 방법에는 다음이 포함됩니다:

ClickHouse

기타