■ Azure Cosmos DB 계정의 어느 두 수준에서 처리량을 설정할 수 있습니까?
- 데이터베이스 (Database) - O
- 아이템 (Item)
- 컨테이너 (Container) - O
- 파티션 (Partition)
해설) 데이터베이스(Database)와 컨테이너(Container)
데이터베이스(Database) 수준 : 해당 데이터베이스 내에 있는 여러 컨테이너가 처리량을 나누어 쓰는 방식입니다.
컨테이너(Container) 수준 : 특정 컨테이너 하나에 전용 성능을 고정적으로 할당하는 방식입니다.
아이템 (Item) : 아이템은 데이터베이스에 저장되는 개별 문서(JSON 등)입니다. 처리량은 성능의 '그릇'을 정하는 설정이므로, 수천만 개의 개별 아이템마다 성능을 일일이 설정하는 것은 불가능하며 효율적이지도 않습니다.
파티션 (Partition) : 파티션은 데이터가 실제로 나누어져 저장되는 물리적인 단위입니다. 사용자가 설정한 데이터베이스나 컨테이너의 전체 처리량은 시스템에 의해 내부 파티션들에 자동으로 분배되는 것이지, 사용자가 특정 파티션에 직접 처리량을 할당하는 것은 아닙니다.
■ 비관계형 데이터의 특성은 무엇입니까?
- 인덱스 없음
- 자체 설명 엔티티 - O
- 잘 정의된 스키마
- 고유 키 값 없음
해설) 비관계형 데이터(NoSQL)
비관계형 데이터의 가장 대표적인 형태인 JSON을 떠올려봅시다. 관계형 DB(SQL)는 데이터를 넣기 전에 미리 "이 칸은 이름이고, 저 칸은 나이야"라고 표(Table)를 짜야 합니다. 하지만 비관계형 데이터는 데이터 안에 '키(Key)'와 '값(Value)'이 함께 저장됩니다. 예를 들어 어떤 데이터에는 '이름'만 있고, 다른 데이터에는 '이름, 전화번호, 이메일'이 모두 들어있을 수 있습니다. 데이터 그 자체를 읽는 것만으로도 이 데이터가 무엇을 의미하는지 알 수 있기 때문에 '자체 설명적'이라고 부릅니다.
인덱스 없음 (No Index) : 비관계형 데이터베이스도 검색 성능을 높이기 위해 인덱스를 매우 적극적으로 사용합니다.
잘 정의된 스키마 (Well-defined Schema) : 이것은 관계형 데이터(SQL)의 특징입니다.
고유 키 값 없음 (No Unique Key Values) : 비관계형 데이터에서도 데이터를 구분하기 위한 고유한 키(ID, Partition Key 등)는 필수입니다. 키가 없다면 특정 데이터를 찾아오거나 수정할 방법이 없습니다.
■ ( ) 는 Transact-SQL 쿼리를 사용하여 Azure Blob Storage에서 데이터를 검색하는 Azure Synapse Analytics 기능입니다.
- 계층적 네임스페이스
- Azure Synapse Link
- PolyBase - O
- Data Movement Service (DMS)
해설) Azure Synapse Analytics의 기능
PolyBase는 한마디로 "SQL 엔진과 외부 데이터 저장소를 연결해 주는 가상 다리"입니다. 원래 T-SQL은 데이터베이스 내부의 테이블을 조회할 때 씁니다. 하지만 PolyBase를 사용하면 Azure Blob Storage나 Data Lake Storage에 파일 형태(CSV, Parquet, JSON 등)로 저장된 데이터를 표준 SELECT 문으로 읽어올 수 있습니다.
계층적 네임스페이스 (Hierarchical Namespace) : Azure Data Lake Storage Gen2의 특징으로, 데이터를 '폴더-파일' 구조로 관리하는 방식입니다.
Azure Synapse Link : Cosmos DB나 Azure SQL DB 같은 운영 데이터베이스의 데이터를 Synapse로 실시간으로 가져와 분석하게 해주는 기능입니다.
Data Movement Service (DMS) : Synapse Dedicated SQL Pool 내부에서 노드 간에 데이터를 주고받을 때 작동하는 배경 시스템 프로세스입니다.
■ Azure Synapse Analytics에서 전용 SQL 풀을 가지고 있으며, 매일 밤 8시간 동안만 활발하게 사용됩니다. 유휴 시간 동안 전용 SQL 풀의 비용을 최대한 줄여야 합니다. 데이터가 손상되지 않도록 해야 합니다. 전용 SQL 풀에서 무엇을 해야 합니까?
- 데이터 웨어하우스 단위(DWUs)를 축소합니다.
- 풀을 일시 중지 합니다. - O
- 사용자 정의 복원 지점을 만듭니다.
- 풀을 삭제합니다.
해설) Azure Synapse Analytics의 전용 SQL 풀(Dedicated SQL Pool) 운영 비용 최적화
Azure Synapse 전용 SQL 풀은 컴퓨팅(Compute) 리소스와 저장소(Storage) 리소스가 분리되어 있습니다. 전용 SQL 풀을 '일시 중지'하면 쿼리를 처리하는 컴퓨팅 노드가 해제됩니다. 이때 컴퓨팅에 대한 시간당 비용 청구가 즉시 중단되므로, 유휴 시간 동안 비용을 최대한 줄일 수 있는 가장 확실한 방법입니다. 풀을 일시 중지하더라도 데이터는 Azure 스토리지에 안전하게 보관됩니다. 데이터가 삭제되거나 손상되지 않으며, 나중에 풀을 다시 '재개(Resume)'하면 즉시 데이터를 다시 사용할 수 있습니다.
데이터 웨어하우스 단위(DWUs)를 축소합니다 : DWU를 낮추면 시간당 비용이 줄어드는 것은 맞지만, '일시 중지'와 달리 컴퓨팅 리소스가 여전히 활성화되어 있어 비용이 계속 발생합니다. 유휴 시간 동안 비용을 '최대한' 줄이는 방법은 아닙니다.
사용자 정의 복원 지점을 만듭니다 : 이것은 데이터 백업을 위한 기능입니다. 복원 지점을 만든다고 해서 컴퓨팅 비용 청구가 멈추는 것은 아닙니다.
풀을 삭제합니다 : 풀을 삭제하면 비용은 0원이 되지만, 안에 있는 데이터와 메타데이터가 모두 사라집니다. "데이터가 손상되지 않도록 해야 한다"는 문제의 조건을 위반하게 됩니다.
■ 어떤 두 가지 활동이 Power BI Desktop에 의존하지 않고 Microsoft Power BI 서비스만 사용하여 완전히 수행될 수 있습니까?
- 보고서 및 대시보드 생성 - O
- 보고서 공유 및 배포 - O
- 데이터 모델링
- 데이터 수집 및 준비
해설) Power BI Desktop(로컬 설치형)과 Power BI 서비스(클라우드/웹)의 역할
Power BI에서 '대시보드' 기능은 오직 Power BI 서비스(웹)에서만 제공됩니다. 데스크톱에서는 보고서(Report)만 만들 수 있습니다. 내가 만든 보고서를 동료들에게 공유하거나, 웹에 게시하고, 앱으로 배포하는 모든 과정은 Power BI 서비스의 핵심 기능입니다.
데이터 모델링 (Data Modeling) : 테이블 간의 관계 설정, DAX(Data Analysis Expressions)를 사용한 측정값 계산, 복잡한 데이터 구조 설계는 Power BI Desktop의 고유 영역입니다. 웹에서도 일부 수정은 가능해지고 있지만, 전문적인 모델링은 데스크톱에서 수행해야 합니다.
데이터 수집 및 준비 (Data Ingestion & Preparation) : 다양한 소스(엑셀, SQL, 웹 등)에서 데이터를 가져오고, 파워 쿼리(Power Query)를 통해 데이터를 정제(클렌징), 변환하는 작업은 Power BI Desktop에서 가장 강력하게 지원됩니다.
■ Azure Data Factory의 구성 요소 중 활동을 위한 컴퓨팅 환경을 제공하는 것은 무엇입니까?
- SSIS 패키지
- 통합 런타임 - O
- 제어 흐름
- 파이프라인
해설) Azure Data Factory(ADF)의 핵심 구성 요소
통합 런타임(Integration Runtime, IR)은 Azure Data Factory에서 활동(Activity)이 실행되는 컴퓨팅 인프라입니다. 파이프라인이 "데이터를 A에서 B로 옮겨라"라고 명령을 내리면, 실제로 그 데이터를 들어서 옮기는 근육과 지능(CPU/메모리)을 제공하는 것이 바로 IR입니다.
SSIS 패키지 (SSIS Package) : SQL Server Integration Services에서 사용하는 데이터 통합 작업의 묶음입니다. ADF는 이 패키지를 실행할 수 있는 환경(Azure-SSIS IR)을 제공할 뿐, 패키지 자체가 컴퓨팅 환경은 아닙니다.
제어 흐름 (Control Flow) : 파이프라인 내부에서 활동들이 실행되는 순서나 조건(반복, 조건문 등)을 관리하는 논리적인 개념입니다.
파이프라인 (Pipeline) : 활동(Activity)들을 모아놓은 논리적인 작업 단위입니다. "무슨 일을 할 것인가"에 대한 워크플로우를 정의하는 '설계도'이지, 실제 계산을 수행하는 컴퓨팅 환경은 아닙니다.
■ 데이터 웨어하우스의 주요 목적은 무엇입니까?
- 여러 소스의 데이터를 기반으로 복잡한 쿼리에 대한 답변을 제공하는 것 -O
- 소스와 대상 데이터 저장소 간의 변환 서비스를 제공하는 것
- 관계형 및 비관계형 히스토릭 데이터를 읽기 전용으로 저장하는 것
- 트랜젝션 라인 오브 비즈니스(LOB) 애플리케이션을 위한 저장소를 제공하는 것
해설) Azure Data Factory(ADF)의 핵심 구성 요소
데이터 웨어하우스(DW)는 기업의 의사결정을 지원하기 위한 분석용 데이터베이스(OLAP)입니다. 인사 시스템, 매출 시스템, 외부 로그 등 여러 소스에서 흩어진 데이터를 한곳으로 모읍니다. 지난 3년간 지역별, 연령대별 매출 추이를 분석해 내년 전략을 세워보자"와 같은 대규모 데이터를 합산하고 분석하는 작업을 수행합니다.
소스와 대상 데이터 저장소 간의 변환 서비스를 제공하는 것 : 이는 데이터 웨어하우스 자체가 아니라, 데이터를 옮기고 가공하는 ETL(Extract, Transform, Load) 툴(예: Azure Data Factory)의 역할입니다.
관계형 및 비관계형 히스토릭 데이터를 읽기 전용으로 저장하는 것 : 비관계형 데이터까지 원본 그대로 대량 저장하는 것은 보통 데이터 레이크(Data Lake)의 특징입니다. 데이터 웨어하우스는 주로 구조화된(관계형) 데이터를 다룹니다.
트랜잭션 라인 오브 비즈니스(LOB) 애플리케이션을 위한 저장소를 제공하는 것 : 이것은 OLTP(Online Transactional Processing) 데이터베이스의 역할입니다. 은행의 ATM 입출금이나 쇼핑몰의 주문 결제처럼 매 순간 발생하는 '거래'를 빠르게 처리하는 시스템입니다.
■ 어떤 시나리오가 스트리밍 워크로드의 예시인가요?
- 한 달 이상 된 거래를 아카이브로 전송
- 판매 시점 관리(POS) 장치에서 매일 거래 전송
- 엣지 장치에서 원격 측정 데이터 전송 - O
- 클라우드 인프라 메타데이터를 30분마다 전송
해설) 배치(Batch) 처리와 스트리밍(Streaming) 처리
스트리밍 워크로드(Streaming Workload)는 데이터가 생성되는 즉시 실시간으로, 끊임없이 흘러 들어오는 데이터를 처리하는 방식입니다. 스마트 센서, 자동차, 공장 설비 같은 엣지 장치에서 보내는 원격 측정 데이터(온도, 위치, 진동 등)는 1초라도 늦어지면 가치가 떨어지거나 위험을 감지하지 못할 수 있습니다. 따라서 발생 즉시 처리해야 합니다.
한 달 이상 된 거래를 아카이브로 전송: '한 달'이라는 특정 기간이 지난 데이터를 한꺼번에 옮기는 정기적인 작업입니다.
판매 시점 관리(POS) 장치에서 매일 거래 전송: 실시간이 아니라 '매일(Daily)' 한 번씩 정해진 시간에 데이터를 모아 보내는 전형적인 배치 방식입니다.
클라우드 인프라 메타데이터를 30분마다 전송: 30분이라는 주기가 있습니다. 이를 '마이크로 배치(Micro-batch)'라고 부르기도 하지만, 본질적으로는 일정 기간 데이터를 모아서 처리하는 방식에 속합니다.
■ 연도별 지역별 판매량을 보여주는 막대 차트는 어떤 유형의 분석의 예시인가요?
- 예측 분석 (Predictive)
- 처방 분석 (Prescriptive)
- 기술 분석 (Descriptive) - O
- 진단 분석 (Diagnostic)
해설) 데이터 분석의 4단계(기술, 진단, 예측, 처방)
기술 분석(Descriptive Analysis)은 "과거에 어떤 일이 일어났는가?"라는 질문에 답하는 분석입니다. 연도별, 지역별 판매량과 같은 지표는 이미 발생한 데이터를 수집하여 보기 좋게 요약한 것입니다.
예측 분석 (Predictive Analysis) : 과거 데이터를 바탕으로 통계 모델이나 머신러닝을 사용하여 미래의 판매량을 추정하는 것입니다.
처방 분석 (Prescriptive Analysis) : 예측된 결과를 바탕으로 최적의 행동 지침을 제안합니다.
진단 분석 (Diagnostic Analysis) : 판매량이 특정 지역에서 갑자기 줄었다면 그 원인을 파악하는 것입니다.
■ Azure Synapse Analytics를 사용하여 Azure Cosmos DB 데이터 소스에 대해 하이브리드 트랜잭션 및 분석처리(HTAP) 퀴리를 수행해야 합니다. 무엇을 사용해야 합니까?
- Synapse 파이프라인
- Synapse SQL 풀
- Synapse 링크 - O
- Synapse 스튜디오
해설) HTAP(Hybrid Transactional/Analytical Processing)의 핵심 기술
Azure Synapse Link는 Azure Cosmos DB와 Azure Synapse Analytics 사이를 실시간으로 잇는 '무거운 ETL이 필요 없는' 다리입니다. 보통 DB의 데이터를 분석하려면 복잡한 ETL(추출, 변환, 로드) 과정을 거쳐 데이터를 옮겨야 합니다. 하지만 Synapse Link를 사용하면 데이터를 옮기지 않고도 Cosmos DB의 데이터를 즉시 조회할 수 있습니다.
Synapse 파이프라인: 데이터를 옮기는 ETL 도구입니다. HTAP의 핵심인 '실시간성'과 'No-ETL'과는 거리가 있습니다.
Synapse SQL 풀: 쿼리를 실행하는 '엔진'입니다. Synapse Link가 연결된 상태에서 SQL 풀을 사용해 데이터를 조회할 수는 있지만, HTAP 연결 자체를 가능하게 하는 '기능'은 아닙니다.
Synapse 스튜디오: 개발자들이 사용하는 '통합 작업 환경(웹 UI)'입니다. 작업을 하는 장소일 뿐, 기술적인 해결책은 아닙니다.
■ Azure Blob Storage 기능 중 외부 캐시에 Blob Storage 계정을 동기화할 수 있는 기능은 무엇입니까?
- 핫 액세스 계층
- 변경 피드 - O
- 스냅샷
- 버전 관리
해설) Azure Blob Storage의 데이터 변경 사항을 실시간 또는 비정기적으로 추적
변경 피드(Change Feed)는 스토리지 계정 내의 모든 Blob에 발생한 생성, 수정, 삭제 등의 변경 기록을 시간순으로 로그에 남겨주는 기능입니다. 외부 캐시(Redis 등)나 검색 인덱스(Azure Cognitive Search 등)는 원본 데이터가 바뀌었는지 알아야 최신 상태를 유지할 수 있습니다. 변경 피드를 읽어가는 애플리케이션을 만들면, 바뀐 부분만 골라내어 외부 캐시에 즉시 반영(Sync)할 수 있습니다.
핫 액세스 계층 (Hot Access Tier) : 데이터를 얼마나 자주 읽느냐에 따른 비용 최적화 설정입니다. 자주 사용하는 데이터를 위해 속도는 빠르지만 저장 비용이 높은 계층일 뿐, 동기화 메커니즘이 아닙니다.
스냅샷 (Snapshot) : 특정 시점의 Blob 상태를 사진 찍듯이 복사본으로 남겨두는 기능입니다. 주로 백업이나 데이터 복구용으로 쓰이며, 실시간 동기화와는 거리가 멉니다.
버전 관리 (Versioning) : Blob이 수정될 때마다 이전 버전을 자동으로 저장하여 관리하는 기능입니다. 잘못된 수정이 발생했을 때 이전 상태로 되돌리는 것이 주된 목적입니다.
■ 대시보드를 만들려면 무엇을 사용할 수 있습니까?
- Microsoft Power BI Desktop 앱만 사용
- Microsoft Power BI 모바일 앱만 사용
- Microsoft Power BI 서비스만 사용 - O
- Microsoft Power BI Desktop 앱 또는 Microsoft Power BI 서비스 중 하나 이용
해설) Power BI의 도구별 역할
Power BI에서 대시보드(Dashboard)는 개별 보고서들을 모아놓은 '최종 결과물'의 성격을 가집니다. 대시보드는 클라우드 환경인 Power BI 서비스(웹)에서만 생성하고 관리할 수 있습니다.
Power BI Desktop은 데이터를 가져오고, 모델링하고, 보고서(Report)를 만드는 '제작 도구'입니다. 데스크톱 앱 안에는 '대시보드'라는 탭이나 메뉴 자체가 존재하지 않습니다
■ Delta Lake와 Azure Data Lake Storage를 구분하는 두 가지 기능은 무엇입니까?
- 배치 스키마 지원
- 스키마 적용 - O
- Apache Spark 런타임 지원
- 트랜잭션 일관성 - O
- 스트리밍 데이터 지원
해설) 스토리지 프레임워크의 차이점
스키마 적용 (Schema enforcement) : Delta Lake는 테이블에 정의된 스키마와 맞지 않는 데이터(예: 숫자 칸에 문자가 들어오는 경우)가 입력되려 하면 이를 거부하고 에러를 발생시킵니다.
트랜잭션 일관성 (Transactional consistency) : Delta Lake는 데이터 레이크에 ACID(원자성, 일관성, 고립성, 지속성) 트랜잭션을 도입합니다.
Apache Spark 런타임 지원: ADLS와 Delta Lake 모두 Apache Spark에서 매우 잘 작동합니다. Delta Lake 자체가 Spark를 기반으로 발전했기 때문에 차이점이라고 보기 어렵습니다.
스트리밍 데이터 지원: ADLS는 스트리밍 데이터의 저장소(Sink)가 될 수 있고, Delta Lake는 이를 더 효율적으로 처리할 뿐, 두 서비스 모두 스트리밍 워크로드를 다룰 수 있습니다.
배치 스키마 지원: 두 서비스 모두 배치 처리를 지원하며, 배치 데이터에 대한 스키마 인식은 처리 엔진(Spark, Synapse 등)의 역할이기도 합니다.
■ 예상치 못한 운영 체제 재시작 중에 데이터베이스에 대한 트랜잭션 변경 사항이 보존되도록 보장하는 데이터베이스 트랜잭션 속성은 무엇입니까?
- 일관성 (Consistency)
- 원자성 (Atomicity)
- 내구성 (Durability) - O
- 고립성 (Isolation)
해설) ACID 속성
내구성(Durability)은 트랜잭션이 성공적으로 완료(Commit)되었다면, 그 결과는 어떤 상황에서도 영구적으로 기록되어야 한다는 속성입니다.
원자성 (Atomicity) : 트랜잭션 내의 모든 작업이 완벽히 성공하거나, 하나라도 실패하면 전체를 취소해야 한다는 속성입니다.
일관성 (Consistency) : 트랜잭션 전후의 데이터베이스 상태가 항상 미리 정의된 규칙(제약 조건, 트리거 등)을 준수해야 한다는 속성입니다.
고립성 (Isolation) : 동시에 여러 트랜잭션이 실행될 때, 서로의 작업에 간섭하지 않고 마치 혼자 실행되는 것처럼 느껴지게 하는 속성입니다.
■ Azure Blob Storage 페이지 블롭은 무엇에 최적화 되어 있습니까?
- 추가작업
- 임의의 읽기 및 쓰기 작업 - O
- 키/값 데이터 저장
- 자주 변경되지 않는 대용량 바이너리 객체 저장
해설) 페이지 블롭(Page Blob)의 특성
페이지 블롭(Page Blob)은 512바이트 단위의 '페이지'들의 모음으로 구성됩니다. 데이터의 처음부터 끝까지 순차적으로 읽을 필요 없이, 특정 위치(오프셋)를 바로 찾아가서 데이터를 읽거나 쓸 수 있습니다. 이를 임의 접근(Random Access)이라고 합니다.
추가작업 (Append operations) : 기존 데이터의 끝에 새로운 내용을 덧붙이는 작업에 최적화되어 있습니다. 주로 로그 파일(Logging) 기록에 사용됩니다.
키/값 데이터 저장 : 이는 블롭(파일) 저장소가 아니라, NoSQL 데이터베이스 서비스의 역할입니다.
자주 변경되지 않는 대용량 바이너리 객체 저장 : 이미지, 비디오, 문서 파일 등을 효율적으로 저장하고 스트리밍하는 데 최적화되어 있습니다. Azure 스토리지의 가장 일반적인 유형입니다.
■ Windows에서 실행되고 매핑된 드라이브에 대한 액세스가 필요한 애플리케이션이 있습니다. 어떤 Azure 서비스를 사용해야 하나요?
- Azure Files - O
- Azure Blob Storage
- Azure Cosmos DB
- Azure Table Storage
해설) 스토리지 서비스
Windows 환경에서 가장 익숙한 방식인 '네트워크 드라이브 연결(Z: 드라이브 등)' 기능을 클라우드에서 구현하려면, 표준 파일 공유 프로토콜을 지원하는 서비스가 필요합니다. Azure Files는 클라우드에서 제공되는 완전 관리형 파일 공유 서비스로, 온프레미스 서버의 공유 폴더와 동일한 역할을 수행합니다.
Azure Blob Storage : 비정형 데이터를 저장하는 '객체 스토리지'입니다.
Azure Cosmos DB / Azure Table Storage : 이들은 데이터베이스(NoSQL) 서비스입니다. 파일이나 폴더를 저장하고 드라이브로 연결하는 용도가 아니라, 데이터 행(Row)이나 문서(Document)를 저장하고 쿼리하는 용도입니다.
■ Azure Data Factory에서는 ( ) 을 사용하여 다른 파이프라인 활동의 출력에 의존하는 파이프라인 활동을 오케스트레이션할 수 있습니다.
- 제어 흐름 (control flow) - O
- 데이터세트 (dataset)
- 연결된 서비스 (linked service)
- 통합 런타임 (integrated runtime)
해설) Azure Data Factory(ADF)의 여러 활동(Activity)
Azure Data Factory(ADF)에서 파이프라인 내부의 여러 활동(Activity)을 어떤 순서로 실행할지, 특정 활동이 성공했을 때만 다음 단계를 진행할지 등을 결정하는 논리적인 연결 고리가 바로 제어 흐름입니다. 제어 흐름은 파이프라인 내 활동의 실행 순서와 종속성을 관리하는 오케스트레이션 엔진의 핵심입니다.
데이터세트 (dataset) : 연결된 서비스가 가리키는 데이터 저장소 내의 구체적인 데이터 구조를 정의합니다.
연결된 서비스 (linked service) : 외부 데이터 원본이나 컴퓨팅 리소스에 대한 연결 정보(Connection String)를 정의합니다.
통합 런타임 (integrated runtime, IR) : ADF가 데이터를 복사하거나 활동을 실행할 때 사용하는 컴퓨팅 인프라(엔진)입니다.
■ Microsoft Power BI ( ) 를 사용하면 사용자는 인쇄 및 보관에 최적화된 고도로 형식화된 고정 레이아웃 문서를 만들 수 있습니다.
- dashboard
- interactive report
- paginated report - O
- subscription
해설) Power BI 보고서 유형
데이터 분석 결과를 단순히 화면으로 보는 것을 넘어, 종이에 인쇄하거나 PDF로 저장하여 보관해야 할 때 가장 핵심이 되는 보고서 유형입니다. 인쇄 시 표가 페이지 경계에서 잘리지 않고 다음 페이지로 깔끔하게 넘어가도록 설계되었습니다.
dashboard (대시보드) : 핵심 지표(KPI)를 한 화면에 모아보는 요약 페이지입니다. 대시보드는 상호 작용과 모니터링이 주 목적이며, 여러 페이지에 걸친 상세한 데이터를 인쇄하기에는 적합하지 않습니다.
interactive report (대화형 보고서) : 일반적인 Power BI 보고서(.pbix)입니다. 필터를 누르면 차트가 변하는 등 탐색에 최적화되어 있습니다.
subscription (구독) : 보고서나 대시보드의 스냅샷을 이메일로 정기적으로 받아보는 배달 서비스입니다.
■ 데이터 웨어하우스의 주요 목적은 무엇입니까?
- 여러 소스의 데이터에 의존하는 복잡한 쿼리에 대한 답변을 제공합니다. - O
- 원본과 대상 데이터 저장소 간의 변환 서비스를 제공합니다.
- 관계형 및 비관계형 기록 데이터의 읽기 전용 저장소를 제공합니다.
- 트랜잭션 기반의 업무 시스템 (LOB) 애플리케이션을 위한 스토리지를 제공합니다.
해설) OLTP(업무용 DB) vs OLAP(웨어하우스) 비교
데이터 웨어하우스(Data Warehouse)의 본질은 "의사결정을 돕기 위해 흩어져 있는 데이터를 하나로 모아 분석하는 것"에 있습니다. 데이터 웨어하우스는 조직 전반의 데이터를 통합하여 분석하는 OLAP(Online Analytical Processing) 시스템의 핵심입니다. 복잡하고 무거운 쿼리를 처리하여 비즈니스 통찰력을 제공합니다.
원본과 대상 데이터 저장소 간의 변환 서비스를 제공합니다 : 이는 데이터 웨어하우스 자체가 아니라, 데이터를 옮기고 가공하는 ETL(Extract, Transform, Load) 도구나 Azure Data Factory에 대한 설명입니다.
관계형 및 비관계형 기록 데이터의 읽기 전용 저장소를 제공합니다 : 비정형/비관계형 데이터까지 모두 포함하는 대규모 저장소는 주로 데이터 레이크(Data Lake)를 의미합니다. 데이터 웨어하우스는 주로 구조화된(관계형) 데이터를 다루는 데 특화되어 있습니다.
트랜잭션 기반의 업무 시스템 (LOB) 애플리케이션을 위한 스토리지를 제공합니다 : 이는 OLTP(Online Transactional Processing) 데이터베이스(예: Azure SQL Database)의 역할입니다. 은행의 입출금이나 쇼핑몰의 주문처럼 빠르게 발생하는 일상적인 거래를 처리하는 곳입니다.
■ Azure Synapse Analytics를 사용하여 Azure Cosmos DB 데이터 원본에 대해 HTAP(Hybrid Transactional and Analytical Processing) 쿼리를 수행해야 합니다. 무엇을 사용해야 합니까?
- Synapse pipeline
- Synapse SQL pool
- Synapse Link - O
- Synapse Studio
해설) Synapse Link의 핵심 아키텍처
Azure Synapse Link는 Azure Cosmos DB의 데이터를 ETL(추출, 변환, 적재) 과정 없이 실시간으로 분석할 수 있게 해주는 클라우드 네이티브 HTAP(Hybrid Transactional and Analytical Processing) 솔루션입니다. 일반적으로 운영 데이터(Cosmos DB)를 분석하려면 별도의 파이프라인을 만들어 데이터를 옮겨야 하지만, Synapse Link는 이 과정을 혁신적으로 줄여줍니다.
Synapse pipeline : 데이터를 한 곳에서 다른 곳으로 옮기고 변환하는 오케스트레이션 도구입니다. HTAP의 핵심은 '데이터를 옮기지 않는 것'입니다. 파이프라인을 쓰면 기존의 전통적인 ETL 방식이 되므로 실시간 HTAP와는 거리가 있습니다.
Synapse SQL pool : 대규모 데이터 분석을 위해 서버리스(Serverless) 또는 전용(Dedicated) 형태로 제공되는 SQL 계산 엔진입니다. SQL pool은 분석을 수행하는 엔진일 뿐이며, Cosmos DB와 HTAP로 연결해 주는 통로는 Synapse Link입니다.
Synapse Studio : 데이터 엔지니어링 및 분석 작업을 수행하는 웹 기반의 통합 개발 환경(UI)입니다.
■ Blob Storage 계정을 외부 캐시에 동기화할 수 있는 Azure Blob Storage 기능은 무엇인가요?
- Hot Access tier
- change feed - O
- snapshots
- versioning
해설) Synapse Link의 핵심 아키텍처
Azure Blob Storage의 change feed는 스토리지 계정 내에서 발생하는 모든 생성, 수정, 삭제 이벤트를 순서대로 기록하는 로그 파일입니다. 이를 활용하면 외부 캐시(Redis 등), 검색 인덱스(Azure AI Search 등), 또는 다른 데이터 소스를 스토리지의 최신 상태와 완벽하게 동기화할 수 있습니다.
Hot Access tier (핫 액세스 계층) : 자주 액세스하는 데이터를 위해 비용과 성능을 최적화한 저장소 계층입니다.
snapshots (스냅샷) : 특정 시점의 blob 상태를 그대로 복사해 둔 읽기 전용 복사본입니다.
versioning (버전 관리) : 데이터가 수정될 때마다 이전 버전들을 자동으로 유지해 주는 기능입니다.
■ 예기치 않은 운영 체제가 다시 시작되는 동안 데이터베이스에 대한 트랜잭션 변경 사항이 유지되도록 보장하는 데이터베이스 트랜잭션 속성은 무엇입니까?
- consistency
- atomicity
- durability - O
- isolation
해설) ACID 속성
지속성(Durability)은 트랜잭션이 성공적으로 완료(Commit)되었다면, 시스템 오류나 전원 차단, 운영 체제의 예기치 않은 재시작이 발생하더라도 해당 데이터가 영구적으로 보존됨을 보장하는 속성입니다.
consistency (일관성) : 트랜잭션 실행 전후의 데이터베이스 상태가 미리 정해진 규칙(제약 조건, 데이터 타입 등)을 항상 만족해야 합니다.
atomicity (원자성) : "All or Nothing." 트랜잭션 내의 모든 작업이 완벽히 성공하거나, 하나라도 실패하면 아예 실행되지 않은 상태로 되돌려야(Rollback) 합니다.
isolation (고립성/격리성) : 동시에 여러 트랜잭션이 실행될 때, 서로의 작업에 간섭할 수 없습니다. 각 트랜잭션은 마치 혼자 실행되는 것처럼 느껴져야 합니다.
■ 분석 모델에서 차원이 교차하는 모든 지점은 ( ) 을 나타냅니다.
- cube
- aggregated dimension
- aggregated measure - O
해설) 분석 모델 핵심 요소
분석 모델(다차원 모델)은 데이터를 여러 축(Dimension)으로 나누어 쌓아 올린 구조입니다. Dimension은 데이터를 바라보는 관점입니다. 예를 들어 '시간(언제)', '지역(어디서)', '제품(무엇을)' 등이 이에 해당합니다. 여기서 Measure는 우리가 알고 싶은 실제 수치 데이터입니다. '매출액', '판매 수량', '온도' 등이 해당합니다.
cube (큐브) : 차원과 측정값이 결합된 데이터 구조 전체를 의미합니다.
aggregated dimension (집계된 차원) : 차원은 데이터를 분류하는 기준이지, 교차점에서 결과로 나타나는 수치가 아닙니다.
■ ( ) 는 최소한의 변경으로 온프레미스 애플리케이션을 클라우드로 마이그레이션하기 위한 리프트 앤 시프트 솔루션의 일부로 사용할 수 있습니다.
- Azure SQL Database elastic pool
- Azure Virtual Machines의 SQL Server 인스턴스 - O
- Azure SQL Database의 단일 데이터베이스
해설) IaaS vs PaaS 마이그레이션
'최소한의 변경'과 '리프트 앤 시프트(Lift and Shift)'라는 키워드가 나왔을 때 가장 먼저 떠올려야 할 모델은 IaaS(Infrastructure as a Service)입니다. Azure VM에서 실행되는 SQL Server는 온프레미스 서버와 동일한 운영 체제(OS) 및 데이터베이스 엔진에 대한 전체 권한을 제공합니다.
■ Microsoft Power BI에서 ( ) 은 하나 이상의 페이지에 함께 표시되는 시각화 모음입니다.
- dashboard
- dataset
- report - O
- tile
해설) Power BI 주요 리소스
Power BI의 핵심 구성 요소들 중 '페이지'라는 개념을 가질 수 있고, 그 위에 여러 시각화(차트, 그래프 등)를 자유롭게 배치할 수 있는 단위가 바로 보고서입니다. 하나의 주제에 대해 상세한 분석이 필요할 때 여러 페이지(예: 매출 현황, 지역별 분석, 제품별 상세)를 만들어 정보를 전달할 수 있습니다.
dashboard (대시보드) : 여러 보고서에서 중요한 시각화 요소들을 가져와 한눈에 모아보는 '단일 페이지' 요약본입니다.
dataset (데이터 세트) : 보고서와 대시보드를 만들기 위해 연결된 데이터 원본 그 자체를 말합니다.
tile (타일) : 대시보드에 고정(Pin)된 개별 시각화 하나를 의미합니다.
■ Azure Table Storage에서 테이블의 각 행은 어떤 두 구성 요소로 고유하게 식별되어야 합니까?
- 파티션 키 (partition key) - O
- 범위 (range)
- 행 키 (row key) - O
- 타임스탬프 (timestamp)
해설) 데이터 식별 구성 요소
Azure Table Storage는 NoSQL 키-값(Key-Value) 저장소로, 관계형 데이터베이스의 '기본 키(Primary Key)'와 같은 개념을 이 두 가지 키의 조합으로 구현합니다. 이 두 키의 조합을 복합 키(Composite Key)라고 부르며, 테이블 내에서 각 행(엔터티)을 전 세계에서 유일하게 식별하는 역할을 합니다.
범위 (range): 데이터 저장소의 구성 요소가 아니라, 쿼리 방식(Range Query)을 설명하는 용어입니다. 특정 파티션 키 내에서 행 키의 범위를 지정하여 데이터를 검색할 때 사용됩니다.
타임스탬프 (timestamp): 모든 엔터티에 자동으로 포함되는 시스템 속성입니다. 데이터가 마지막으로 수정된 시간을 기록하며, 주로 낙관적 동시성 제어(Optimistic Concurrency)를 위해 사용됩니다. 하지만 사용자가 엔터티를 식별하기 위해 직접 지정하는 키는 아닙니다.
■ Microsoft Power BI에서는 ( ) 를 만들어 신속하게 드릴업 또는 드릴다운하여 차원의 다양한 수준에서 집계된 값을 찾을 수 있습니다.
- dashboard
- fact table
- unique key
- attribute hierarchy - O
해설) Power BI 핵심 구조
특성 계층(Attribute Hierarchy)은 차원 내의 속성들을 논리적인 순서로 조직화한 것입니다. Power BI에서 데이터를 분석할 때, 큰 범위(예: 연도)에서 상세한 범위(예: 일자)로 파고들거나 그 반대로 요약된 수치를 확인하는 기능을 가능하게 하는 핵심 구조가 바로 계층입니다.
dashboard (대시보드) : 핵심 지표들을 모아놓은 단일 페이지입니다.
fact table (팩트 테이블) : 수치 데이터(측정값)와 차원 테이블을 연결하는 키가 들어있는 중앙 테이블입니다.
unique key (고유 키) : 테이블 내에서 각 행을 유일하게 식별하는 값(Primary Key 등)입니다.
■ Azure SQL 데이터베이스의 서버리스 구성을 지원하는 Azure 리소스 유형은 무엇인가요?
- Azure 가상머신의 SQL Server
- Azure SQL Database elastic pool
- Azure SQL Database의 single database - O
- Azure SQL Managed Instance
해설) Power BI 핵심 구조
Azure SQL Database의 배포 모델 중에서 '단일 데이터베이스'만이 워크로드의 수요에 따라 리소스를 자동으로 확장하고 유휴 시 일시 중지할 수 있는 서버리스(Serverless) 컴퓨팅 계층을 지원합니다. 서버리스 컴퓨팅 계층은 데이터베이스 사용이 간헐적이거나 예측하기 어려운 환경에서 비용과 성능을 최적화하기 위해 설계되었습니다.
Azure 가상머신의 SQL Server (IaaS): 하드웨어만 빌려주는 개념이므로, 사용자가 직접 VM 크기를 정하고 켜두는 동안 계속 비용이 발생하는 '고정형' 모델입니다.
Azure SQL Managed Instance: 온프레미스 SQL Server와 거의 100% 호환되는 환경을 제공하지만, 전용 리소스를 할당받아 사용하는 방식이므로 서버리스 모델은 제공하지 않습니다.
Azure SQL Database elastic pool: 여러 데이터베이스가 리소스를 공유하지만, 풀(Pool) 자체는 일정한 성능(DTU 또는 vCore)을 미리 구매(Provisioned)해야 하는 구조입니다.
■ Azure Cosmos DB API는 Azure Cosmos DB 계정의 각 데이터베이스에 대해 별도로 구성됩니다. (X)
→ Azure Cosmos DB의 API 유형(SQL, MongoDB, Cassandra 등)은 계정(Account)을 생성하는 시점에 결정되기 때문입니다. 하나의 계정 내에 있는 모든 데이터베이스와 컨테이너는 계정 생성 시 선택한 동일한 API를 공유해야 하며, 데이터베이스마다 서로 다른 API를 섞어서 사용할 수 없습니다.
■ 파티션 키는 Azure Cosmos DB에서 쿼리를 최적화하는데 사용됩니다. (O)
→ 파티션 키(Partition Key)는 데이터가 저장된 정확한 위치(물리적 파티션)를 가리키는 '이정표' 역할을 하기 때문입니다. 파티션 키를 쿼리에 포함하느냐 아니냐에 따라 성능과 비용(RU)이 하늘과 땅 차이로 벌어집니다.
■ 다른 Azure 지역에서 Azure Data Lake Storage로 데이터를 복사하면 추가 비용이 발생합니다. (O)
→ 데이터가 특정 Azure 지역(Region)의 경계를 넘어 다른 지역으로 이동할 때는 '지역 간 데이터 전송' 비용이 발생합니다. 이는 Azure의 데이터 전송(Bandwidth) 과금 체계 때문입니다.
■ Azure Table Storage는 여러 읽기 복제본을 지원합니다. (X)
→ Azure Table Storage는 전 세계에 여러 개의 읽기 복제본을 자유롭게 생성할 수 있는 기능을 제공하지 않습니다. 이 기능은 보통 더 상위 서비스인 Azure Cosmos DB의 특징입니다.
■ Microsoft Power BI 대시보드는 단일 작업 영역과 연결됩니다. (O)
→ Microsoft Power BI에서 대시보드(Dashboard)는 특정 작업 영역(Workspace) 내에 생성되며, 해당 작업 영역에 귀속되는 리소스입니다. 작업 영역은 보고서, 대시보드, 데이터세트, 데이터 흐름을 담는 '가상 폴더' 또는 '컨테이너' 역할을 합니다. 하나의 대시보드 개체(Entity)는 물리적으로 단 하나의 작업 영역에만 존재할 수 있습니다. 예를 들어, '영업 팀' 작업 영역에서 만든 대시보드가 동시에 '인사 팀' 작업 영역의 소유일 수는 없습니다.
■ Microsoft Power BI 대시보드는 단일 데이터 세트의 시각화만 표시할 수 있습니다. (X)
→ Microsoft Power BI의 대시보드(Dashboard)는 보고서와 달리 여러 개의 데이터 세트(Multiple Datasets)로부터 시각화 요소를 가져와 한 화면에 구성할 수 있는 강력한 통합 도구입니다.
■ 파이프라인은 Azure Data Factory 내의 데이터 구조를 나타냅니다. (X)
→ 파이프라인(Pipeline)은 데이터의 구조가 아니라, 데이터를 처리하는 작업(활동)들의 논리적 그룹이자 워크플로(Workflow)를 의미하기 때문입니다. Azure Data Factory(ADF)에서 데이터의 구조와 형식을 정의하는 요소는 데이터세트(Dataset)입니다.
■ Azure Analysis Services는 트랜잭션 워크로드에 사용됩니다. (X)
→ Azure Analysis Services(AAS)는 트랜잭션 처리가 아닌, 대규모 데이터를 분석하고 의미 있는 모델로 만드는 분석 워크로드(OLAP)를 위해 설계된 서비스입니다.
■ 일관성을 보장하는 트랜잭션 데이터베이스에서는 모든 데이터 변경 사항이 기록되고 설명됩니다. (X)
→ '모든 데이터 변경 사항이 기록되고 설명(처리)된다'는 설명은 ACID 속성 중 일관성(Consistency)이 아니라, 주로 원자성(Atomicity)이나 트랜잭션 시스템의 일반적인 특성에 대한 설명에 더 가깝습니다.
■ Azure Data Factory는 MPP(대량 병렬 처리) 아키텍쳐를 사용하는 분석 엔진입니다. (X)
→ Azure Data Factory(ADF)는 데이터를 분석하는 '엔진'이 아니라, 데이터를 옮기고 작업의 순서를 조절하는 오케스트레이션(Orchestration) 및 데이터 통합 서비스입니다. 문장에서 설명하는 MPP(Massively Parallel Processing, 대량 병렬 처리) 아키텍처를 사용하는 대표적인 서비스는 Azure Synapse Analytics(전용 SQL 풀)입니다.
■ Azure Blob은 임의 읽기 및 쓰기 작업에 최적화되어 있습니다. (X)
→ Azure Blob Storage(특히 가장 많이 사용되는 블록 Blob)는 대규모 비정형 데이터를 저장하고 순차적으로 읽고 쓰는(Sequential Access) 스트리밍 작업에 최적화되어 있습니다. 데이터베이스 파일처럼 파일의 중간 부분을 빈번하게 수정하거나 읽어야 하는 임의 읽기 및 쓰기(Random Read/Write) 작업에는 Azure Disk Storage가 더 적합합니다.
'Microsoft Azure' 카테고리의 다른 글
| Microsoft DP900 기출 연습문제 (1) (0) | 2026.01.26 |
|---|---|
| SQL Server in Docker & Kubernetes (0) | 2026.01.22 |
| SQL Server on Linux 성능 향상 (0) | 2026.01.21 |
| SQL Server on Linux 보안 기능 (0) | 2026.01.20 |
| SQL Server on Linux 고가용성 그룹(AG) 구성 (0) | 2026.01.17 |