DBA는 SSAS에 대해 무엇을 알아야합니까?


40

SSAS의 비즈니스 측면을 다루는 많은 자료를 보았지만 관리 및 관리의 중요한 측면에 대해서는별로 언급하지 않았습니다.

SQL Server Analysis Services 인스턴스를 관리하는 관점에서 작업중인 DBA는 SSAS를 정확하고 효율적으로 관리하기 위해 무엇을 알아야합니까?

답변:


50

DBA 용 SSAS에 대한 간단한 개요

따라서 귀하는 SQL Server DBA이며 관리하기 위해 일부 큐브를 파란색으로 상속했습니다. SSAS 관리에 대한 빠른 충돌 과정이 순서대로있는 것 같습니다.

관리 관점에서 볼 때 SSAS는 리소스가 고갈 된 응용 프로그램 인 경우 상당히 간단합니다. 여러 가지면에서 다르지만 DBMS 플랫폼보다 훨씬 간단합니다. 또한 SSAS 고유의 사용 기반 최적화와 같은 몇 가지 관리 작업이 있습니다.

구성 파일을 백업하십시오.

모든 구성 데이터는이라는 파일에 msdmsrv.ini있습니다. XML 파일입니다. SSMS (서버에 연결하고 서버를 마우스 오른쪽 버튼으로 클릭하고 속성 선택)를 통해 구성을 조정하는 경우 시작시 서버를 중단시키는 옵션을 설정할 수 있습니다. msmdsrv.ini무엇이든 가지고 놀기 전에 사본을 만드십시오 .

중요한 매개 변수

기억 : SSAS는 성경적 기억 돼지입니다. 가능하다면 64 비트 빌드와 많은 메모리를 좋아합니다. 'Memory \ LowMemoryLimit'및 'Memory \ HighMemoryLimit' 매개 변수는 메모리 사용 정책을 제어합니다. LowMemoryLimit는 최소 메모리 할당이 아닙니다. SSAS는 시스템의 메모리가 부족하다고 간주하고 캐시에서 항목을 플러시하기 시작하는 임계 값입니다. HighMemoryLimit는 사용할 절대 최대 값입니다.

SSAS는 데이터를 파일 (많은 파일-파일 그룹과 동등한 메커니즘이 없음)에 저장하므로 해당 파일에 대해 O / S 파일 시스템 캐싱을 많이 사용합니다. 이러한 제한의 기본값은 각각 컴퓨터 메모리의 약 65 %와 80 %이므로 OLAP 서버가 SQL Server 인스턴스와 공존하도록하려면 메모리를 사용하지 않도록 메모리를 사용하지 않도록 OLAP 서버를 낮추어야합니다. 데이터베이스 서버.

디렉토리 : 관심있는 5 가지 매개 변수는 DataDir, AllowedBrowsingFolders, BackupDir, LogDir 및 TempDir입니다. DataDir 및 AllowedBrowsingFolders가 가장 중요합니다.

  • AllowedBrowsingFolders 는 OLAP 서버가 데이터 파일을 넣을 폴더 목록에 영향을줍니다. 사용자 인터페이스 (예 : 배포 마법사)가있는 모든 항목은 AllowedBrowsingFolders의 목록으로 옵션을 제한합니다. 값은 파이프 ( '|')로 구분 된 디렉토리 목록입니다.

  • DataDir 은 파일의 기본 경로입니다. 여러 볼륨으로 큐브를 분할하려면 AllowedBrowsingFolders를 적절하게 구성해야합니다.

  • LogDir 은 서버가 비행 기록 장치 및 쿼리 로그를 포함하여 다양한 로그 파일을 저장하는 위치입니다. 비행 레코더 로그는 문제 해결에 사용되며 OLAP 쿼리 로그는 사용 기반 최적화에 사용됩니다 (나중에 자세히 설명).

  • TempDir 은 SSAS가 처리하는 동안 생성하는 임시 파일의 위치입니다. 큰 데이터 볼륨을 처리하고 성능 문제가있는 경우이를 데이터의 다른 볼륨으로 전환하면 도움이 될 수 있습니다.

  • BackupDir 은 주석에서 말하는 것입니다.

기타 : 몇 가지 기타 매개 변수도 관심이있을 수 있습니다. 조정해야 할 몇 가지 세트는 다음과 같습니다.

  • DefaultMaxDrillthroughRows : 드릴 스루 행 집합의 크기를 제한합니다. 더 허용하기 위해 이것을 바이올린으로 조정해야 할 수도 있습니다.

  • 스레드 / 시간 초과 : 이를 조정해야 할 수도 있습니다. 나는 귀찮게 할 필요가 없었습니다.

이것이 기본입니다. 특정한 이유로 다른 사람을 조정해야 할 수도 있지만 그에 대한 숙제는 할 수 있습니다.

SSAS 서버 속성에 대한 참조 안내서는 여기 에서 찾을 수 있습니다.

운영

배포 : BIDS에서 프로젝트를 컴파일하고 배포 마법사를 사용하여 배포 할 수있는 파일 집합을 얻을 수 있습니다 . 파티션 및 기타 몇 가지 사항에 대한 파일 경로를 조정해야 할 수도 있습니다.

프로그래밍 및 일괄 관리 작업 : XML / A라는 웹 서비스 API를 통해 SSAS에 명령이 실행됩니다. Microsoft는 MDX 및 XML / A connand 발행을위한 대화식 도구를 제공합니다. XML / A 명령에 MDX를 포함시켜야하는 경우와 같은 XML 이스케이프를 사용해야 하는지를주의하십시오 &. SSMS의 MDX 편집기 및 쿼리 도구에는 문제가 없습니다.

오프라인 작업은 다양한 SSIS 큐브 처리 작업, 명령 줄 유틸리티 ascmd.exe또는 AMO라는 .Net API를 통해 수행 할 수 있습니다 . 다양한 powershell 도구 등을 얻을 수도 있습니다. ascmd.exeXML / A 파일을 가져 와서 서버에 게시합니다. 프로그래밍 방식으로 파일을 고정해야하는 경우 .cmd 스크립트에서 XML 파일을 조작하는 것보다 작은 .Net 도구를 사용하는 것이 좋습니다.

운영 가이드 더 자세하게로 들어갑니다.

보안

SSAS의 보안은 매우 단순합니다. 전체 시스템에서 관리 권한이있는 글로벌 '서버'역할이 있습니다. 불행히도 데이터베이스를 만들려면 '서버'가 필요하므로 개발중인 OLAP 서버의 개발자에게 데이터베이스를 부여해야 할 가능성이 큽니다.

다른 보안은 개별 큐브 스키마에만 적용 할 수 있습니다. 개별 항목에 대한 읽기, 처리, 드릴 스루, 쓰기 등의 권한을 스키마 내의 역할에 부여 할 수 있습니다. OLAP 스키마의 역할은 BIDS 내에서 정의 할 수 있으며 큐브와 함께 배포됩니다. AD 그룹 또는 사용자는 SSMS를 통해 해당 역할에 할당 될 수 있습니다.

프로그래밍 방식으로 역할 구성원을 관리하는 방법의 예는 여기에서 확인할 수 있습니다.

사용 기반 최적화

DBA로서 당신은 이것에 관여 할지도 모르지만 먼저 물리적 스토리지에 대한 약간의 배경 지식이 있습니다. SSAS는 기본 데이터와 함께 사전 구축 된 집계를 계산하고 유지함으로써 작동합니다. 집계에 도달하여 쿼리를 충족 할 수있는 경우 집계에 훨씬 적은 I / O가 포함되므로 데이터를 더 빨리 검색하므로 OLAP 서버는이를 기본 데이터에 우선하여 사용합니다.

그러나 계산할 집계 (즉, 롤업을 생성 할 차원 특성의 조합)를 해결해야합니다. BIDS는이를 추측하고 당신을 위해 몇 가지를 생성하는 도구를 가지고 있습니다. BIDS 도우미 와 같은 일부 도구를 사용 하여 집계를 수동으로 편집 할 수도 있습니다.

사용 기반 최적화는 서버에 발행 된 실제 쿼리의 로그를 가져온 다음 해당 로그를 사용하여 해당 쿼리에 최적 인 집계 집합을 해결합니다. DBA로서 OLAP 쿼리 로깅을 설정하여이 데이터를 캡처 한 다음 큐브에서 최적화를 실행할 수 있습니다. 쿼리 로그 설정에 대한 자세한 내용은 여기를 참조하십시오.

이를 수행하는 도구를 '사용 기반 최적화 마법사' 라고합니다 . 이것은 SSMS에 있으며 탐색기에서 파티션을 열고 마우스 오른쪽 버튼 메뉴에서 '사용 기반 최적화'를 선택하면 찾을 수 있습니다.

성능 가이드는 더 자세히 튜닝에 간다.

MDX

MDX 는 SQL과 비슷하지만 다르게 작동합니다. 'MDX for SQL 프로그래머'에 대한 논문은 그 자체로 전체 주제입니다. 나는 그것에 대한 몇 가지 튜토리얼을 읽거나 책을 얻는 것이 좋습니다. 또한, 여기 dba.se의 친절한 사람들은 궁금한 점이 있으면 도움을 줄 수 있습니다.

MDX에는 행 필터링 개념이 없습니다. 이 언어에는 쿼리 1 의 다양한 축에 표시 할 항목 과 'SELECT' 를 해결하기위한 많은 설정 작업이 있습니다 . withCTE와 비슷한 문장을 사용 하여 측정 값과 집합을 정의 할 수 있습니다 .

일부 MDX 프로그래밍 리소스는 여기여기 에서 찾을 수 있습니다 (이것은 상당히 오래되고 매우 오래되었습니다). 주제에 관한 좋은 책들도 있습니다. 이 SO 질문 은 SSAS 리소스에 대해 약간의 팬 아웃이 있습니다.

1 비어 있지 않은 연산자가 있지만 결과를 실제로 데이터가있는 조합으로 제한합니다. 대부분의 MDX 쿼리는 축에 표시 할 슬라이스를 정의하는 것으로 구성되며 빈 셀의 조합 수준 수량을 반환하는 쿼리를 피하려면 비어 있지 않은 연산자가 필요합니다.


5
특히 "시작시 서버를 중단시키는 옵션을 설정할 수 있습니다"조언.
SqlACID

대단한 답변입니다! 고마워요!
Marian

6

이 긴 백서 SQL Server 2008 R2 Analysis Services 운영 가이드 에서 SSAS 관리에 대한 답변을 얻을 수 있습니다 . 이것이 소개가 시작되는 방법입니다.

이 가이드에서는 프로덕션 환경의 SQL Server 2005, SQL Server 2008 및 SQL Server 2008 R2에서 Microsoft SQL Server Analysis Services를 테스트하고 실행하는 방법에 대한 정보를 제공합니다. 이 가이드는 가장 큰 규모의 큐브에서도 프로덕션 문제를 테스트, 모니터링, 진단 및 제거하는 방법에 중점을 둡니다. 이 백서에서는 최상의 성능을 위해 서버를 구성하는 방법에 대한 지침도 제공합니다.

분명히 DBA / 관리자를 대상으로합니다. SSAS를 사용하여 응용 프로그램을 개발하는 경우 Analysis Services 2008 성능 가이드 백서를 참조하십시오.


DaniSQL 감사합니다. 나는 또한이 논문을 찾았고 아마도 질문에 대해 언급했을 것입니다 (죄송합니다!), 나는 주제에 대한 더 부드러운 소개와 동료 DBA의 경험에 대한 의견을 찾고있었습니다.
ivanmp

2
SSAS에 대해 직접 작업하지 않기 때문에 경험을 통해 말할 수 없습니다. 강사가 작성한 amzn.to/za1ypP 책을 읽고 읽으십시오 또한이 책의 17 장에서 시작-Microsoft® SQL Server® 2008 관리 ( amzn.to/xnKAWw )
DaniSQL
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.