사용 가능한 데이터 마이그레이션 기술 살펴보기
발견 및 평가 단계를 수행하면 현재 환경과 이 환경 내에서 작동하는 워크로드를 명확하게 파악할 수 있어야 합니다. 데이터 현대화 결과에서 무엇이 필요한지도 파악해야 합니다. 이러한 항목을 명확하게 이해하면 워크로드를 지원하는데 적절한 데이터 플랫폼 기술을 선택할 수 있습니다.
근무 중인 글로벌 소매업체에서는 데이터 플랫폼 현대화 프로젝트의 검색 단계와 평가 단계를 완료했습니다. 이제 계획 단계에서는 데이터 자산을 마이그레이션할 최적의 데이터베이스 기술을 선택하려고 합니다. 클라우드에서 데이터를 호스트하기로 결정했지만 Azure에는 사용할 수 있는 여러 가지 기술이 있다는 점을 알고 있습니다.
여기에서는 사용 가능한 Azure SQL 호스팅 서비스와 Azure Synapse Analytics에 대해 알아봅니다.
Azure 가상 머신의 SQL Server
IaaS(Infrastructure as a Service)를 사용하는 것은 최소한의 변경으로 클라우드로 빠르게 마이그레이션해야 하는 모든 애플리케이션 솔루션에 유용합니다. SQL Server의 모든 버전을 사용할 수 있으며, SQL Server와 100% 호환성을 제공하여 필요한 만큼 많은 데이터베이스를 호스트하고 데이터베이스 간 트랜잭션을 실행할 수 있습니다.
또한 다음을 비롯하여 IaaS 플랫폼 사용을 고려할 수 있는 다른 혜택도 있습니다.
- SQL Server에 대한 고가용성, 재해 복구, 패치를 온-프레미스 머신보다 쉽게 구성 및 관리
- 모든 관리 권한이 있는 사용자 지정 환경
- 최대 64TB의 스토리지와 필요한 만큼의 데이터베이스를 포함하는 SQL Server 인스턴스
- SQL Server 트랜잭션 복제, AlwaysOn 가용성 그룹, 통합 서비스 및 로그 전달을 완벽하게 지원하여 데이터와 기존 SQL Server 복제
또한 Azure Virtual Machine에서 SQL Server를 마이그레이션하는 것은 애플리케이션과 데이터베이스가 동일한 서버에서 공존해야 하는 레거시 시스템에 대한 옵션일 수 있습니다.
마이그레이션의 간단한 특성으로 인해 대상 플랫폼으로 마이그레이션하는 것을 일반적으로 “리프트 앤 시프트”라고 합니다.
Azure SQL 관리형 인스턴스
SQL Managed Instance는 대량의 온-프레미스 SQL Server 데이터베이스를 Azure로 전송하기 위한 낮은 노력의 솔루션을 찾는 조직에 이상적인 마이그레이션 대상입니다. 광범위한 SQL Server 호환성과 네트워크 격리를 통해 리프트 앤 시프트 프로세스를 간소화하면서 안전하고 비용 효율적인 솔루션을 제공합니다. 더 큰 데이터베이스 크기(최대 8TB)와 SQL 에이전트, 데이터베이스 간 쿼리 및 복제와 같은 SQL Server 기능에 대한 지원과 함께 SQL Database와 동일한 기능을 제공하는 SQL Managed Instance는 온-프레미스 데이터베이스를 백업하고 복원할 수 있습니다.
Azure SQL Managed Instance를 사용하면 다음과 같은 혜택이 있습니다.
- 격리된 환경(VNET, 전용 컴퓨팅 및 저장소 리소스를 사용하는 단일 테넌트 서비스)
- 고객이 구성할 수 있는 백업 보존 및 복구
- 고급 워크로드 분석을 위한 Database Advisor 및 Log Analytics
- 예측 가능한 성능을 위한 자동 데이터베이스 튜닝 및 유지 관리
- 대규모 모니터링, 문제 해결, 관리
- 수동 서비스 프로비전 및 크기 조정을 위한 Azure Portal 기능
- Microsoft Entra 인증, Single Sign-On 지원
- Azure SQL Database와 동일한 표준 준수
- 고객이 제공한 암호화 키를 사용하여 전송 중인 데이터와 미사용 데이터 암호화
- 패치 및 버전 업그레이드 오버헤드 없음
Azure SQL 데이터베이스
Azure SQL Database는 완전 관리형으로, 클라우드에서 안정적이고 안전한 고성능 범용 관계형 데이터베이스 엔진을 조직에 제공합니다. Azure SQL Database에는 다음과 같은 세 가지 배포 모델이 있으며 각각 서로 다른 이점을 제공합니다.
단일 데이터베이스
단일 데이터베이스는 자체 리소스를 포함하며 데이터베이스가 관리되는 논리적 SQL Database 서버에 배포됩니다. 여기에는 다양한 수준의 처리량, 성능, 스토리지 및 비용을 제공하는 여러 가지 성능 계층이 있습니다.
엘라스틱 풀
탄력적 풀은 워크로드 특성이 다양한 여러 데이터베이스를 배포하고 관리할 수 있는 비용 효율적인 방법을 조직에 제공합니다. 탄력적 풀에 속하는 데이터베이스는 단일 SQL Database 서버에 배포되므로 풀 내의 모든 데이터베이스 간에 리소스를 공유하여 사용할 수 있습니다.
DTU 기반 구매 모델 또는 vCore 기반 구매 모델을 사용하여 단일 데이터베이스와 탄력적 풀을 모두 구입할 수 있습니다.
DTU 기반 구매 모델
DTU(데이터베이스 처리량 단위)는 CPU, 메모리, 데이터 I/O 및 트랜잭션 로그 I/O를 혼합하여 계산되는 성능 단위입니다. DTU가 높을수록 성능 수준이 올라갑니다. DTU 구매 모델을 통해 고객은 시간당 고정 요금 청구로 예산을 제어할 수 있습니다.
vCore 기반 구매 모델
VCore 구매 모델을 통해 고객은 vCore와 메모리에 따라 성능 수준을 선택할 수 있습니다. 이 모델을 사용하면 더욱 세부적인 수준에서 스토리지와 상관없이 컴퓨팅을 스케일링할 수 있습니다. 추가 혜택으로 vCore 구매 모델을 사용하면, SQL Server에 대한 Azure 하이브리드 사용 혜택으로 조직에서 Azure SQL Database를 라이선스를 부여할 수 있습니다. 즉, SQL Server Enterprise 및 Standard Edition 코어 라이선스에 대해 활성 SA(Software Assurance) 혜택 범위를 가진 고객은 최대 30%까지 비용을 절감할 수 있습니다.
단일 Azure SQL Database 서비스 사용은 데이터베이스에 예측 가능한 성능 요구 사항이 있는 많은 비즈니스 요구 사항에 적합하며 다음과 같은 혜택을 제공합니다.
- SQL Server 엔진 호환성과 기본 VNET(가상 네트워크) 지원
- 가동 중지 시간 없는 동적 스케일링 성능
- 기본 제공된 지능형 최적화, 글로벌 스케일링 성능과 가용성, 고급 보안 옵션
- 하드웨어 비용을 제거하고 관리 비용 절감
- 기본 제공되는 내결함성 인프라 기능. Azure SQL Database에서는 Azure SQL Database에서 데이터를 호스트하는 애플리케이션에 대한 비즈니스 연속성을 향상하기 위해 자동화된 백업, 특정 시점 복원, 지역 복원, 활성 지역 복제 등의 기능을 제공합니다.
- 확장 패턴을 사용하여 가로 또는 세로로 분할될 수 있는 최대 4TB 이상의 데이터베이스
Azure Synapse Analytics
Azure Synapse Analytics는 MPP(대규모 병렬 처리)를 활용하는 클라우드 기반 EDW(Enterprise Data Warehouse)이며 대량의 데이터에서 복잡한 쿼리를 신속하게 실행합니다. SQL Data Warehouse는 대규모 데이터 분석을 제공하도록 설계되고 배포된 시스템입니다. Azure Synapse Analytics 마이그레이션에는 이해하기 어렵지 않지만 구현하려면 시간이 필요할 수 있는 몇 가지 테이블 스키마 및 코드 설계 변경이 필요합니다. 비즈니스에 엔터프라이즈 수준의 데이터 웨어하우스가 필요한 경우 충분한 혜택을 얻을 수 있습니다. 그러나 Azure Synapse Analytics의 기능이 필요하지 않은 경우 Azure SQL Database나 Virtual Machines의 SQL Server를 사용하는 것이 더 비용 효율적입니다.
다음의 경우 Azure Synapse Analytics를 사용하십시오.
- 1테라바이트 이상의 데이터가 있는 경우
- 많은 양의 데이터에 대한 분석을 실행하려는 경우
- 컴퓨팅 및 스토리지의 크기를 조정하는 기능이 필요한 경우
- 필요하지 않을 때 컴퓨팅 리소스를 일시 중지하여 비용을 절감하고자 합니다.
워크로드가 다음과 같은 경우 Azure Synapse Analytics를 사용하지 마세요.
- 높은 빈도의 읽기 및 쓰기
- 많은 수의 singleton select 문
- 많은 양의 단일 행 삽입
- 행 단위 처리 요구 사항
- 호환되지 않는 형식(JSON, XML)