OLAP(온라인 분석 처리)는 복잡한 계산 및 추세 분석을 수행하기 위해 대규모 비즈니스 데이터베이스를 구성하는 기술입니다. 이 방법을 사용하면 트랜잭션 시스템을 방해하지 않고 복잡한 쿼리를 수행할 수 있습니다.
비즈니스 트랜잭션 및 레코드는 개별 레코드 항목에 최적화된 OLTP(온라인 트랜잭션 처리) 데이터베이스라고 하는 데이터베이스에 저장됩니다. 이러한 데이터베이스는 중요한 정보를 보유하지만 분석을 위해 설계되지 않았으므로 데이터 검색은 시간이 많이 걸리고 어렵습니다.
이 문제를 해결하기 위해 OLAP 시스템은 데이터에서 비즈니스 인텔리전스를 효율적으로 추출합니다. OLAP 데이터베이스는 읽기가 많고 쓰기가 적은 작업에 최적화되어 있습니다. 효과적인 분석을 위해 모델링 및 정리됩니다. OLAP 데이터베이스는 시계열 분석을 위해 기록 데이터를 보존하는 경우가 많습니다.
OLAP 시스템은 일반적으로 다차원 데이터 큐브를 사용하여 복잡한 쿼리 및 분석을 지원하는 방식으로 데이터를 구성합니다. 다음 다이어그램에서는 기존 OLAP 시스템 아키텍처를 보여 있습니다.
기술이 발전하고 데이터 및 계산 규모가 모두 증가함에 따라 OLAP 시스템은 Microsoft Fabric 에서 지원하는 MPP(대규모 병렬 처리) 아키텍처로 전환됩니다. 자세한 내용은 패브릭 분석 데이터 저장소를 참조하세요.
다음 다이어그램은 최신 OLAP 시스템 아키텍처를 보여줍니다.
의미 체계 모델링
의미 체계 데이터 모델은 포함된 데이터 요소의 의미를 설명하는 개념적 모델입니다. 조직에는 항목에 대한 자체 용어가 있고 경우에 따라 해당 용어에 동의어가 있는 경우가 있습니다. 조직은 동일한 용어에 대해 서로 다른 의미를 가질 수도 있습니다. 예를 들어 인벤토리 데이터베이스는 자산 ID와 일련 번호를 사용하여 장비의 일부를 추적할 수 있습니다. 그러나 판매 데이터베이스는 일련 번호를 자산 ID로 참조할 수 있습니다. 관계를 설명하는 모델 없이 이러한 값을 연결할 수 있는 간단한 방법은 없습니다.
의미 체계 모델링은 사용자가 기본 데이터 구조를 알 필요가 없도록 데이터베이스 스키마에 대한 추상화 수준을 제공합니다. 최종 사용자는 기본 스키마를 통해 집계 및 조인을 수행하지 않고도 데이터를 쉽게 쿼리할 수 있습니다. 데이터의 컨텍스트와 의미를 더 명확히 하기 위해 열의 이름이 더 사용자 친화적인 이름으로 바뀌는 경우가 많습니다.
의미 체계 모델링은 주로 OLTP(쓰기가 많은 트랜잭션 데이터 처리)가 아닌 OLAP(분석 및 비즈니스 인텔리전스)와 같은 읽기가 많은 시나리오에 주로 사용됩니다. 의미 체계 모델링은 일반적인 의미 체계 계층의 특성 때문에 읽기가 많은 시나리오에 적합합니다.
- 보고 도구에 제대로 표시되도록 집계 동작이 설정됩니다.
- 비즈니스 논리 및 계산이 정의됩니다.
- 시간 기반 계산이 포함됩니다.
- 종종 여러 원본의 데이터가 통합됩니다.
- 실시간 분석이 지원됩니다.
일반적으로 의미 체계 계층은 이러한 이유로 데이터 웨어하우스 위에 배치됩니다.
의미 체계 모델에는 다음과 같은 2가지 기본 유형이 있습니다.
테이블 형식 모델은 모델 , 테이블 및 열과 같은 관계형 모델링 구문을 사용합니다. 내부적으로 메타데이터는 큐브, 차원 및 측정값과 같은 OLAP 모델링 구문에서 상속됩니다. 코드 및 스크립트에는 OLAP 메타데이터를 사용합니다.
다차원 모델은 큐브, 차원 및 측정값과 같은 기존 OLAP 모델링 구문을 사용합니다.
Analysis Services 및Fabric 은 의미 체계 모델링을 효과적으로 구현하는 데 필요한 인프라와 도구를 제공합니다.
예제 사용 사례
조직은 대규모 데이터베이스에 데이터를 저장합니다. 비즈니스 사용자와 고객이 이 데이터를 사용하여 자체 보고서를 만들고 분석을 수행하려고 합니다.
이러한 사용자는 데이터베이스에 직접 액세스할 수 있지만 이 옵션에는 보안 관리 및 액세스 제어를 비롯한 단점이 있습니다. 또한 사용자는 테이블 및 열의 이름을 포함하여 데이터베이스의 디자인을 이해하는 데 어려움을 겪을 수 있습니다. 이 옵션을 사용하려면 쿼리할 테이블, 해당 테이블을 조인하는 방법 및 올바른 결과를 얻기 위해 다른 비즈니스 논리를 적용하는 방법을 알아야 합니다. 또한 사용자는 SQL과 같은 쿼리 언어를 알고 있어야 합니다. 일반적으로 이 옵션은 여러 사용자가 동일한 메트릭을 보고하지만 다른 결과를 보고하게 됩니다.
더 나은 옵션은 사용자에게 필요한 모든 정보를 의미 체계 모델로 캡슐화하는 것입니다. 사용자는 선택한 보고 도구를 사용하여 의미 체계 모델을 더 쉽게 쿼리할 수 있습니다. 의미 체계 모델이 제공하는 데이터는 데이터 웨어하우스에서 제공하므로 모든 사용자가 단일 원본을 볼 수 있습니다. 또한 의미 체계 모델은 사용자에게 친숙한 테이블 및 열 이름을 제공하고, 테이블 간의 관계를 정의하고, 설명과 계산을 포함하며, 행 수준 보안을 적용합니다.
의미 체계 모델링의 일반적인 특성
의미 체계 모델링 및 분석 처리에는 다음과 같은 특성이 있는 경향이 있습니다.
요구 사항 | 설명 |
---|---|
스키마 | 쓰기 시 스키마, 강력하게 적용 |
트랜잭션 사용 | 아니오 |
잠금 전략 | 없음 |
업데이트 가능 | 아니요, 일반적으로 큐브를 다시 계산해야 합니다. |
추가 가능 | 아니요, 일반적으로 큐브를 다시 계산해야 합니다. |
업무량 | 과도한 읽기, 읽기 전용 |
인덱싱 | 다차원 인덱싱 |
데이터 크기 | 작음~대규모 크기 |
모델 | 테이블 형식 또는 다차원 |
데이터 셰이프 | 큐브, 별 또는 눈송이 스키마 |
쿼리 유연성 | 매우 유연 |
규모 | 수백 기가바이트(GB)~여러 페타바이트(PB) |
이 솔루션을 사용해야 하는 경우
다음 시나리오에 OLAP를 사용하는 것이 좋습니다.
OLTP 시스템에 부정적인 영향을 주지 않고 복잡한 분석 및 주문형 쿼리를 신속하게 실행해야 합니다.
비즈니스 사용자에게 데이터에서 보고서를 생성하는 간단한 방법을 제공하려고 합니다.
사용자가 빠르고 일관된 결과를 얻을 수 있도록 하는 몇 가지 집계를 제공하려고 합니다.
OLAP은 방대한 양의 데이터에 대해 집계 계산을 적용하는 데 특히 유용합니다. OLAP 시스템은 읽기가 많은 시나리오에 최적화되어 있습니다. 또한 OLAP를 사용하면 다차원 데이터를 피벗 테이블과 같은 2차원으로 볼 수 있는 조각으로 분할할 수 있습니다. 또는 특정 값별로 데이터를 필터링할 수 있습니다. 사용자는 데이터가 여러 데이터 원본에서 분할되는지 여부에 관계없이 데이터를 세분화하고 분석하는 것으로 알려진 이러한 프로세스를 수행할 수 있습니다. 사용자는 기존 데이터 분석의 세부 정보를 모르고 데이터를 쉽게 탐색할 수 있습니다.
의미 체계 모델은 비즈니스 사용자가 관계 복잡성을 추상화하고 데이터를 보다 쉽고 빠르게 분석하도록 지원할 수 있습니다.
과제들
OLAP 시스템은 다음과 같은 과제도 생성합니다.
다양한 원본에서 들어오는 트랜잭션은 OLTP 시스템의 데이터를 지속적으로 업데이트합니다. OLAP 데이터 저장소는 일반적으로 비즈니스 요구 사항에 따라 훨씬 더 느린 간격으로 새로 고칩니다. OLAP 시스템은 변화에 대한 즉각적인 대응보다는 전략적 비즈니스 의사 결정에 적합합니다. OLAP 데이터 저장소를 up-to-date로 유지하려면 일정 수준의 데이터 정리 및 오케스트레이션도 계획해야 합니다.
OLTP 시스템의 기존 정규화된 관계형 테이블과 달리 OLAP 데이터 모델은 다차원적인 경향이 있습니다. 따라서 각 특성이 하나의 열에 해당하는 엔터티 관계 또는 개체 지향 모델에 직접 매핑하는 것은 어렵거나 불가능합니다. 대신 OLAP 시스템은 일반적으로 기존의 정규화 대신 별 또는 눈송이 스키마를 사용합니다.
Azure의 OLAP
Azure에서 AZURE SQL Database와 같은 OLTP 시스템의 데이터는 패브릭 또는 Analysis Services와 같은 OLAP 시스템에 복사됩니다. Power BI, Excel 및 타사 옵션과 같은 데이터 탐색 및 시각화 도구는 Analysis Services 서버에 연결되고 사용자에게 모델링된 데이터에 대한 대화형 및 시각적으로 풍부한 인사이트를 제공합니다. SQL Server Integration Services를 사용하여 OLTP 시스템에서 OLAP 시스템으로의 데이터 흐름을 오케스트레이션할 수 있습니다. SQL Server Integration Services를 구현하려면 Azure Data Factory를 사용합니다.
다음 Azure 데이터 저장소는 OLAP의 핵심 요구 사항을 충족합니다.
SQL Server Analysis Services는 비즈니스 인텔리전스 애플리케이션에 OLAP 및 데이터 마이닝 기능을 제공합니다. 로컬 서버에 SQL Server Analysis Services를 설치하거나 Azure의 VM(가상 머신) 내에서 호스트할 수 있습니다. Analysis Services는 SQL Server Analysis Services와 동일한 주요 기능을 제공하는 완전 관리형 서비스입니다. Analysis Services는 조직의 클라우드 및 온-프레미스에서 다양한 데이터 원본 에 연결할 수 있도록 지원합니다.
클러스터형 columnstore 인덱스는 SQL Server 2014 이상 및 SQL Database에서 사용할 수 있습니다. 이러한 인덱스는 OLAP 워크로드에 적합합니다. SQL Database를 포함하여 SQL Server 2016부터 업데이트 가능한 비클러스터형 columnstore 인덱스를 통해 하이브리드 트랜잭션 및 분석 처리(HTAP)를 활용할 수 있습니다. HTAP를 사용하여 동일한 플랫폼에서 OLTP 및 OLAP 처리를 수행합니다. 이 방법을 사용하면 데이터의 여러 복사본과 별도의 OLTP 및 OLAP 시스템이 필요하지 않습니다. 자세한 내용은 실시간 운영 분석에 대한 Columnstore를 참조하세요.
주요 선택 조건
선택 범위를 좁히려면 다음 질문에 대답합니다.
자체 서버를 관리하지 않고 관리되는 서비스를 원하십니까?
보안 인증을 위해 Microsoft Entra ID가 필요한가요?
OLTP 데이터 저장소를 넘어 여러 원본의 데이터를 통합해야 합니까?
실시간 분석을 수행하시겠습니까?
Fabric Real-Time Intelligence 는 패브릭 내에서 인사이트를 추출하고 데이터를 시각화하는 데 사용할 수 있는 강력한 서비스입니다. 이벤트 기반 시나리오, 스트리밍 데이터 및 데이터 로그에 대한 엔드 투 엔드 솔루션을 제공합니다. 데이터의 GB 또는 PB를 관리하든 관계없이 이동 중인 모든 조직 데이터가 Real-Time 허브에 수렴됩니다.
예를 들어 비즈니스 사용자가 분석을 더 쉽게 수행할 수 있는 의미 체계 모델을 제공하기 위해 미리 집계된 데이터를 사용해야 합니까?
그렇다면 다차원 큐브 또는 테이블 형식의 의미 체계 모델을 지원하는 옵션을 선택합니다.
사용자가 데이터 집계를 일관되게 계산할 수 있도록 집계를 제공합니다. 미리 집계된 데이터는 여러 행에 여러 열이 있는 경우 큰 성능 향상을 제공할 수도 있습니다. 다차원 큐브 또는 테이블 형식 의미 체계 모델에서 데이터를 미리 집계할 수 있습니다.
기능 매트릭스
다음 표에서는 이러한 서비스 간의 기능의 주요 차이점을 요약합니다.
- 직물
- 분석 서비스
- SQL Server Analysis Services
- Columnstore 인덱스를 사용하는 SQL Server
- columnstore 인덱스가 있는 SQL Database
일반 기능
역량 | 직물 | 분석 서비스 | SQL Server Analysis Services | Columnstore 인덱스를 사용하는 SQL Server | columnstore 인덱스가 있는 SQL Database |
---|---|---|---|---|---|
관리되는 서비스인가요? | 예 | 예 | 아니오 | 아니오 | 예 |
MPP | 예 | 아니오 | 아니오 | 아니오 | 아니오 |
다차원 큐브 지원 여부 | 아니오 | 아니오 | 예 | 아니오 | 아니오 |
테이블 형식 의미 체계 모델 지원 여부 | 예 | 예 | 예 | 아니오 | 아니오 |
여러 데이터 원본을 쉽게 통합 | 예 | 예 | 예 | 아니요 1 | 아니요 1 |
실시간 분석 지원 | 예 | 아니오 | 아니오 | 예 | 예 |
원본에서 데이터를 복사하는 프로세스가 필요합니다. | 선택 사항 3 | 예 | 예 | 아니오 | 아니오 |
Microsoft Entra 통합 | 예 | 예 | 아니오 | 2 없음 | 예 |
[1] SQL Server 및 SQL Database는 여러 외부 데이터 원본에서 쿼리하고 통합할 수 없지만 SQL Server Integration Services 또는 Azure Data Factory를 사용하여 이러한 기능을 수행하는 파이프라인을 빌드할 수 있습니다. Azure VM 호스팅 SQL Server에는 연결된 서버 및 PolyBase와 같은 더 많은 옵션이 있습니다. 자세한 내용은 데이터 파이프라인 오케스트레이션 기술 선택을 참조하세요.
[2] Microsoft Entra 계정은 Azure VM 호스팅 SQL Server에 대한 연결을 지원하지 않습니다. 대신 도메인 Windows Server Active Directory 계정을 사용합니다.
[3] Fabric은 Azure Data Factory 파이프라인 또는 미러링을 통해 OneLake로 데이터를 이동하여 데이터 원본을 유연하게 통합할 수 있습니다. 데이터를 이동하지 않고도 데이터 스트림에서 바로 가기를 만들거나 실시간 분석을 수행할 수도 있습니다.
확장성 기능
역량 | 직물 | 분석 서비스 | SQL Server Analysis Services | Columnstore 인덱스를 사용하는 SQL Server | columnstore 인덱스가 있는 SQL Database |
---|---|---|---|---|---|
고가용성을 위한 중복 지역 서버 | 예 | 예 | 아니오 | 예 | 예 |
쿼리 확장 지원 여부 | 예 | 예 | 아니오 | 예 | 예 |
동적 확장성, 확장 | 예 | 예 | 아니오 | 예 | 예 |