본문 바로가기

Analysis Services

Business Intelligence in SQL Server 2008 ; 정교한 BI 솔루션의 구축과 관리

번역: 이수겸(sklee_at_olap.co.kr)

정교한 BI 솔루션의 구축과 관리

복잡한 분석에 대한 기업 조직의 요구는 날로 증가하고 있고, 효과적인 BI 솔루션을 빠르게 구축하고 전달 가능한 능력과 BI 인프라스트럭처의 관리 오버헤드를 감소시킬 수 있는 능력에 대한 요구는 주요 고려사항이 되었다. SQL Server 2008은 개발자의 생산성과 관리성을 향상시키는 혁신적인 도구들을 포함하고 있으며, 이 도구들은 관리 오버헤드를 감소시키면서 새로운 분석과 리포팅 기능에 대한 빠른 투자를 가능하게 한다.

개발자 생산성

SQL Server 2008은 비즈니스 인텔리전스 솔루션의 개발을 단순화한다. BI 개발자는 반복 작업과 시간을 많이 소모하는 작업에 대한 제어와 자동화를 향상시켜주는, 사용하기 쉬운 유틸리티와 도구의 덕을 볼 수 있다. 개발자는 SQL Server 2008의 생산성 기능을 사용해서 효과적인 분석과 리포팅 솔루션을 이전보다 빠르게 개발할 수 있다. 이로써 기업 조직은 좀 더 빨리 BI 솔루션을 사용할 수 있다.

풍부하고 현대적인 프로그래밍 환경 사용

개발자는 Microsoft Visual Studio과의 밀접한 상호작용을 통해서 튼튼하고(robust), 안전하며(secure), 확장 가능한(scalable) BI 솔루션을 쉽게 구축하고 관리할 수 있다. SQL Server Business Intelligence Development Studio는 여러 유형의 BI 솔루션을 다루며, 단일하고 일관성있는 ETL, 분석, 리포팅 솔루션 개발 환경을 제공하는 단일한 도구를 제공한다. Business Intelligence Development Studio의 일부분으로서 제공되는, 직관적인 BI 마법사는 초보 개발자라도 쉽게 고급 비즈니스 인텔리전스 모델과 프로젝트를 구축할 수 있게 해 준다.

SQL Server 2008은 CLR(공통 언어 런타임)을 데이터베이스 엔진에 포함하고 있기 때문에, 개발자는 개발 언어(Transact-SQL, Visual Basic, C# 등)를 선택해서 어플리케이션을 개발할 수 있다. 이런 유연한 환경은 개발자가 기존에 습득하고 있던 기술을 사용해서 효율적으로 데이터베이스 어플리케이션을 개발할 수 있도록 해 준다.

Visual Studio와 통합된, SQL Server 2008 BI 기술 전체에 걸친 개발 경험은, 프로젝트 개발 생명주기(개발, 테스트, 배포, 변경, 테스트)를 지원하는 진정한 어플리케이션 개발 환경을 제공한다.

최적 사례(Best Practice) 솔루션 구현

하지만, 개발자가 솔루션을 좀 더 빠르게 구축할 수 있도록 하는 능력은 솔루션이 최적으로 디자인되었을 때에만  효과적이다. 가능한 한 최적의 성능과 올바른 기능을 보장하기 위해서, 다음과 같이 SQL Server 2008은  최적 사례를 장려하고 개발자가 효과적인 분석 솔루션을 구축할 수 있도록 도와주는 개발 환경 기능을 포함하고 있다 :

  • Analysis Service, OLAP, 데이터 마이닝 어플리케이션 등 모든 BI 솔루션에 대한 일관성있는 개발 환경
  • 디자인, 구축, 디버그, 배포 작업을 포함한 전체 개발 생명주기에 대한 지원 및 소스 제어 통합 지원을 통한 팀 단위 개발을 지원하는 내장(Built-in) 기능
  • Analysis Service 솔루션을 빠르고 쉽게 구축할 수 있도록 해 주는, 여러 직관적인 디자이너와 마법사
  • 최적화된 차원 디자인 생성을 도와주는 내장 유효성 검사(built-in validation)를 포함한 특성 관계 디자이너
  • 더 나은 생산성과 자동으로 인식된 부모-자식 관계의 도식(presence)을 제공하기 위해, 가벼워진 차원 편집기
  • 간소화되고 보다 개선된 특성의 인식과 분류, 멤버 속성의 식별 기능을 제공하는 큐브 디자이너
  • 서로 다른 기간이나 영역에서 가져온 측정값을 최적화할 수 있도록 해 주는 개별 파티션의 집계 기능
  • 집계 디자이너에는 새로운 알고리즘이 추가되어 초기 집계 생성에 도움을 준다. 집계 디자이너는 용도 기반(Usage-driven) 집계로 작업할 수 있도록 최적화 되었다. 이제 생성된 집계를 살펴보면서 집계를 추가하거나 제거할 수 있다. 지능화(Intelligent) 지원 기능은 기존 집계 디자인과 새로운 집계 디자인을 병합할 수 있도록 돕는 기능을 제공한다.

또한, SQL Server 2008은 AMO 경고 기능으로 40개의 최적 사례(Best Practice) 중 하나를 어겼을 때 개발자에게 그 사실을 알려준다. 이 경고는 실시간 디자이너 검사에 통합되어 있으며, 개발자에게 강압적이지 않은 방식으로 디자인 내의 잠재적인 문제를 감지하는 기능을 제공한다.

리포팅 유연성 증가시키기

리포팅은 어떤 BI 솔루션에서도 눈에 띄는 요소로, 비즈니스 사용자는 날로 복잡한 리포트를 요구하고 있다. SQl Server Reporting Services는 리포팅 솔루션을 쉽게 구축할 수 있도록 해 주는 다음과 같은 기능을 제공한다 :

  • 사용자가 리포트를 구축, 디버그, 배포하는데 사용할 수 있는, Business Intelligence Development Studio 내 Visual Studio 기반의 리포트 개발 인터페이스
  • 비즈니스에 포커스를 맞춘 리포트 개발 도구인, 리포트를 생성하고 배포하는데 사용할 수 있는 리포트 빌더
  • 테이블, 매트릭스, 리스트, 차트 등 다양한 데이터 출력 구조

또한, SQL Server 2008은 Reporting Services에 대한 광범위한 개선사항을 포함하고 있다. 이 개선사항은 리포팅 성능을 향상시키고, 리포트의 형식을 꾸미고 배포하는데 더 높은 유연성을 제공한다. SQL Server 2008의 Reporting Services에서 이러한 개선사항 중의 하나는 테이블과 매트릭스 데이터 영역을 새로운 태블릭스(Tablix) 데이터 영역으로 결합하는 새로운 레이아웃 구조에 대한 지원이다. 태블릭스는 개발자가 고정 및 동적 레코드를 결합하는 리포트를 생성할 수 있게 해 준다. 이전까지는, 이러한 종류의 레이아웃은 다수의 매트릭스 데이터 영역을 사용하고 행 헤더(row header)를 축소시키는 방법으로 개발할 수 있었다. 태블릭스 데이터 영역에 대한 지원 기능은 리포트에서 결합된 정적, 동적 데이터의 포함을 단순화하고, Reporting Services의 형식 지정과 레이아웃 기능을 눈에 띄게 확장시켜 준다.

관리성(Manageability)

통합 관리 툴, 개선된 셀프 튜닝 기능, 강력한 관리 프로그래밍 모델과 같은 혁신을 통해서, SQL Server 2008은 SQL Server의 쉬운 사용성을 확장하고 DBA의 생산성을 증가시킨다. 이러한 개선사항은 DBA가 반복적인 관리, 구성, 튜닝에 보다 적은 시간을 소모하면서 데이터베이스 아키텍쳐와 같은 고부가가치의 작업에 집중할 수 있게 해 준다.

단일, 통합된 도구 사용하기

SQL Server 2008은 SQL Server Management Studio를 제공한다. 이 도구는 단일의 통합된 관리 도구로써, 확장된 SQL Server 구현에 걸쳐 향상된 DBA 생산성, 유연성, 관리성을 위한 동일한 인터페이스를 통해 Analysis Services, Reporting Services, Integration Services, SQL Server의 다수 버전을 통합 관리하는 기능을 제공한다.

데이터 웨어하우스 자원 감시하기

SQL Server 2008은 또한 Performance Studio를 포함하고 있으며, 이 도구는 데이터 서비스 솔루션에서의 자원의 사용 상황을 감시하고 리포팅하기 위한 중앙 관리 기능을 제공한다.

기업 확장성

매우 정교한 BI 솔루션의 성공적인 제공과 관련된 또 다른 주요 원인에는 대규모의 구현일지라도, 지속적인 개발자 생산성과 관리성이 요구된다. 무엇보다, 인프라스트럭처는 성능 관련 확장성을 제공해야 하며, SQL Server 2008에서는 대규모의 BI 구현일지라도 기업 규모의 지속성을 보장하는데 초점을 맞춘 광범위한 투자를 달성하였다.

확장성 있는 분석

OLAP의 전제는, 정확한 정보에 대한 즉각적인 접근은 최종 사용자로 하여금 매우 복잡한 질문에 대해 생각의 속도로 답하는 것을 가능케 한다는 것이다. 그러므로, 보다 빠른 조회 시간과 데이터 갱신 빈도의 우수성을 제공하는 것이 지금까지의 Analysis Services 릴리즈 개발 과정의 우선순위였으며, 이러한 목표는 또한 자연스럽게 SQL Server Analysis Services의 릴리즈를 지금까지 이끌어왔다.

SQL Server 2008은 복잡한 계산과 집계 기능을 포함한 개선된 기능으로 보다 폭넓은 분석을 진행할 수 있도록 해 주는 Analysis Services를 포함하고 있다. Analysis Services는 다음과 같이 기업 규모의 기능을 제공하고 있다 :

  • 유연한 캐싱 모델 Analysis Services를 사용해서 데이터와 집계가 캐시되는 방법을 제어하고, 캐시와 기존 데이터 저장소 간의 지연 수준을 관리함으로써 쿼리 성능을 최적화할 수 있다.
  • 선언적 특성 관계(Declarative Attribute Realationships) Analysis Services 차원에서는 계층 내의 특성들 간에 명시적으로 관계를 선언할 수 있다. 이를 통해 Analysis Services는 큐브나 차원이 처리될 때 미리 집계를 생성할 수 있으며, 이는 런타임 쿼리 성능을 향상시킨다.
  • 블록 계산(Block Computation) 블록 계산은 필요없는 집계 계산(예를 들어 데이터가 NULL로 집계될 경우)을 제거하고 분석 큐브 성능을 개선해서, 사용자가 계층의 깊이와 계산의 복잡성을 증가시킬 수 있도록 해 준다.
  • MOLAP에 쓰기 저장(Writeback) Analysis Services 2008은 쓰기 저장 기능을 수행할 때 ROLAP 파티션을 사용해야 한다는 제한을 없애서, 많은 성능 향상을 보인다.
  • Analysis Services 확장 Analysis Services 데이터베이스의 단일, 읽기 전용 복사본은 가상 IP 주소를 통해서 여러 분석 서버간에 공유될 수 있다. 이 기능은 Analysis Services 솔루션의 높은 확장성 배포 옵션을 생성한다.
  • 실행 계획 지속 SQL Server 2008은 쿼리 계획을 최대한의 적절한 값으로 고정시키는 기능을 제공해서, 서버가 재시작되거나 업그레이드되고 제품이 배포되는 것과 상관없이 쿼리 계획이 지속되도록 한다. 이 기능은 SQL Server 데이터에 대해서 일관성있는, 최적화된 쿼리의 성능을 보증한다.
확장성 있는 리포팅

수많은 기업 조직에게 있어 정확한 정보를 올바른 사람에게 적시에 제공하는 것은 중요한 과업이다. SQL Server 2008은 리포트를 처리하고 형식을 지정할 수 있는 고성능의 리포팅 엔진과, 리포트를 생성, 관리, 조회할 수 있는 도구의 집합을 제공한다. 확장성있는 아키텍처와 개방형 인터페이스는 분산된 IT 환경에 있는 리포팅 솔루션의 쉬운 통합을 제공한다.

먼저 중앙화된 데이터 웨어하우스를 구축하지 않고도 SQL Server, DB2, Oracle을 포함한 다수의 분산 데이터 원본을 사용해 리포트를 생성할 수 있다. 리포팅 서비스에서 제공하는 단순한 배포와 구성 관리 기능을 통해서 조직 내외부 전체에 걸쳐 리포트를 제공할 수 있다. 이는 사용자로 하여금 리포트의 사이즈나 복잡성에 상관없이 리포트를 쉽게 생성하고 공유할 수 있게 해 준다. 인터넷을 통해 리포트를 배포해서 고객과 공급자(supplier)에게 쉽게 리포트를 제공할 수 있다.

Reporting Services는 중앙화된 저장소와 모든 구성 설정에 대한 API를 통해서 메모리 관리, 인프라스트럭처 통합, 직접 구성 등 서버의 동작을 제어할 수 있는 기능을 제공한다.