집계형 Value Stream Analytics
GitLab Value Stream Analytics(VSA)의 집계형 백엔드 아키텍처, 데이터 로딩 방식, 쿼리 구조, 엔드포인트 및 데이터베이스 분해 준비 상태를 설명합니다.
이 페이지는 Value Stream Analytics(VSA)의 집계형 백엔드에 대한 고수준 개요를 제공합니다. 이 페이지는 향후 제품, 기능 및 기능성과 관련된 정보를 담고 있습니다. 여기에 제시된 정보는 정보 제공 목적으로만 활용해야 합니다. 구매 또는 계획 목적으로 이 정보를 참고하지 마세요. 제품, 기능 또는 기능성의 개발, 릴리스 및 일정은 변경되거나 지연될 수 있으며, 전적으로 GitLab Inc.의 재량에 달려 있습니다. 현재 상태 # 집계형 백엔드는 GitLab 15.0부터 그룹 수준에서 기본으로 사용됩니다. 도입 배경 # 집계형 백엔드는 VSA 기능의 성능 한계를 해결하고 장기적인 성장을 위한 기반을 마련하는 것을 목표로 합니다. 기본 데이터베이스는 분석 워크로드를 위한 준비가 되어 있지 않습니다. 장시간 실행되는 쿼리는 애플리케이션의 안정성에 영향을 줄 수 있습니다. 대규모 그룹의 경우, 현재 구현(구 백엔드)은 속도가 느리고, 경우에 따라서는 구성된 구문 타임아웃(15초)으로 인해 로드되지 않기도 합니다. 구 백엔드의 데이터베이스 쿼리는 IssuableFinders 클래스를 통해 핵심 도메인 모델을 직접 사용합니다: ( MergeRequestsFinder 및 IssuesFinder ). 날짜 범위 필터 변경 요청으로 인해 이 접근 방식은 성능 측면에서 더 이상 실행 가능하지 않게 되었습니다. 집계형 VSA 백엔드의 장점: 더 단순한 데이터베이스 쿼리 (더 적은 JOIN). 더 빠른 집계, 단일 테이블만 접근. 첫 페이지 로드 시간 개선을 위한 추가 집계 도입 가능성. 대규모 그룹(많은 하위 그룹, 프로젝트, 이슈 및 머지 리퀘스트 포함)에 대한 향상된 성능. 데이터베이스 분해 준비 완료. VSA 관련 데이터베이스 테이블을 최소한의 개발 노력으로 별도의 데이터베이스에 둘 수 있음. 데이터 내보내기에 유용할 수 있는 키셋 페이지네이션 준비 완료. 더 복잡한 이벤트 정의 구현 가능성. 예를 들어, 시작 이벤트는 두 개의 타임스탬프 칼럼일 수 있으며, 시스템은 가장 이른 값을 사용합니다. 예시: MIN(issues.created_at, issues.updated_at) 구성 예시 # [ ](/19.1/development/value_stream_analytics/img/object_hierarchy_v14_10.png) 이 예시에서 Test Group (최상위 네임스페이스) 내에서 서로 다른 개발 워크플로를 사용하는 두 팀을 위해 두 개의 독립적인 value stream이 설정됩니다. 첫 번째 value stream은 Stage를 정의하기 위해 표준 타임스탬프 기반 이벤트를 사용합니다. 두 번째 value stream은 라벨 이벤트를 사용합니다. 예시의 각 value stream과 Stage 항목은 데이터베이스에 저장됩니다. Deployment Stage는 두 value stream 모두에 동일하므로, 두 Stage의 기본 stage_event_hash_id 가 동일합니다. stage_event_hash_id 는 백엔드가 수