1 Microsoft Intelligent Data Platform 역할 설명
Microsoft는 클라우드(Microsoft Intelligent Data Platform 서비스 활용) 데이터 관련 업무를 위한 5가지 주요 역할을 정의하고 있다:
- Azure 데이터베이스 관리자
- Azure 데이터 서비스와 SQL Server 기반 데이터 플랫폼 솔루션 관리 (데이터 관리, 모니터링, 보안 및 개인정보 보호 설계)
- T-SQL을 활용한 일상적인 운영 및 관리 작업 수행
- Azure 데이터 서비스와 SQL Server 기반 데이터 플랫폼 솔루션 관리 (데이터 관리, 모니터링, 보안 및 개인정보 보호 설계)
- Azure 데이터 분석가
- Microsoft Power BI를 사용
- 확장 가능한 데이터 모델을 설계 및 구축하고, 데이터를 정리 및 변환하며, 이해하기 쉬운 데이터 시각화
- Microsoft Power BI를 사용
- Azure 데이터 분석가
- Power BI를 활용한 데이터 모델링 및 시각화
- 데이터 정제/변환을 통한 비즈니스 인사이트 도출
- Power BI를 활용한 데이터 모델링 및 시각화
- Azure 데이터 과학자
- Azure Machine Learning 기반 ML 워크로드 구현
- 데이터 과학/머신러닝 지식 활용
- Azure Machine Learning 기반 ML 워크로드 구현
- Azure 인공지능 엔지니어
- Cognitive Services, ML, Knowledge Mining 활용
- 자연어처리, 음성, 컴퓨터 비전, 봇 등 AI 솔루션 구현
- Cognitive Services, ML, Knowledge Mining 활용
2 Azure VM의 SQL Server
2.1 Azure 가상 머신의 SQL Server: 특징, 백업, 고가용성
- Azure 가상 머신에서 실행되는 SQL Server(IaaS)는 온프레미스 SQL Server와 동등
- 가상 머신에서 SQL Server를 선택하는 주요 이유:
- 애플리케이션 호환성: 특정 버전의 SQL Server가 필요하거나 PaaS와 호환되지 않는 설치 요구사항이 있는 경우
- 다양한 SQL Server 서비스 활용: SQL Server Analysis Services(SSAS), Integration Services(SSIS), Reporting Services(SSRS)를 데이터베이스 엔진과 함께 실행할 수 있음
2.2 백업 솔루션
최근 SQL Server 릴리스에서는 다음 두 가지 주요 백업 기능을 제공:
- URL로 백업: Azure Blob Storage 서비스에 데이터베이스를 백업
* Azure Blob Storage란?
* Blob (Binary Large Object): 이미지, 오디오, 비디오, 문서 등과 같은 대용량 비정형 데이터를 저장하는 데 사용되는 데이터 형식
* Azure의 클라우드 기반 스토리지 서비스
* 비교적 저렴한 비용으로 높은 가용성, 내구성, 확장성을 제공
* 데이터 암호화, 보안, 백업 등 다양한 기능 제공
* Azure Backup: SQL Server VM을 위한 포괄적인 엔터프라이즈 백업 솔루션
2.3 배포 옵션
- Azure의 모든 리소스는 Azure Resource Manager를 통해 관리되고 배포
- 최종적으로 JSON 문서인 Azure Resource Manager 템플릿으로 변환됨
- 대규모 배포에는 선언적 접근 방식이 권장됨
2.4 Azure 스토리지 개요
SQL Server 운영 환경에서는 다음 4가지 스토리지 유형 제공:
- Standard HDD: 비용 절감을 위해 사용, 데이터베이스 백업에는 표준 스토리지를 사용
- Standard SSD: 비교적 빠른 속도와 비교적 저렴한 비용
- Premium SSD: 5-10ms 지연 시간
- Ultra Disk: 1-2ms 지연 시간(최적화 시 1ms 미만 가능)
2.5 Azure의 High Availability
- Azure 플랫폼은 fault tolerance을 갖추고 있으며 서비스 중단과 일시적 오류로부터 빠르게 복구됨
- Premium SSD 또는 Ultra Disk를 사용하는 단일 인스턴스 Azure 가상 머신의 경우 최소 99.9%(1년의 0.01%인 약 9시간 정도의 가동 중단 리스크)의 가동 시간을 보장
- 가용성 집합, 가용성 영역, 부하 분산 기술을 통해 high availability을 제공
2.6 Azure Arc 지원 SQL Server
- Azure Arc는 Azure 관리 기능을 온프레미스, 다른 클라우드 또는 엣지에서 실행되는 SQL Server 인스턴스로 확장
- Azure Arc를 통해 기존 SQL Server를 Azure로 이전하지 않고도 일관된 정책 적용, 규정 준수, Azure Monitor 및 Security Center 활용이 가능
- 중앙 집중식 관리, 자동 업데이트, 백업 및 복원, 재해 복구와 같은 고급 기능을 활용할 수 있으며, Azure의 머신러닝과 AI 기능도 기존 데이터에 적용 가능
3 클라우드 기반 Azure SQL Database 설계
Azure SQL Database는 PaaS(Platform as a Service) 형태로 제공되는 고확장성 데이터베이스 서비스로, 최소한의 유지 관리로 특정 워크로드에 최적화되어 있다. 개발자에게 유연성과 세분화된 배포 옵션을 제공하여 새로운 애플리케이션 개발에 적합하다.
3.1 구매 모델
1. vCore 기반 모델
- 컴퓨팅과 스토리지 리소스를 독립적으로 확장 가능
- 서비스 Tier:
- 범용(General Purpose): 덜 집약적인 작업용, 프로비저닝 및 서버리스 컴퓨팅 계층 제공
- 비즈니스 크리티컬(Business Critical): In-Memory OLTP, 읽기 전용 복제본, 로컬 SSD 지원
- OLTP: In-Memory OLTP(Online Transaction Processing)는 Microsoft SQL Server에서 제공하는 메모리 최적화 기술
- 이 기술은 데이터베이스 테이블과 저장 프로시저를 메인 메모리(RAM)에 저장하여 디스크 I/O 작업을 최소화함으로써 트랜잭션 처리 성능을 크게 향상
- 주요 특징
- 데이터를 디스크가 아닌 메모리에 저장하여 액세스 속도 향상
- 락(lock)이나 래치(latch) 없는 동시성 제어 메커니즘으로 경합 감소
- 높은 처리량과 낮은 지연 시간이 필요한 트랜잭션 중심 애플리케이션에 적합
- 데이터를 디스크가 아닌 메모리에 저장하여 액세스 속도 향상
- OLTP: In-Memory OLTP(Online Transaction Processing)는 Microsoft SQL Server에서 제공하는 메모리 최적화 기술
- 하이퍼스케일(Hyperscale): 수평적 확장 기능, 대규모 데이터 처리에 적합
- 범용(General Purpose): 덜 집약적인 작업용, 프로비저닝 및 서버리스 컴퓨팅 계층 제공
2. DTU 기반 모델
- 컴퓨팅과 스토리지가 DTU 수준에 종속
- DTU(Database Transaction Unit): Azure SQL Database에서 사용하는 성능 측정 단위
- Microsoft가 개발한 이 단위는 CPU, 메모리, 데이터 I/O 및 트랜잭션 로그 I/O의 혼합된 측정값으로, 데이터베이스 성능을 단일 값으로 표현
- DTU 기반 구매 모델에서는 데이터베이스에 특정 DTU 레벨을 할당하며, 이 레벨은 해당 데이터베이스가 사용할 수 있는 컴퓨팅 및 스토리지 리소스의 양을 결정 (DTU 계층에 따라 성능과 비용이 증가)
- 이 모델은 vCore 모델과 달리 컴퓨팅과 스토리지가 함께 묶여 있어, 스토리지만 늘리고 싶어도 DTU 수준을 전체적으로 올려야 하는 단점이 있다.
- DTU(Database Transaction Unit): Azure SQL Database에서 사용하는 성능 측정 단위
- Basic, Standard, and Premium 세 가지 서비스 tier 제공
- 스토리지 한도 도달 시 컴퓨팅 사용률과 무관하게 DTU 증가 필요
3.2 서버리스 컴퓨팅
- 자동 확장 및 일시 중지 기능을 제공하여 개발/테스트 환경의 비용 절감에 효과적
- 워크로드에 따라 동적으로 확장되며 비활성 상태일 때는 자동으로 일시 중지되어 스토리지 비용만 발생
3.3 배포 모델
1.단일 데이터베이스
- 각 데이터베이스를 개별적으로 관리
- 동일 서버에 배포되어도 각 데이터베이스는 전용 리소스 보유
- Azure 포털을 통한 리소스 모니터링 가능
2.탄력적 풀
- 여러 데이터베이스가 리소스를 공유하는 모델
- 개별 데이터베이스 스케일링이 불필요해 관리 용이
- SaaS 애플리케이션에 비용 효율적
- 사용률이 낮은 멀티테넌트 환경에 적합
3.4 주요 기능
네트워크 옵션
방화벽 규칙, 가상 네트워크 엔드포인트, Private Link 등으로 액세스 제어가 가능
백업 및 복원
Azure는 SQL Database 및 SQL Managed Instance에 대한 원활한 백업 및 복원 기능을 제공
- 지속적 백업(seamless backup): 정기적인 백업과 지역 중복 스토리지, 전체 백업은 매주 수행되고, 차등 백업은 12~24시간마다 수행되며, 트랜잭션 로그 백업은 5~10분마다 수행됨
- 지역 복원(geo-restore): 다른 지리적 지역으로 복원 가능, 덜 엄격한 재해 복구 시나리오에 특히 유용
- 시점 복원(PITR, point-in-time restore): 특정 시점 복원 가능, 1-35일 보존 기간 설정 가능, 실제로 지정하지 않으면 기본 구성은 7일
- 장기 보존(LTR, long-term retention): 최대 10년까지 보존 정책 설정, 이 옵션은 기본적으로 사용하지 않도록 설정
자동 튜닝
머신러닝 기반으로 쿼리 성능을 자동 최적화
- 비용 많은 쿼리 식별
- 실행 계획 최적화
- 인덱스 추가/제거 기능
탄력적 쿼리 및 작업
- 여러 데이터베이스에 걸친 쿼리 실행과 유지 관리 작업 자동화를 지원
- 여러 데이터베이스를 연결하는 T-SQL 쿼리를 실행 가능하고 이 기능은 변경할 수 없는 세 부분 및 네 부분으로 된 이름을 사용하는 애플리케이션에 유용
- 마이그레이션을 허용하기 때문에 이식성이 향상
- 다음 분할 전략을 지원
- 수직 분할: 데이터베이스 간 쿼리라고도 합니다. 데이터는 여러 데이터베이스 간에 세로로 분할 (컬럼 단위 분할도 가능).
- 가로 분할: 데이터는 여러 확장된 데이터베이스에 행을 분산하기 위해 수평(행또는 record 단위)으로 분할
- 수직 분할: 데이터베이스 간 쿼리라고도 합니다. 데이터는 여러 데이터베이스 간에 세로로 분할 (컬럼 단위 분할도 가능).
Microsoft Fabric 통합
- Microsoft 생태계와 완벽하게 통합되어 데이터 워크플로 간소화, 협업 강화, 고급 분석 지원 등의 이점을 제공
- Microsoft Fabric은 모든 데이터 및 분석 요구 사항을 위한 통합 플랫폼
- Microsoft의 SaaS(Software as a Service) 분석 제품군
- Power BI, Azure Synapse Analytics, Azure Data Factory 등의 Microsoft 서비스를 하나의 통합된 환경으로 결합
- Microsoft의 SaaS(Software as a Service) 분석 제품군
- 주요 특징:
- 데이터 수집, 처리, 저장, 분석, 시각화를 위한 end-to-end 솔루션
- 공통 데이터 저장소인 OneLake를 중심으로 구축
- 다양한 워크로드 지원: 데이터 엔지니어링, 데이터 과학, 실시간 분석, BI 등
- 통합된 거버넌스 및 보안 모델
- Microsoft 365와 긴밀한 통합
- Fabric은 SQL Database와 같은 여러 데이터 서비스를 통합하여 조직이 데이터 사일로를 제거하고 더 효율적으로 데이터를 활용하도록 지원
- 데이터 수집, 처리, 저장, 분석, 시각화를 위한 end-to-end 솔루션
4 Azure SQL Managed Instance
Azure SQL Managed Instance는 Azure SQL Database와 많은 공통 코드를 공유하는 완전 관리형 PaaS 솔루션으로 SQL Server 잘 작동하는 완전 관리형 데이터베이스 서비스
4.1 주요 이점
- 자동 백업 및 패치
- 기본 제공 고가용성(99.99% 가동시간 보장, 년간 52분 가동 중단 시간 허용 리스크)
- 보안 및 성능 도구
- 통합 감사 기능
- SQL Server 설치 및 패치 불필요로 유지 관리 감소
4.2 SQL Database와의 차별점
SQL Database가 단일 데이터베이스 중심인 반면, SQL Managed Instance는 다음을 지원:
- 데이터베이스 간 쿼리
- CLR(Common Language Runtime, 공통 언어 런타임)
- 다양한 .NET 언어(C#, Visual Basic .NET 등)로 작성된 코드를 SQL Server 내에서 실행 가능
- 스토어드 프로시저, 트리거, 사용자 정의 함수, 사용자 정의 형식, 사용자 정의 집계 등을 .NET 언어로 작성 가능
- T-SQL로 구현하기 어려운 복잡한 비즈니스 로직, 문자열 처리, 수학 계산 등을 효율적으로 처리 가능
- T-SQL(Transact-SQL): Microsoft SQL Server에서 사용되는, SQL(Structured Query Language)의 확장 버전
- 외부 리소스(파일 시스템, 네트워크 등)에 접근하는 코드 실행 가능
- 시스템 데이터베이스 액세스
- SQL 에이전트 기능
- Microsoft SQL Server의 작업 자동화 서비스
- 작업 예약, 작업 모니터링, 작업 로깅 등 다양한 기능 제공
4.3 하이브리드 라이선스 옵션
- Active Software Assurance가 있는 기존 라이선스를 활용해 PaaS(SQL Database 및 SQL Managed Instance) 비용 절감(최대 40%)
- Enterprise Edition: 코어당 비즈니스 크리티컬 vCore 1개 또는 범용 vCore 8개
- Standard Edition: 코어당 범용 vCore 1개
- Enterprise Edition: 코어당 비즈니스 크리티컬 vCore 1개 또는 범용 vCore 8개
4.4 Connectivity Architecture
- SQL Managed Instance에 대한 연결은 TDS 엔드포인트를 통한 연결
- TDS(Tabular Data Stream)는 Microsoft SQL Server 및 Sybase에서 클라이언트와 데이터베이스 서버 간의 통신에 사용되는 네트워크 프로토콜
- TDS(Tabular Data Stream)는 Microsoft SQL Server 및 Sybase에서 클라이언트와 데이터베이스 서버 간의 통신에 사용되는 네트워크 프로토콜
- 고가용성 방식으로 배포된 게이트웨이 구성 요소
- 자동화된 백업(지역 중복 및 자동 복제)
- 자동 장애 조치 그룹 지원
4.5 Migration Options
- Log 재생 서비스: 온라인 마이그레이션, 세부 제어 가능
- Azure Data Studio 확장: 준비 상태 평가, 리소스 추천, 중소규모 DB에 적합
- Managed Instance 링크: 분산 가용성 그룹 사용, 즉시 데이터 복제
- 네이티브 백업 및 복원: 간단한 마이그레이션 방법
- 트랜잭션 복제: 대규모 DB의 온/오프라인 마이그레이션에 적합
4.6 Machine Learning Services
- Python 및 R 패키지 지원
- 데이터 이동 없이 기계 학습 모델 학습 및 배포
- T-SQL 저장 프로시저를 통한 모델 배포
- scikit-learn, PyTorch, TensorFlow 등 오픈소스 라이브러리 지원
- T-SQL PREDICT 함수로 예측 가속화
sp_configure 'external scripts enabled', 1;명령으로 활성화