팩트 테이블
업데이트: 2007년 11월
각 데이터 웨어하우스에는 팩트 테이블이 하나 이상 들어 있습니다. "별모양" 또는 "눈송이 모양" 스키마의 핵심이 되는 팩트 테이블은 팀의 작업을 측정하는 데이터를 캡처합니다. 일반적으로 팩트 테이블은 많은 수의 행을 포함하는데, 대규모 팀 프로젝트에 대한 1년 이상의 기록을 포함하는 경우에는 특히 그렇습니다.
팩트 테이블의 주요 특징은 조직의 작업 기록에 대한 정보를 제공할 수 있도록 요약 가능한 숫자 데이터(팩트)를 포함한다는 점입니다. 각 팩트 테이블에는 관련된 차원 테이블의 기본 키를 외래 키로 포함하는 multipart 인덱스도 들어 있습니다. 관련된 차원 테이블에는 팩트 레코드의 특성이 포함되어 있습니다. 팩트 테이블은 설명 정보를 포함할 수 없으며 팩트를 차원 테이블의 대응하는 항목에 연결하는 인덱스 필드와 숫자 측정값 필드 이외의 데이터는 포함할 수 없습니다.
데이터 큐브의 팩트 테이블
다음 표에서는 Team System 관계형 데이터베이스에 포함된 팩트 테이블을 보여 줍니다.
테이블 |
설명 |
---|---|
빌드 변경 집합 |
이 빌드에는 있지만 같은 형식의 이전 빌드에는 없는 각 변경 집합에 대해 행이 하나씩 들어 있습니다. 이 정보를 사용하면 빌드 정보를 체크 인 및 체크 인과 연결된 작업 항목과도 관련지을 수 있습니다. |
빌드 검사 |
빌드에 대해 메트릭이 수집된 각 타임 코드에 대해 행이 하나씩 들어 있습니다. |
빌드 정보 |
빌드가 수행될 때마다 행이 하나씩 추가됩니다. |
프로젝트 빌드 |
빌드 안에 프로젝트가 빌드될 때마다 행이 하나씩 추가됩니다. |
코드 변동 |
파일의 수정 버전별로 새 행이 하나씩 들어 있습니다. |
현재 작업 항목 |
시스템에 현재 있는 각 작업 항목에 대해 행이 하나씩 들어 있습니다. |
부하 테스트 카운터 |
실행된 각 부하 테스트에 대한 성능 카운터 값의 요약 정보입니다. 카운터 ID, 값 및 값을 가져온 컴퓨터 정보가 들어 있습니다. |
부하 테스트 정보 |
부하 테스트가 실행될 때마다 행이 하나씩 추가됩니다. |
부하 테스트 페이지 요약 |
부하 테스트를 수행하는 동안 방문한 각 URL에 대해 행이 하나씩 들어 있습니다. 각 최상위 페이지에 대한 정보를 요약하지만 이미지와 같은 종속 요청에 대한 세부 정보는 포함되지 않습니다. |
부하 테스트 요약 |
부하 테스트의 일부로 실행된 각 테스트에 대해 행이 하나씩 들어 있습니다. 테스트를 실행한 횟수, 테스트가 실패한 횟수, 테스트를 실행하는 데 소요된 평균 시간 등이 포함됩니다. |
부하 테스트 트랜잭션 |
각 트랜잭션의 평균 시간이 들어 있습니다. 예를 들어 부하가 있을 때 단위 테스트를 실행한 경우 테스트의 타이머는 각 트랜잭션에 소요된 평균 시간으로 이 팩트 테이블에 기록됩니다. |
실행 검사 |
코드 검사 메트릭을 수집하는 테스트를 실행할 때마다 행이 하나씩 추가됩니다. |
테스트 결과 |
각 테스트를 실행할 때마다 행이 하나씩 추가됩니다. 테스트 결과, 시작/종료 시간 및 테스트에 대한 메타데이터(범주, CSS 노드 등)가 포함됩니다. |
작업 항목 변경 집합 |
작업 항목 수정 버전과 변경 집합 사이의 각 관계에 대해 행이 하나씩 들어 있습니다. |
작업 항목 기록 |
작업 항목에 대한 버전이 지정된 파일로, 전환 횟수와 레코드 개수를 사용하여 특정 시점의 정보를 집계합니다. |
모든 팩트 테이블에는 다음의 다섯 가지 필드가 있습니다.
ID
논리 추적 ID
LastUpdatedTime
LastUpdatedBy
TrackingId
또한 차원 테이블에 연결되는 외래 키 집합도 있습니다.
팩트 테이블에서 기록 추적
각각의 작업 항목과 테스트 결과에는 시간의 경과에 따라 변하는 팩트가 있습니다. 이러한 항목에 대한 정보를 집계하여 시간에 따른 합계의 추세 또는 특정 시점의 항목 상태를 보면 매우 유용합니다. Team System 데이터 웨어하우스에서는 OLAP 큐브에서 계산을 수행하여 원하는 시점의 정보를 집계할 수 있도록 작업 항목의 각 수정 버전 또는 실행되는 각 테스트를 캡처합니다. 다음 표에서는 변경 사항을 추적하는 관계형 데이터베이스의 두 가지 정수 열에 대해 설명합니다.
열 |
설명 |
---|---|
레코드 개수 |
버그 우선 순위가 변경되는 경우와 같이 레코드가 변경될 때마다 데이터베이스에 두 가지 레코드가 기록됩니다. 보정 레코드라고 하는 첫 번째 레코드는 레코드 개수 열을 -1로 설정하여 이전 이벤트를 취소, 즉 보정합니다. 두 번째 레코드는 팩트와 관련된 새 값을 기록하고 레코드 개수를 1로 설정합니다. 큐브에서 두 시점 사이의 모든 레코드를 집계함으로써 해당 시점의 최신 레코드만 남기고 그 이외의 모든 레코드는 효율적으로 취소할 수 있습니다. 이 레코드 개수를 바탕으로 일 단위의 누계를 표시할 수 있습니다. |
상태 변경 횟수 |
상태 변경은 보고해야 할 중요한 사항이기 때문에 작업 항목 상태 또는 테스트 결과가 변경될 때마다 "상태 변경 횟수"라는 특수 플래그가 true로 설정됩니다. 상태 변경 횟수를 바탕으로 일 단위의 작업을 표시할 수 있습니다. |