Microsoft SQL Server 플랫폼의 빅 데이터 옵션

적용 대상: SQL Server 2019(15.x) 이상 버전

Microsoft SQL Server 2019 빅 클러스터는 Kubernetes에서 실행되는 확장성 있는 SQL Server, Spark 및 HDFS 컨테이너 클러스터를 배포할 수 있는 SQL Server 플랫폼용 추가 기능입니다. 이러한 구성 요소는 동시에 실행되므로 Transact-SQL 또는 Spark 라이브러리를 사용하여 빅 데이터를 읽고, 쓰고, 처리할 수 있으며, 대용량의 비관계형 빅 데이터를 사용하여 가치 높은 관계형 데이터를 쉽게 조합하고 분석할 수 있습니다. 또한 빅 데이터 클러스터를 사용하면 PolyBase를 통해 데이터를 가상화할 수 있으므로 외부 테이블을 사용하여 외부 SQL Server, Oracle, Teradata, MongoDB 및 기타 데이터 원본의 데이터를 쿼리할 수 있습니다. Microsoft SQL Server 2019 빅 클러스터 추가 기능은 Always On 가용성 그룹 기술을 사용하여 SQL Server 마스터 인스턴스 및 모든 데이터베이스에 고가용성을 제공합니다.

SQL Server 2019 빅 데이터 클러스터 추가 기능은 Kubernetes 플랫폼을 사용하여 온-프레미스 및 클라우드에서 Kubernetes의 표준 배포에 대해 실행됩니다. 또한 SQL Server 2019 빅 데이터 클러스터 추가 기능은 Active Directory와 통합되며 기업의 보안 및 규정 준수 요구 사항을 충족하는 역할 기반 액세스 제어를 포함합니다.

SQL Server 2019 빅 데이터 클러스터 추가 기능 사용 중지

2025년 2월 28일, 빅 데이터 클러스터 2019 SQL Server 사용이 중지됩니다. Software Assurance를 사용하는 SQL Server 2019의 모든 기존 사용자는 플랫폼에서 완전히 지원되며, 소프트웨어는 지원 종료 시점까지 SQL Server 누적 업데이트를 통해 계속 유지 관리됩니다. 자세한 내용은 공지 블로그 게시물을 참조하세요.

SQL Server의 PolyBase 지원 변경 내용

SQL Server 2019 빅 데이터 클러스터 사용 중지와 관련된 몇 가지 기능은 스케일 아웃 쿼리와 관련이 있습니다.

Microsoft SQL Server의 PolyBase 스케일 아웃 그룹 기능이 사용 중지되었습니다. 스케일 아웃 그룹 기능은 SQL Server 2022(16.x) 제품에서 제거됩니다. SQL Server 2019, SQL Server 2017, SQL Server 2016의 시장 내 버전은 해당 제품의 수명 종료 시까지 기능을 계속 지원합니다. PolyBase 데이터 가상화는 SQL Server 스케일 업 기능으로 계속 완벽하게 지원됩니다.

Cloudera(CDP) 및 Hortonworks(HDP) Hadoop 외부 데이터 원본도 모든 시장 내 버전의 SQL Server에서 사용 중지되며 SQL Server 2022에 포함되지 않습니다. 외부 데이터 원본에 대한 지원은 해당 공급업체의 일반 지원 대상 제품 버전으로 제한됩니다. SQL Server 2022(16.x)에서 사용할 수 있는 새 개체 스토리지 통합을 사용하는 것이 좋습니다.

SQL Server 2022(16.x) 이상 버전에서 사용자는 Azure Storage에 연결할 때 새 커넥터를 사용하도록 외부 데이터 원본을 구성해야 합니다. 다음 테이블에 변경 내용이 요약되어 있습니다.

외부 데이터 원본 시작 대상
Azure Blob Storage wasb[s] abs
ADLS Gen 2 abfs[s] adls

참고 항목

Azure Blob Storage(abs)에는 데이터베이스 범위 자격 증명에서 SECRET에 대한 SAS(공유 액세스 서명)을 사용해야 합니다. SQL Server 2019 이하 버전에서 wasb[s] 커넥터는 Azure Storage 계정으로 인증할 때 데이터베이스 범위 자격 증명과 함께 스토리지 계정 키를 사용했습니다.

대체 및 마이그레이션 옵션을 위한 빅 데이터 클러스터 아키텍처 이해

빅 데이터 스토리지 및 처리 시스템에 대한 대체 솔루션을 빌드하려면 SQL Server 2019 빅 데이터 클러스터가 무엇을 제공하는지 이해하는 것이 중요하며 해당 아키텍처는 선택에 도움이 되는 정보를 제공할 수 있습니다. 빅 데이터 클러스터의 아키텍처는 다음과 같습니다.

SQL Server 2019 빅 데이터 클러스터 아키텍처 개요를 보여 주는 다이어그램

이 아키텍처는 다음과 같은 기능 매핑을 제공합니다.

구성 요소 이점
Kubernetes 대규모로 컨테이너 기반 애플리케이션을 배포 및 관리하기 위한 오픈 소스 오케스트레이터입니다. 탄력적 규모로 전체 환경에 대한 복원력, 중복성 및 이식성을 구현 및 제어하는 선언적 방법을 제공합니다.
빅 데이터 클러스터 컨트롤러 클러스터에 대한 관리 및 보안을 제공합니다. 여기에는 컨트롤 서비스, 구성 저장소 및 기타 클러스터 수준 서비스(예: Kibana, Grafana, 탄력적 검색)가 포함됩니다.
컴퓨팅 풀 클러스터에 컴퓨팅 리소스를 제공합니다. 여기에는 SQL Server on Linux pod를 실행하는 노드가 포함됩니다. 컴퓨팅 풀의 pod는 특정 처리 작업을 위한 SQL 컴퓨팅 인스턴스로 나뉩니다. 또한 이 구성 요소는 데이터를 이동 또는 복사하지 않고 PolyBase를 사용하여 외부 데이터 원본을 쿼리하는 데이터 가상화를 제공합니다.
데이터 풀 클러스터에 데이터 지속성을 제공합니다. 데이터 풀은 Linux에서 SQL Server를 실행하는 하나 이상의 pod로 구성됩니다. SQL 쿼리 또는 Spark 작업에서 데이터를 수집하는 데 사용됩니다.
스토리지 풀 스토리지 풀은 Linux의 SQL Server, Spark 및 HDFS로 이루어진 스토리지 풀 pod로 구성됩니다. 빅 데이터 클러스터의 모든 스토리지 노드는 HDFS 클러스터의 멤버입니다.
앱 풀 애플리케이션을 만들고, 관리하고, 실행하기 위한 인터페이스를 제공하여 빅 데이터 클러스터에 애플리케이션을 배포할 수 있도록 합니다.

이러한 기능에 대한 자세한 내용은 SQL Server 빅 데이터 클러스터 소개를 참조하세요.

빅 데이터 및 SQL Server에 대한 기능 대체 옵션

빅 데이터 클러스터 내 SQL Server에 의한 "운영" 데이터 기능은 하이브리드 구성 또는 Microsoft Azure 플랫폼을 사용하여 온-프레미스에 SQL Server로 대체할 수 있습니다. Microsoft Azure에서는 현대적 앱 개발자의 요구에 맞게 전용 엔진과 오픈 소스 엔진 모두에 걸쳐 완전 관리형 관계형, NoSQL 및 메모리 내 데이터베이스를 선택할 수 있습니다. 확장성, 가용성, 보안을 포함한 인프라 관리가 자동화되어 시간과 비용을 절약할 수 있으며, Azure 관리형 데이터베이스가 포함된 인텔리전스를 통해 성능 인사이트를 제공하고, 제한 없이 크기를 조정하고, 보안 위협을 관리하여 작업을 더 간소화하므로 애플리케이션을 빌드하는 데 집중할 수 있습니다. 자세한 내용은 Azure 데이터베이스를 참조하세요.

다음으로 결정할 사항은 "분석"을 위한 컴퓨팅 및 데이터 스토리지의 위치입니다. 선택할 수 있는 두 가지 아키텍처는 클라우드 내 배포와 하이브리드 배포입니다. 대부분의 분석 워크로드는 Microsoft Azure 플랫폼으로 마이그레이션할 수 있습니다. "클라우드에서 탄생한"(클라우드 기반 애플리케이션에서 생성된) 데이터는 이러한 기술의 주요 후보이며 데이터 이동 서비스를 사용하여 대규모 온-프레미스 데이터를 안전하고 신속하게 마이그레이션할 수 있습니다. 데이터 이동 옵션에 대한 자세한 내용은 데이터 전송 솔루션을 참조하세요.

Microsoft Azure에는 여러 도구에서 안전한 데이터 및 데이터 처리가 가능한 시스템 및 인증이 있습니다. 이러한 인증에 대한 자세한 내용은 보안 센터를 참조하세요.

참고

Microsoft Azure 플랫폼은 고도의 보안과 다양한 산업에 대한 인증을 제공하며 정부 요구 사항을 충족하기 위한 데이터 주권을 존중합니다. Microsoft Azure에는 정부 워크로드 전용 클라우드 플랫폼도 있습니다. 보안만이 온-프레미스 시스템에 대한 의사 결정 지점이 되어서는 안 됩니다. 빅 데이터 솔루션을 온-프레미스에 유지하기로 결정하기 전에 Microsoft Azure에서 제공하는 보안 수준을 신중하게 평가해야 합니다.

클라우드 내 아키텍처 옵션에서는 모든 구성 요소가 Microsoft Azure에 상주합니다. 사용자의 책임은 워크로드의 스토리지 및 처리를 위해 만드는 데이터 및 코드에 있습니다. 이에 대해서는 이 문서의 뒷부분에서 자세히 설명합니다.

  • 이 옵션은 데이터의 스토리지 및 처리에 다양한 구성 요소에 대해, 그리고 인프라가 아닌 데이터 및 처리 구문에 집중하려는 경우에 가장 적합합니다.

하이브리드 아키텍처 옵션에서는 일부 구성 요소가 온-프레미스에 유지되고 다른 구성 요소는 클라우드 공급자에 배치됩니다. 둘 사이의 연결은 데이터 처리를 가장 잘 배치할 수 있도록 설계되었습니다.

  • 이 옵션은 온-프레미스 기술 및 아키텍처에 상당한 투자를 하고 있지만 Microsoft Azure 제품을 사용하려는 경우 또는 온-프레미스에 상주하는 또는 전 세계 고객을 위한 처리 및 애플리케이션 대상이 있는 경우에 가장 적합합니다.

확장성 있는 아키텍처를 빌드하는 방법에 대한 자세한 내용은 대규모 데이터를 위한 확장성 있는 시스템 빌드를 참조하세요.

클라우드 내

Synapse를 사용하는 Azure SQL

운영 데이터에 대해 하나 이상의 Azure SQL 데이터베이스 옵션을 사용하고 분석 워크로드에 Microsoft Azure Synapse를 사용하여 SQL Server 빅 데이터 클러스터의 기능을 대체할 수 있습니다.

Microsoft Azure Synapse는 분산 처리 및 데이터 구문을 사용하여 데이터 웨어하우스와 빅 데이터 시스템 전체에서 인사이트를 얻는 시간을 앞당길 수 있는 엔터프라이즈 분석 서비스입니다. Azure Synapse는 엔터프라이즈 데이터 웨어하우징에 사용되는 SQL 기술, 빅 데이터에 사용되는 Spark 기술, 데이터 통합 및 ETL/ELT를 위한 파이프라인, Power BI, Cosmos DB 및 Azure Machine Learning과 같은 Azure 서비스와의 긴밀한 통합을 결합합니다.

필요한 경우 SQL Server 2019 빅 데이터 클러스터 대신 Microsoft Azure Synapse를 사용합니다.

  • 서버리스 및 전용 리소스 모델을 모두 사용 예측 가능한 성능 및 비용을 위해 전용 SQL 풀을 생성하여 SQL 테이블에 저장된 데이터를 위한 처리 성능을 예약합니다.
  • 계획되지 않은 또는 "버스트" 워크로드를 처리하고 항상 사용 가능한 서버리스 SQL 엔드포인트에 액세스
  • 기본 제공 스트리밍 기능을 사용하여 클라우드 데이터 원본의 데이터를 SQL 테이블로 이동
  • T-SQL PREDICT 함수를 통해 데이터의 점수를 매기는 기계 학습 모델을 사용하여 AI와 SQL을 통합
  • Linux Foundation Delta Lake가 지원되는 Apache Spark 2.4용 Azure Machine Learning 통합 및 SparkML 알고리즘이 포함된 ML 모델을 사용
  • 클러스터 관리에 대해 걱정할 필요가 없는 간소화된 리소스 모델을 사용
  • 빠른 Spark 시작 및 적극적인 자동 크기 조정이 필요한 데이터를 처리
  • Spark 애플리케이션 내에서 기존 .NET 코드와 C# 전문 지식을 활용할 수 있도록 .NET for Spark를 사용하여 데이터를 처리
  • 데이터 레이크에서 Spark 또는 Hive에 의해 원활하게 사용되는 파일에 정의된 테이블에 대한 작업을 수행
  • SQL을 Spark와 함께 사용하여 데이터 레이크에 저장된 Parquet, CSV, TSV 및 JSON 파일을 직접 탐색 및 분석
  • SQL 데이터베이스와 Spark 데이터베이스 사이의 빠르고 확장성 있는 데이터 로딩을 구현
  • 90개 이상의 데이터 원본에서 데이터를 수집
  • 데이터 흐름 활동을 사용하는 "코드 없는" ETL을 구현
  • Notebook, Spark 작업, 저장 프로시저, SQL 스크립트 등을 오케스트레이션
  • SQL 및 Spark 전반에 걸쳐 리소스, 사용량 및 사용자를 모니터링
  • 역할 기반 액세스 제어를 사용하여 분석 리소스에 대한 액세스를 간소화
  • SQL 또는 Spark 코드를 작성하고 엔터프라이즈 CI/CD 프로세스와 통합

Microsoft Azure Synapse의 아키텍처는 다음과 같습니다.

Azure Synapse 아키텍처 개요를 보여 주는 다이어그램

Microsoft Azure Synapse에 대한 자세한 내용은 Azure Synapse Analytics란?을 참조하세요.

Azure SQL 및 Azure Machine Learning

운영 데이터에 대해 하나 이상의 Azure SQL 데이터베이스 옵션을 사용하고 예측 워크로드에 Microsoft Azure Machine Learning을 사용하여 SQL Server 빅 데이터 클러스터의 기능을 대체할 수 있습니다.

Azure Machine Learning은 전통적인 ML부터 딥 러닝, 감독 학습 및 자율 학습에 이르는 모든 종류의 기계 학습에 사용할 수 있는 클라우드 기반 서비스입니다. SDK를 사용하여 Python 또는 R 코드를 작성하든, 스튜디오에서 코드 없음/낮은 코드 옵션으로 작업하든 상관없이 Azure Machine Learning 작업 영역에서 기계 학습 및 딥 러닝 모델을 빌드, 학습 및 추적할 수 있습니다. Azure Machine Learning을 사용하면 로컬 머신에서 학습을 시작한 다음, 클라우드로 스케일 아웃할 수 있습니다. 이 서비스는 PyTorch, TensorFlow, scikit-learn 및 Ray RLlib와 같은 널리 사용되는 딥 러닝 및 강화 오픈 소스 도구와도 상호 운용됩니다.

다음과 같이 필요한 경우 SQL Server 2019 빅 데이터 클러스터 대신 Microsoft Azure Machine Learning을 사용합니다.

  • 기계 학습을 위한 디자이너 기반 웹 환경: 모듈 끌어서 놓기를 통해 실험을 빌드한 다음, 로우 코드 환경에서 파이프라인을 배포합니다.
  • Jupyter Notebook: 예제 Notebook을 사용하거나 고유한 Notebook을 만들어 기계 학습에서 Python용 Azure SDK 샘플을 사용할 수 있습니다.
  • R용 SDK를 사용하여 고유한 코드를 작성하는 R 스크립트 또는 Notebook이나 디자이너에서 사용하는 R 모듈.
  • 많은 모델 솔루션 가속기는 Azure Machine Learning을 토대로 빌드되며 수백 또는 수천 개의 기계 학습 모델을 학습, 운영 및 관리할 수 있습니다.
  • Visual Studio Code용 기계 학습 확장(미리 보기)은 기계 학습 프로젝트를 빌드하고 관리하기 위한 완전한 기능을 갖춘 개발 환경을 제공합니다.
  • 기계 학습 CLI(명령줄 인터페이스). Azure Machine Learning은 Azure Machine Learning 리소스로 관리하기 위한 명령을 제공하는 Azure CLI 확장을 포함합니다.
  • PyTorch, TensorFlow 및 scikit-learn과 같은 오픈 소스 프레임워크와의 통합은 엔드투엔드 기계 학습 프로세스를 학습, 배포 및 관리하기 위한 다양한 기능을 포함합니다.
  • Ray RLlib를 사용하는 보충 학습.
  • 메트릭을 추적 및 배포하기 위한 MLflow 또는 엔드투엔드 워크플로 파이프라인을 빌드하기 위한 Kubeflow.

Microsoft Azure Machine Learning 배포의 아키텍처는 다음과 같습니다.

작업 영역 및 해당 구성 요소의 Azure Machine Learning 아키텍처를 보여 주는 다이어그램

Microsoft Azure Machine Learning에 대한 자세한 내용은 Azure Machine Learning 작동 방식을 참조하세요.

Databricks의 Azure SQL

운영 데이터에 대해 하나 이상의 Azure SQL 데이터베이스 옵션을 사용하고 분석 워크로드에 Microsoft Azure Databricks를 사용하여 SQL Server 빅 데이터 클러스터의 기능을 대체할 수 있습니다.

Azure Databricks는 Microsoft Azure Cloud Services 플랫폼에 대해 최적화된 데이터 분석 플랫폼입니다. Azure Databricks는 데이터 집약적 애플리케이션을 개발하기 위해 두 가지 환경 즉, Azure Databricks SQL Analytics와 Azure Databricks 작업 영역을 제공합니다.

Azure Databricks SQL Analytics는 데이터 레이크에서 SQL 쿼리를 실행하고 여러 시각화 유형을 만들어 다양한 관점에서 쿼리 결과를 탐색하고 대시보드를 빌드 및 공유하려는 분석가를 위해 사용하기 쉬운 플랫폼을 제공합니다.

Azure Databricks 작업 영역은 데이터 엔지니어, 데이터 과학자 및 기계 학습 엔지니어 간의 협업을 가능하게 하는 대화형 작업 영역을 제공합니다. 빅 데이터 파이프라인의 경우 데이터(원시 또는 구조적 데이터)는 Azure Data Factory를 통해 일괄 처리로 수집되거나 Apache Kafka, Event Hubs 또는 IoT Hub를 사용하여 근 실시간으로 스트리밍됩니다. 이 데이터는 Azure Blob Storage 또는 Azure Data Lake Storage에서 장기 저장을 위한 데이터 레이크에 배치됩니다. 분석 워크플로의 일부로 Azure Databasericks를 사용하여 여러 데이터 소스의 데이터를 읽고 Spark를 사용하여 획기적인 인사이트로 전환할 수 있습니다.

필요한 경우 SQL Server 2019 빅 데이터 클러스터 대신 Microsoft Azure Databricks를 사용합니다.

  • Spark SQL 및 DataFrames를 사용하는 완전 관리형 Spark 클러스터
  • HDFS, Flume 및 Kafka와의 통합되는 분석 및 대화형 애플리케이션의 실시간 데이터 처리 및 분석을 위한 스트리밍
  • 분류, 재발, 클러스터링, 공동 작업 필터링, 차원 감소, 기본 최적화 기본 요소 등 일반적인 학습 알고리즘 및 유틸리티로 구성된 MLlib 라이브러리에 대한 액세스
  • R, Python, Scala 또는 SQL로 노트북에 진행 상황을 문서화
  • Matplotlib, ggplot 또는 d3 같은 친숙한 도구를 사용하여 몇 단계로 데이터를 시각화
  • 동적 보고서 작성을 위한 대화형 대시보드
  • 인지 분석에서 데이터 탐색에 이르는 광범위한 사용 사례에 대한 그래프 및 그래프 계산을 위한 GraphX
  • 동적 자동 크기 조정 클러스터를 사용하여 몇 초 만에 클러스터를 만들어 팀 간에 공유
  • REST API를 사용한 프로그래밍 방식 클러스터 액세스
  • 각 릴리스와 함께 최신 Apache Spark 기능에 즉시 액세스
  • Spark 코어 API: R, SQL, Python, Scala 및 Java에 대한 지원 포함
  • 탐색 및 시각화를 위한 대화형 작업 영역
  • 클라우드의 완전 관리형 SQL 엔드포인트
  • 쿼리 대기 시간 및 동시 사용자 수에 따라 크기가 조정되는, 완전 관리형 SQL 엔드포인트에서 실행되는 SQL 쿼리
  • Microsoft Entra ID(이전의 Azure Active Directory)와의 통합
  • 노트북, 클러스터, 작업 및 데이터에 대한 사용자 권한을 세분화하기 위한 역할 기반 액세스
  • 엔터프라이즈급 SLA.
  • 시각화와 텍스트를 결합하여 쿼리에서 얻은 인사이트를 공유하기 위한 대시보드
  • 모니터링 및 통합에 도움이 되는 경고와 쿼리에서 반환된 필드가 임계값을 충족하는 경우의 알림. 경고를 사용하여 비즈니스를 모니터링하거나 경고를 도구와 통합하여 사용자 온보딩이나 지원 티켓 같은 워크플로를 시작하세요.
  • Microsoft Entra ID 통합, 역할 기반 제어 및 데이터 및 비즈니스를 보호하는 SLA를 비롯한 엔터프라이즈 보안
  • Azure 서비스 및 Azure 데이터베이스 또는 저장소(예: Synapse Analytics, Cosmos DB, Data Lake Store, BLOB 스토리지)와의 통합
  • Power BI 및 기타 BI 도구(예: Tableau Software)와의 통합

Microsoft Azure Databricks 배포의 아키텍처는 다음과 같습니다.

다이어그램: Azure Databricks 작업 영역의 아키텍처와 해당 구성 요소 및 데이터 흐름(사람에서 애플리케이션으로).

Microsoft Azure Databricks에 대한 자세한 내용은 Databricks 데이터 과학 및 엔지니어링이란?을 참조하세요.

하이브리드

패브릭 미러된 데이터베이스

데이터 복제본(replica)tion 환경으로서, 패브릭의 데이터베이스 미러링(미리 보기)은 다양한 시스템의 데이터를 단일 분석 플랫폼으로 통합하는 저비용 및 짧은 대기 시간 솔루션입니다. Azure SQL Database, Snowflake 및 Cosmos DB의 데이터를 포함하여 기존 데이터 자산을 Fabric의 OneLake에 지속적으로 복제본(replica).

OneLake에서 쿼리 가능한 형식의 최신 데이터를 사용하면 이제 Spark로 분석 실행, Notebook 실행, 데이터 엔지니어링, Power BI 보고서 시각화 등 패브릭의 모든 다른 서비스를 사용할 수 있습니다.

패브릭의 미러링을 사용하면 데이터를 이동하는 데 비용이 많이 드는 ETL(추출, 변환 및 로드) 프로세스를 개발하지 않고도 인사이트 및 의사 결정에 대한 가치 창출 시간을 단축하고 기술 솔루션 간의 데이터 사일로를 세울 수 있는 간편한 환경을 제공합니다.

패브릭의 미러링을 사용하면 여러 공급업체의 서로 다른 서비스를 함께 사용할 필요가 없습니다. 대신 분석 요구 사항을 간소화하도록 설계되고 오픈 소스 Delta Lake 테이블 형식을 읽을 수 있는 기술 솔루션 간의 개방성과 협업을 위해 빌드된 고도로 통합되고 종단 간 사용이 쉬운 제품을 즐길 수 있습니다.

자세한 내용은 다음을 참조하세요.

SQL Server 2022(16.x)에는 SQL Server 테이블과 Microsoft Azure Synapse 플랫폼인 SQL용 Azure Synapse Link 간의 연결을 허용하는 새로운 기능이 포함되어 있습니다. SQL Server 2022(16.x)용 Azure Synapse Link는 SQL Server 내에서 변경 내용을 캡처하고 Azure Synapse Analytics에 로드하는 자동 변경 피드를 제공합니다. 운영 시스템에 미치는 영향을 최소화하면서 근 실시간 분석과 하이브리드 트랜잭션 및 분석 처리를 제공합니다. 데이터가 Synapse에 있으면 크기, 규모 또는 형식에 관계없이 다양한 데이터 원본과 결합하고 선택한 Azure Machine Learning, Spark 또는 Power BI를 사용하여 전체에 대해 강력한 분석을 실행할 수 있습니다. 자동화된 변경 피드는 새로운 데이터 또는 다른 데이터만 푸시하므로 데이터 전송이 훨씬 더 빨라지고 이제 SQL Server 2022(16.x)에서 원본 데이터베이스의 성능에 미치는 영향을 최소화하면서 근 실시간 인사이트를 얻을 수 있습니다.

운영 워크로드 그리고 많은 분석 워크로드에서도 SQL Server가 방대한 크기의 데이터베이스를 처리할 수 있습니다. SQL Server 최대 용량 사양에 대한 자세한 내용은 SQL Server 버전별 컴퓨팅 용량 제한을 참조하세요. 별도의 컴퓨터에서 여러 SQL Server 인스턴스를 사용하여 T-SQL 요청을 분할하면 애플리케이션에 대한 스케일 아웃 환경을 구현할 수 있습니다.

PolyBase를 사용하면 별도로 클라이언트 연결 소프트웨어를 설치하지 않고도 SQL Server 인스턴스가 SQL Server, Oracle, Teradata, MongoDB, Cosmos DB에서 직접 T-SQL을 사용하여 데이터를 쿼리할 수 있습니다. 또한 Microsoft Windows 기반 인스턴스에서 제네릭 ODBC 커넥터를 사용하면 타사 ODBC 드라이버를 사용하여 추가 공급자에 연결할 수 있습니다. PolyBase를 통해 T-SQL 쿼리가 외부 원본의 데이터를 SQL Server 인스턴스의 관계형 테이블에 조인할 수 있습니다. 이를 통해 데이터를 원래 위치 및 형식으로 유지할 수 있습니다. SQL Server 인스턴스를 통해 외부 데이터를 가상화할 수 있으므로 SQL Server의 다른 테이블처럼 현재 위치에서 쿼리할 수 있습니다. 또한 SQL Server 2022(16.x)는 Object-Store(S3-API 사용) 하드웨어 또는 소프트웨어 스토리지 옵션을 통해 임시 쿼리 및 백업/복원이 가능합니다.

두 가지 일반적인 참조 아키텍처는 독립 실행형 서버에서 SQL Server를 구조화된 데이터 쿼리에 사용하고 Synapse에 대한 온-프레미스 링크를 위해 스케일 아웃 비관계형 시스템(예: Apache Hadoop 또는 Apache Spark)을 별도로 설치하는 것이며 또 한 가지 옵션은 솔루션에 대한 모든 구성 요소가 있는 Kubernetes 클러스터의 컨테이너 세트를 사용하는 것입니다.

온-프레미스 Windows, Apache Spark 및 개체 스토리지의 Microsoft SQL Server

Windows 또는 Linux에 SQL Server를 설치하고 하드웨어 아키텍처를 스케일 업하여 SQL Server 2022(16.x) 개체 스토리지 쿼리 기능 및 PolyBase 기능을 사용해 시스템의 모든 데이터에서 쿼리할 수 있습니다.

Apache Hadoop 또는 Apache Spark와 같은 스케일 아웃 플랫폼을 설치하고 구성하면 비관계형 데이터를 대규모로 쿼리할 수 있습니다. S3-API를 지원하는 중앙 집중식 Object-Storage 시스템 집합을 사용하면 SQL Server 2022(16.x)와 Spark가 모든 시스템에서 동일한 데이터 세트에 액세스할 수 있습니다.

또한 SQL Server 및 Azure SQL용 Microsoft Apache Spark 커넥터를 통해 Spark 작업을 사용하여 SQL Server에서 직접 데이터를 쿼리할 수 있습니다. SQL Server 및 Azure SQL용 Apache Spark 커넥터에 대한 자세한 내용은 Apache Spark 커넥터: SQL Server 및 Azure SQL을 참조하세요.

배포에 Kubernetes 컨테이너 오케스트레이션 시스템을 사용할 수도 있습니다. 이를 통해 온-프레미스에서 또는 Kubernetes 또는 Red Hat OpenShift 플랫폼을 지원하는 모든 클라우드에서 실행할 수 있는 선언적 아키텍처를 사용할 수 있습니다. Kubernetes 환경에 SQL Server 배포하는 방법에 대한 자세한 내용은 Azure에 SQL Server 컨테이너 클러스터 배포 또는 Kubernetes에서 SQL Server 2019 배포를 참조하세요.

다음이 필요한 경우 온-프레미스에서 SQL Server 및 Hadoop/Spark를 SQL Server 2019 빅 데이터 클러스터 대신 사용할 수 있습니다.

  • 전체 솔루션을 온-프레미스로 유지
  • 솔루션의 모든 부분에 전용 하드웨어를 사용
  • 양방향으로 동일한 아키텍처에서 관계형 및 비관계형 데이터에 액세스
  • SQL Server와 스케일 아웃 비관계형 시스템 간에 단일 비관계형 데이터 세트를 공유

마이그레이션 수행

마이그레이션할 위치(클라우드 내 또는 하이브리드)를 선택했으면 가동 중지 시간과 비용 벡터를 고려하여 새 시스템을 실행하고 데이터를 실시간으로 이전 시스템에서 새 시스템으로 이동할지(병렬 마이그레이션), 백업 및 복원 전략을 사용할지, 기존 데이터 원본에서 시스템을 새로 시작할지(현재 위치 마이그레이션) 결정해야 합니다.

다음 결정은 새로 선택한 아키텍처를 사용하여 시스템의 현재 기능을 다시 작성할지 아니면 가능한 한 많은 코드를 새 시스템으로 이동할지입니다. 전자를 선택하면 더 오래 걸릴 수 있지만 새 아키텍처에서 제공하는 새로운 방법, 개념 및 이점을 이용할 수 있습니다. 이 경우 데이터 액세스 및 기능 맵이 집중해야 할 기본 계획 작업입니다.

가능한 한 코드 변경 없이 현재 시스템을 마이그레이션하려는 경우 언어 호환성이 계획의 주요 초점입니다.

코드 마이그레이션

다음 단계는 현재 시스템에서 사용하는 코드와 새 환경에서 실행하는 데 필요한 변경 내용을 감사하는 것입니다.

코드 마이그레이션을 위해 고려해야 할 두 가지 기본 벡터가 있습니다.

  1. 원본 및 싱크
  2. 기능 마이그레이션

원본 및 싱크

코드 마이그레이션의 첫 번째 작업은 코드가 가져온 데이터, 해당 경로 및 최종 대상에 액세스하는 데 사용하는 데이터 원본 연결 방법, 문자열 또는 API를 식별하는 것입니다. 이러한 원본을 문서화하고 새 아키텍처의 위치에 대한 맵을 만듭니다.

  • 현재 솔루션이 "파이프라인" 시스템을 사용하여 데이터를 시스템을 통해 이동하는 경우 새 아키텍처 원본, 단계 및 싱크를 파이프라인의 구성 요소에 매핑합니다.
  • 또한 새 솔루션이 "파이프라인" 아키텍처를 대체하는 경우 하드웨어 또는 클라우드 플랫폼을 다시 사용하더라도 계획에서는 시스템을 새 설치로 취급합니다.

기능 마이그레이션

마이그레이션에 필요한 가장 복잡한 작업은 현재 시스템의 기능에 대한 설명서를 참조, 업데이트 또는 작성하는 것입니다. 현재 위치 업그레이드를 계획하고 코드 재작성을 최대한 줄이려는 경우 이 단계에서 시간이 가장 많이 걸립니다.

그러나 이전 기술로부터의 마이그레이션은 최신 기술로 업데이트하고 해당 기술이 제공하는 구문을 활용하는 데 최적의 기회인 경우가 많습니다. 종종 현재 시스템을 다시 작성하여 더 많은 보안, 성능, 기능 선택지를 확보하고 비용 최적화를 실현할 수 있습니다.

두 경우 모두 마이그레이션과 관련된 두 가지 주요 요소, 즉 새 시스템에서 지원하는 코드 및 언어와 데이터 이동에 대한 선택이 있습니다. 일반적으로 연결 문자열을 현재 빅 데이터 클러스터에서 SQL Server 인스턴스 및 Spark 환경으로 변경하면 됩니다. 모든 데이터 연결 정보 및 코드 컷오버는 최소한이어야 합니다.

현재 기능을 다시 작성하려는 경우 마이그레이션을 위해 선택한 아키텍처에 새 라이브러리, 패키지 및 DLL을 매핑합니다. 이전 섹션에 나온 설명서 참조에서 각 솔루션이 제공하는 라이브러리, 언어 및 함수의 목록을 찾을 수 있습니다. 주의가 필요하거나 지원되지 않는 언어를 파악하고 선택한 아키텍처로 교체할 계획을 수립합니다.

데이터 마이그레이션 옵션

대규모 분석 시스템의 데이터 이동에는 두 가지 일반적인 방법이 있습니다. 첫 번째는 원래 시스템에서 데이터를 계속 처리하고 해당 데이터가 더 작은 집합의 집계된 보고서 데이터 원본으로 롤업되는 "컷오버" 프로세스를 만드는 것입니다. 그런 다음 새 시스템은 새 데이터로 시작하고 마이그레이션 날짜부터 사용됩니다.

경우에 따라 모든 데이터가 레거시 시스템에서 새 시스템으로 이동해야 합니다. 이 경우 새 시스템이 지원하는 경우 SQL Server 빅 데이터 클러스터에서 원래 파일 저장소를 탑재한 다음 데이터를 새 시스템에 복사하거나 물리적으로 이동할 수 있습니다.

현재 데이터를 SQL Server 2019 빅 데이터 클러스터에서 다른 시스템으로 마이그레이션하는 과정은 현재 데이터의 위치 및 대상이 온-프레미스인지 또는 클라우드인지에 따라 크게 달라집니다.

온-프레미스 데이터 마이그레이션

온-프레미스 간 마이그레이션의 경우 백업 및 복원 전략을 사용하여 SQL Server 데이터를 마이그레이션하거나 관계형 데이터의 일부 또는 전부를 이동하도록 복제를 설정할 수 있습니다. SQL Server Integration Services를 사용하여 SQL Server의 데이터를 다른 위치로 복사할 수도 있습니다. SSIS를 사용하여 데이터를 이동하는 방법에 대한 자세한 내용은 SQL Server Integration Services를 참조하세요.

현재 SQL Server 빅 데이터 클러스터 환경에 HDFS 데이터가 있는 경우 표준적인 접근법은 독립 실행형 Spark 클러스터에 데이터를 탑재하고 Object-Storage 프로세스를 사용하여 데이터를 이동하는 것입니다. 그러면 SQL Server 2022(16.x) 인스턴스가 데이터에 액세스하거나 데이터를 그대로 두고 계속해서 Spark 작업을 사용하여 처리할 수 있습니다.

클라우드 내 데이터 마이그레이션

데이터가 클라우드 스토리지 또는 온-프레미스에 있는 경우 Azure Data Factory를 사용할 수 있습니다. 전체 전송 파이프라인에 대한 90개 이상의 커넥터와 예약, 모니터링, 경고 등의 서비스가 제공됩니다. Azure Data Factory에 대한 자세한 내용은 Azure Data Factory란?을 참조하세요.

많은 양의 데이터를 로컬 데이터 자산에서 Microsoft Azure로 안전하고 빠르게 이동하려는 경우 Azure Import/Export Service를 사용할 수 있습니다. Azure Import/Export 서비스를 사용하면 디스크 드라이브를 Azure 데이터 센터에 발송하여 많은 양의 데이터를 안전하게 Azure Blob Storage 및 Azure Files로 가져올 수 있습니다. 이 서비스를 사용하여 데이터를 Azure Blob Storage에서 디스크 드라이브로 전송하고 온-프레미스 사이트로 발송할 수도 있습니다. 하나 이상의 디스크 드라이브에 있는 데이터를 Azure Blob Storage 또는 Azure Files로 가져올 수 있습니다. 데이터의 양이 매우 많은 경우 이 서비스를 사용하는 것이 가장 빠른 경로일 수 있습니다.

Microsoft에서 제공하는 디스크 드라이브를 사용하여 데이터를 전송하려는 경우 Azure Data Box Disk를 사용하여 Azure로 데이터를 가져올 수 있습니다. 자세한 내용은 Azure Import/Export 서비스란?을 참조하세요.

이러한 선택 사항 및 그에 수반되는 결정에 대한 자세한 내용은 빅 데이터 요구 사항에 Azure Data Lake Storage Gen1 사용을 참조하세요.