다음을 통해 공유


데이터 웨어하우스 아키텍처 이해

업데이트: 2007년 11월

Team Foundation 보고 웨어하우스는 별모양에 가까운 스키마로 구성된 관계형 데이터베이스와 이 관계형 데이터베이스를 기반으로 빌드된 OLAP 데이터베이스로 구성되는 일반적인 데이터 웨어하우스입니다. 다음 다이어그램은 Team Foundation 데이터 웨어하우스의 간략한 아키텍처 및 작업 저장소, 데이터 웨어하우스, 팀 보고서 사이의 관계를 보여 줍니다.

데이터 웨어하우스의 상위 수준 아키텍처

작업 저장소

Team Foundation에서 각 도구 또는 플러그 인은 일상적인 작업에 사용되는 데이터를 Microsoft SQL Server 2005 관계형 데이터베이스에 저장하는데, 이 관계형 데이터베이스를 작업 저장소라고 합니다. Team Foundation에는 다음과 같은 작업 저장소가 있습니다.

  • 공용 구조 데이터베이스(TfsIntegration 및 TfsActivityLogging)

  • 작업 항목 추적 데이터베이스(TfsWorkItemTracking 및 TfsWorkItemTrackingAttachments)

  • 소스 제어 데이터베이스(TfsVersionControl)

  • Team Foundation Build 데이터베이스(TfsBuild)

  • Team Test 데이터베이스(TfsBuild)

타사 도구에 사용할 작업 저장소를 만들 수도 있습니다.

대부분의 작업 저장소와 마찬가지로 관계형 데이터베이스의 스키마는 데이터의 온라인 트랜잭션 처리에 적합하게 디자인되고 최적화됩니다. 도구 또는 플러그 인은 작업을 수행하면서 최신 정보를 작업 저장소에 기록합니다. 따라서 작업 저장소의 데이터는 계속해서 변하고 업데이트되며 모든 데이터는 항상 최신 상태입니다.

웨어하우스 어댑터

스키마 요구 사항은 도구 또는 플러그 인마다 고유하고 데이터는 최적의 트랜잭션 처리를 위해 작업 저장소에 저장되기 때문에 웨어하우스 어댑터는 작업 데이터를 데이터 웨어하우스에서 사용할 수 있는 형식으로 저장하는 역할을 담당합니다. 웨어하우스 어댑터는 작업 저장소에서 데이터를 추출하여 웨어하우스와 호환되는 표준 형식으로 변환하고, 이렇게 변환된 데이터를 웨어하우스 관계형 데이터베이스에 기록하는 관리되는 어셈블리입니다. 각 작업 데이터 저장소에는 별도의 어댑터가 있습니다.

웨어하우스 어댑터는 새 팀 프로젝트를 만들 때 사용되는 프로세스 템플릿 또는 기본 웨어하우스 구성에 지정되어 있는 데이터 필드를 복사하고 변환합니다. 데이터 웨어하우스에 기록될 데이터 필드를 추가하거나 삭제하기 위해 이루어지는 이후의 프로세스 템플릿 변경 사항은 다음 번에 어댑터를 실행할 때 인식됩니다. 어댑터는 RunIntervalSeconds 속성을 사용하여 설정된 빈도에 따라 주기적으로 실행됩니다. 새로 고침 빈도의 기본 설정은 3,600초이며 설치에 따라 새로 고침 빈도를 신중하게 설정해야 합니다. 새로 고침 빈도를 변경하는 데 대한 자세한 내용은 방법: Team System용 데이터 웨어하우스의 새로 고침 빈도 변경을 참조하십시오.

작업 저장소의 데이터로 관계형 데이터베이스를 업데이트하는 동안에는 관계형 데이터베이스의 데이터를 데이터 큐브에 기록하지 않아야 합니다. 데이터를 읽고 쓸 때 충돌이 발생하지 않도록 데이터를 푸시하고 풀하는 여러 웨어하우스 어댑터가 동기화됩니다. 어댑터 호출이 완료되면 큐브가 다시 처리됩니다.

웨어하우스 관계형 데이터베이스

각 도구는 데이터 웨어하우스에 대한 구성 정보를 XML 스키마로 나타냅니다. 스키마는 관계형 데이터베이스에 기록되는 필드를 차원, 측정값 및 세부 정보로 지정하며, OLAP 데이터베이스와도 직접 매핑됩니다.

웨어하우스의 데이터는 별모양 스키마로 구성된 테이블 집합에 저장됩니다. 별모양 스키마의 중심이 되는 테이블을 팩트 테이블이라고 하고 관련된 다른 테이블은 차원을 나타냅니다. 차원은 보고서를 더 작은 부분으로 분해하는 역할을 합니다. 팩트 테이블의 행에는 일반적으로 측정값 또는 차원 테이블에 대한 외래 키 참조가 들어 있습니다. 행은 팩트 테이블에 있는 모든 항목의 현재 상태를 나타냅니다. 예를 들어 작업 항목 팩트 테이블에는 작업 항목 작업 저장소에 저장되어 있는 모든 작업 항목에 대해 행이 하나씩 들어 있습니다.

차원 테이블에는 특정 차원에 해당되는 값이 저장됩니다. 차원은 여러 팩트 테이블이나 큐브 사이에 공유될 수 있으며 하나의 팩트 테이블이나 데이터 큐브에서만 참조될 수 있습니다. 예를 들어 개인 차원은 작업 항목 팩트 테이블의 담당자, 연 사람, 해결한 사람 및 닫은 사람 속성과 코드 변동 팩트 테이블의 체크 인한 사용자 속성에서 참조합니다.

측정값은 작업 데이터에서 가져오는 값입니다. 예를 들어 총 변동 수는 선택한 변경 집합에 있는 소스 코드 변경 사항의 총 개수를 나타내는 측정값입니다. 개수는 개수를 세는 각 항목에 대해 레코드가 하나씩 있는 경우 암시적으로 사용될 수 있다는 점에서 특수한 측정값입니다. 팩트 테이블에 정의되어 있는 측정값은 큐브에서 측정값 그룹을 구성합니다.

데이터 웨어하우스의 팩트, 차원 및 측정값에 대한 자세한 내용은 데이터 웨어하우스 큐브의 구조 이해를 참조하십시오.

웨어하우스 OLAP 큐브

팩트 테이블은 현재 상황을 보여 주는 보고서에 사용할 수 있는 유용한 정보 소스입니다. 그러나 시간 경과에 따라 변하는 데이터의 추세를 보고해야 할 경우에는 보고하려는 시간 간격으로 동일한 데이터를 복제해야 합니다. 예를 들어 작업 항목 또는 테스트 결과를 일별로 보고하려면 웨어하우스에서 각 항목의 상태를 날짜별로 유지해야 합니다. 이렇게 하면 데이터 큐브에서 일별 측정값을 집계할 수 있습니다. 웨어하우스 OLAP 데이터 큐브는 기본 별모양 스키마의 데이터와 시간 데이터를 모두 다차원 구조로 집계합니다.

데이터 큐브가 처리될 때마다 관계형 데이터베이스의 별모양 스키마에 저장된 데이터는 OLAP 큐브로 가져와 집계되고 저장됩니다. 큐브에 있는 데이터를 집계하면 별모양 스키마를 사용한 복잡한 처리 작업을 거치지 않고 간단한 select 문만 사용하여 고급 보고서를 작성할 수 있습니다. 큐브는 각 작업 저장소의 스키마에 대해 알지 못하더라도 또는 각 저장소에 개별적으로 액세스하지 않고도 보고서에 사용할 데이터를 가져올 수 있는 중앙 위치가 됩니다.

보고서 디자이너 보고서

보고서 디자이너는 Team Foundation 데이터 웨어하우스를 데이터 소스로 정의한 다음 대화형으로 보고서를 디자인하는 데 사용할 수 있는 Visual Studio 구성 요소입니다. 보고서 디자이너 안에는 데이터, 레이아웃 및 미리 보기의 탭 창이 있으며 이러한 창에서 새 보고서 디자인 아이디어에 맞게 데이터 집합을 추가하거나, 미리 보기 결과를 바탕으로 보고서 레이아웃을 조정할 수 있습니다. 보고서 디자이너에는 데이터, 레이아웃 및 미리 보기 디자인 화면 이외에도 쿼리 작성기와 식 편집기, 그리고 이미지를 배치하거나 간단한 보고서의 작성 과정을 단계별로 안내하는 마법사가 포함되어 있습니다. 보고서 디자이너를 사용하는 데 대한 자세한 내용은 Team System용 사용자 지정 보고서 시작을 참조하십시오.

Excel 보고서

Team Foundation은 Microsoft Excel과 통합되므로 Microsoft Excel을 사용하여 프로젝트를 관리하고 보고서를 만들 수 있습니다. Microsoft Excel은 다차원 데이터를 보고 분석하는 데 사용할 수 있는 피벗 테이블 및 차트를 제공합니다. 이러한 피벗 테이블을 Team Foundation OLAP 큐브에 직접 바인딩하여 큐브의 데이터와 상호 작용할 수 있습니다. 보고에 Microsoft Excel을 사용하는 데 대한 자세한 내용은 Team Foundation Server 보고에 Microsoft Excel 사용을 참조하십시오.

보안

Team Foundation 데이터 웨어하우스 보안은 데이터베이스 수준에서 정의되고 팀 보고서에 대한 보안은 팀 프로젝트 수준에서 정의됩니다. Team Foundation Server 관리자는 사용자의 계정에 사용 권한을 부여하거나 취소하는 방법으로 데이터 웨어하우스의 데이터에 액세스할 수 있는 사용자를 결정합니다. 기본적으로 웨어하우스에 대한 쓰기 권한은 웨어하우스 서비스를 실행하는 서비스 계정으로 제한됩니다. 각 도구 어댑터는 이 보안 컨텍스트에서 실행되기 때문에 데이터 웨어하우스에 대한 쓰기 권한을 갖습니다. 읽기 전용 권한은 관리자가 개별 사용자 또는 사용자 그룹에 부여합니다. 특정 팀 프로젝트의 웨어하우스에 있는 데이터를 볼 수 있는 권한을 가진 사용자는 해당 프로젝트의 모든 데이터에 대해 모든 액세스 권한을 갖습니다. 그러나 한 팀 프로젝트의 데이터를 볼 수 있는 권한을 가졌다고 해서 자동으로 다른 팀 프로젝트의 데이터를 볼 수 있게 되는 것은 아닙니다. 데이터 웨어하우스에 대한 읽기 전용 권한을 부여하거나 취소하는 데 대한 자세한 내용은 방법: Team System용 데이터 웨어하우스의 보안 설정 변경을 참조하십시오.

참고 항목

기타 리소스

Team Foundation Server 데이터 웨어하우스