적용 대상: SQL Server 2019(15.x) 이상 버전
2025년 2월 28일에 SQL Server 2019 빅 데이터 클러스터가 사용 중지되었습니다. 자세한 내용은 공지 블로그 게시물을 참조하세요.
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의 강화 기능으로 계속 완전히 지원됩니다.
CDP(Cloudera) 및 HDP(Hortonworks) Hadoop 외부 데이터 원본도 모든 시장 내 버전의 SQL Server에 대해 사용 중지되며 SQL Server 2022에 포함되지 않습니다. 외부 데이터 원본에 대한 지원은 해당 공급업체의 일반 지원 제품 버전으로 제한됩니다. SQL Server 2022(16.x)에서 사용할 수 있는 새 개체 스토리지 통합을 사용하는 것이 좋습니다.
SQL Server 2022(16.x) 이상 버전에서는 사용자가 Azure Storage에 연결할 때 새 커넥터를 사용하도록 외부 데이터 원본을 구성해야 합니다. 다음 표에는 변경 내용이 요약됩니다.
| 외부 데이터 원본 | From | To |
|---|---|---|
| Azure Blob Storage (애저 블롭 스토리지) | wasb[s] |
abs |
| ADLS Gen 2 | abfs[s] |
adls |
Note
Azure Blob Storage(abs)는 데이터베이스 범위 자격 증명의 SECRET에 SAS(공유 액세스 서명)를 사용해야 합니다. SQL Server 2019 및 이전 wasb[s] 버전에서 커넥터는 Azure Storage 계정에 인증할 때 데이터베이스 범위 자격 증명과 함께 Storage 계정 키를 사용했습니다.
대체 및 마이그레이션 옵션에 대한 빅 데이터 클러스터 아키텍처 이해
빅 데이터 스토리지 및 처리 시스템에 대한 대체 솔루션을 만들려면 SQL Server 2019 빅 데이터 클러스터가 제공하는 것을 이해하는 것이 중요하며, 해당 아키텍처가 선택 사항을 알리는 데 도움이 될 수 있습니다. 빅 데이터 클러스터의 아키텍처는 다음과 같습니다.
이 아키텍처는 다음과 같은 기능 매핑을 제공합니다.
| Component | Benefit |
|---|---|
| Kubernetes | 컨테이너 기반 애플리케이션을 대규모로 배포하고 관리하기 위한 오픈 소스 오케스트레이터입니다. 탄력적 규모로 전체 환경에 대한 복원력, 중복성 및 이식성을 만들고 제어하는 선언적 방법을 제공합니다. |
| 빅 데이터 클러스터 컨트롤러 | 클러스터에 대한 관리 및 보안을 제공합니다. 여기에는 제어 서비스, 구성 저장소 및 Kibana, Grafana 및 Elastic Search와 같은 기타 클러스터 수준 서비스가 포함됩니다. |
| Compute Pool | 클러스터에 계산 리소스를 제공합니다. Linux Pod에서 SQL Server를 실행하는 노드를 포함합니다. 컴퓨팅 풀의 Pod는 특정 처리 작업에 대한 SQL Compute 인스턴스로 나뉩니다. 또한 이 구성 요소는 PolyBase를 사용하여 데이터를 이동하거나 복사하지 않고 외부 데이터 원본을 쿼리하는 데이터 가상화를 제공합니다. |
| Data Pool | 클러스터에 대한 데이터 지속성을 제공합니다. 데이터 풀은 Linux에서 SQL Server를 실행하는 하나 이상의 Pod로 구성됩니다. SQL 쿼리 또는 Spark 작업에서 데이터를 수집하는 데 사용됩니다. |
| Storage Pool | 스토리지 풀은 SQL Server on Linux, Spark 및 HDFS로 구성된 스토리지 풀 Pod로 구성됩니다. 빅 데이터 클러스터의 모든 스토리지 노드는 HDFS 클러스터의 멤버입니다. |
| App Pool | 애플리케이션을 만들고, 관리하고, 실행할 수 있는 인터페이스를 제공하여 빅 데이터 클러스터에 애플리케이션을 배포할 수 있습니다. |
이러한 함수에 대한 자세한 내용은 SQL Server 빅 데이터 클러스터 소개를 참조하세요.
빅 데이터 및 SQL Server에 대한 기능 대체 옵션
빅 데이터 클러스터 내의 SQL Server에서 용이하게 하는 운영 데이터 함수는 하이브리드 구성 또는 Microsoft Azure 플랫폼을 사용하여 온-프레미스의 SQL Server로 대체할 수 있습니다. Microsoft Azure는 최신 앱 개발자의 요구에 맞게 독점 및 오픈 소스 엔진에 걸쳐 완전히 관리되는 관계형, NoSQL 및 메모리 내 데이터베이스를 선택할 수 있습니다. 확장성, 가용성 및 보안을 포함한 인프라 관리는 자동화되어 시간과 비용을 절약할 수 있으며, Azure 관리형 데이터베이스는 포함된 인텔리전스를 통해 성능 인사이트를 표시하고, 제한 없이 크기를 조정하고, 보안 위협을 관리하여 작업을 더 간단하게 만드는 동안 애플리케이션 빌드에 집중할 수 있습니다. 자세한 내용은 Azure 데이터베이스를 참조하세요.
다음 결정 지점은 분석을 위한 컴퓨팅 및 데이터 스토리지의 위치 입니다. 두 가지 아키텍처 선택은 클라우드 및 하이브리드 배포입니다. 대부분의 분석 워크로드는 Microsoft Azure 플랫폼으로 마이그레이션할 수 있습니다. "클라우드에서 태어난" 데이터(클라우드 기반 애플리케이션에서 시작)는 이러한 기술의 주요 후보이며 데이터 이동 서비스는 대규모 온-프레미스 데이터를 안전하고 신속하게 마이그레이션할 수 있습니다. 데이터 이동 옵션에 대한 자세한 내용은 데이터 전송 솔루션을 참조하세요.
Microsoft Azure에는 다양한 도구에서 안전한 데이터 및 데이터 처리를 허용하는 시스템 및 인증이 있습니다. 이러한 인증에 대한 자세한 내용은 보안 센터를 참조하세요.
Note
Microsoft Azure 플랫폼은 매우 높은 수준의 보안, 다양한 산업에 대한 여러 인증을 제공하며 정부 요구 사항에 대한 데이터 주권을 존중합니다. Microsoft Azure에는 정부 워크로드용 전용 클라우드 플랫폼도 있습니다. 보안만으로는 온-프레미스 시스템의 주요 의사 결정 지점이 되어서는 안 됩니다. 온-프레미스에서 빅 데이터 솔루션을 유지하기로 결정하기 전에 Microsoft Azure에서 제공하는 보안 수준을 신중하게 평가해야 합니다.
클라우드 내 아키텍처 옵션에서 모든 구성 요소는 Microsoft Azure에 상주합니다. 사용자의 책임은 워크로드의 스토리지 및 처리를 위해 만드는 데이터와 코드에 있습니다. 이러한 옵션은 이 문서에서 자세히 설명합니다.
- 이 옵션은 데이터의 저장 및 처리를 위한 다양한 구성 요소와 인프라가 아닌 데이터 및 처리 구문에 집중하려는 경우에 가장 적합합니다.
하이브리드 아키텍처 옵션에서 일부 구성 요소는 온-프레미스에 유지되고 다른 구성 요소는 클라우드 공급자에 배치됩니다. 둘 간의 연결은 데이터 처리의 최상의 배치를 위해 설계되었습니다.
- 이 옵션은 온-프레미스 기술 및 아키텍처에 상당한 투자가 있지만 Microsoft Azure 제품을 사용하려는 경우 또는 온-프레미스 또는 전 세계 대상에 대한 처리 및 애플리케이션 대상이 있는 경우에 가장 적합합니다.
확장 가능한 아키텍처를 빌드하는 방법에 대한 자세한 내용은 대규모 데이터에 대한 확장 가능한 시스템 빌드를 참조하세요.
In-cloud
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 테이블로 데이터를 가져옵니다.
- 기계 학습 모델을 사용하여 SQL과 AI를 통합하여 T-SQL PREDICT 함수를 사용하여 데이터의 점수를 매깁니다.
- Linux Foundation Delta Lake에서 지원되는 Apache Spark 2.4용 SparkML 알고리즘 및 Azure Machine Learning 통합과 함께 ML 모델을 사용합니다.
- 클러스터 관리에 대해 걱정할 필요가 없도록 하는 간소화된 리소스 모델을 사용합니다.
- 빠른 Spark 시작 및 적극적인 자동 크기 조정이 필요한 데이터를 처리합니다.
- Spark에 대한 데이터 using.NET 처리하여 Spark 애플리케이션 내에서 C# 전문 지식과 기존 .NET 코드를 다시 사용할 수 있습니다.
- 데이터 레이크의 파일에 정의된 테이블을 사용하여 Spark 또는 Hive에서 원활하게 작업합니다.
- Spark와 함께 SQL을 사용하여 데이터 레이크에 저장된 Parquet, CSV, TSV 및 JSON 파일을 직접 탐색하고 분석합니다.
- SQL 및 Spark 데이터베이스 간에 빠르고 확장 가능한 데이터 로드를 사용하도록 설정합니다.
- 90개 이상의 데이터 원본에서 데이터를 수집합니다.
- 데이터 흐름 작업에서 "코드 없는" ETL을 사용하도록 설정합니다.
- Notebook, Spark 작업, 저장 프로시저, SQL 스크립트 등을 조정합니다.
- SQL 및 Spark에서 리소스, 사용량 및 사용자를 모니터링합니다.
- 역할 기반 액세스 제어를 사용하여 분석 리소스에 대한 액세스를 간소화합니다.
- SQL 또는 Spark 코드를 작성하고 엔터프라이즈 CI/CD 프로세스와 통합합니다.
Microsoft 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을 사용합니다.
- Machine Learning용 디자이너 기반 웹 환경: 끌어서 놓기 모듈을 사용하여 실험을 빌드한 다음, 하위 코드 환경에서 파이프라인을 배포합니다.
- Jupyter Notebook: 예제 Notebook을 사용하거나 사용자 고유의 Notebook을 만들어 기계 학습에 Python용 SDK 샘플을 사용합니다.
- R용 SDK를 사용하여 사용자 고유의 코드를 작성하거나 디자이너에서 R 모듈을 사용하는 R 스크립트 또는 Notebook
- 여러 모델 솔루션 가속기는 Azure Machine Learning을 기반으로 하며 수백 또는 수천 개의 기계 학습 모델을 학습, 운영 및 관리할 수 있습니다.
- Visual Studio Code용 기계 학습 확장(미리 보기)은 기계 학습 프로젝트를 빌드하고 관리하기 위한 완전한 기능을 갖춘 개발 환경을 제공합니다.
- CLI(Machine Learning Command-Line Interface)인 Azure Machine Learning에는 명령줄에서 Azure Machine Learning 리소스를 관리하기 위한 명령을 제공하는 Azure CLI 확장이 포함되어 있습니다.
- PyTorch, TensorFlow 및 scikit-learn과 같은 오픈 소스 프레임워크와 통합하여 엔드투엔드 기계 학습 프로세스를 학습, 배포 및 관리하기 위한 다양한 기능을 제공합니다.
- Ray RLlib를 사용한 보충 학습.
- MLflow를 사용하여 메트릭을 추적하고 모델 또는 Kubeflow를 배포하여 엔드투엔드 워크플로 파이프라인을 빌드합니다.
Microsoft 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를 통해 일괄 처리로 Azure로 수집되거나 Apache Kafka, Event Hubs 또는 IoT Hub를 사용하여 거의 실시간으로 스트리밍됩니다. 이 데이터는 Azure Blob Storage 또는 Azure Data Lake Storage의 장기 지속형 스토리지를 위해 데이터 레이크에 배치됩니다. 분석 워크플로의 일부로 Azure Databricks를 사용하여 여러 데이터 원본에서 데이터를 읽고 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 Core API: R, SQL, Python, Scala 및 Java에 대한 지원이 포함됩니다.
- 탐색 및 시각화를 위한 대화형 작업 영역입니다.
- 클라우드의 완전 관리형 SQL 엔드포인트.
- 쿼리 대기 시간 및 동시 사용자 수에 따라 크기가 조정된 완전 관리형 SQL 엔드포인트에서 실행되는 SQL 쿼리입니다.
- Microsoft Entra ID(이전의 Azure Active Directory)와 통합합니다.
- 노트북, 클러스터, 작업 및 데이터에 대한 세분화된 사용자 권한 관리를 위한 역할 기반 접근 제어입니다.
- Enterprise-grade SLAs.
- 인사이트를 공유하고 시각화와 텍스트를 결합하여 쿼리에서 가져온 인사이트를 공유하기 위한 대시보드입니다.
- 경고는 모니터링 및 통합에 도움이 되며 쿼리에서 반환된 필드가 임계값을 충족하는 경우 알림을 제공합니다. 경고를 사용하여 비즈니스를 모니터링하거나 경고를 도구와 통합하여 사용자 온보딩이나 지원 티켓 같은 워크플로를 시작하세요.
- Microsoft Entra ID 통합, 역할 기반 컨트롤 및 데이터와 비즈니스를 보호하는 SLA를 비롯한 엔터프라이즈 보안
- Synapse Analytics, Cosmos DB, Data Lake Store 및 Blob Storage를 비롯한 Azure 서비스 및 Azure 데이터베이스 및 저장소와 통합됩니다.
- Power BI 및 기타 BI 도구(예: Tableau Software)와 통합
Microsoft Azure Databricks 배포의 아키텍처는 다음과 같습니다.
Microsoft Azure Databricks에 대한 자세한 내용은 Databricks 데이터 과학 및 엔지니어링이란?
Hybrid
패브릭 기반 미러링 데이터베이스
데이터 복제 환경으로서 Fabric의 데이터베이스 미러링 은 다양한 시스템의 데이터를 단일 분석 플랫폼으로 통합하는 저비용 및 짧은 대기 시간 솔루션입니다. Azure SQL Database, Snowflake 및 Cosmos DB의 데이터를 포함하여 기존 데이터 자산을 Fabric의 OneLake에 직접 지속적으로 복제할 수 있습니다.
OneLake에서 쿼리 가능한 형식의 최신 데이터를 사용하면 이제 Spark로 분석 실행, Notebook 실행, 데이터 엔지니어링, Power BI 보고서를 통한 시각화 등 Fabric의 모든 다른 서비스를 사용할 수 있습니다.
패브릭의 미러링을 사용하면 데이터를 이동하는 데 비용이 많이 드는 ETL(추출, 변환 및 로드) 프로세스를 개발하지 않고도 인사이트 및 의사 결정에 대한 가치 창출 시간을 단축하고 기술 솔루션 간의 데이터 사일로를 세울 수 있는 간편한 환경을 제공합니다.
패브릭의 미러링 기능을 사용하면 여러 공급업체의 다양한 서비스를 조합할 필요가 없습니다. 대신 분석 요구 사항을 간소화하도록 설계되고 오픈 소스 Delta Lake 테이블 형식을 읽을 수 있는 기술 솔루션 간의 개방성과 협업을 위해 빌드된 고도로 통합되고 엔드투엔드 사용이 쉬운 제품을 즐길 수 있습니다.
자세한 내용은 다음을 참조하세요.
- Microsoft Fabric 미러링된 데이터베이스
- Microsoft Fabric 미러링된 데이터베이스 모니터링
- Microsoft Fabric을 사용하여 미러된 데이터베이스에서 데이터 탐색
- Microsoft Fabric이란 무엇인가요?
- Microsoft Fabric의 기본 Power BI 의미 체계 모델에서 데이터 모델링
- Lakehouse에 대한 SQL 분석 엔드포인트란?
- Direct Lake
SQL용 Azure Synapse Link에서 SQL Server 2022 사용
SQL Server 2022(16.x)에는 SQL Server 테이블과 Microsoft Azure Synapse 플랫폼인 AZURE Synapse Link for SQL 간의 연결을 허용하는 새로운 기능이 포함되어 있습니다. SQL Server 2022용 Azure Synapse Link(16.x)는 SQL Server 내에서 변경 내용을 캡처하고 Azure Synapse Analytics에 로드하는 자동 변경 피드를 제공합니다. 운영 시스템에 미치는 영향을 최소화하면서 거의 실시간 분석 및 하이브리드 트랜잭션 및 분석 처리를 제공합니다. 데이터가 Synapse에 있으면 크기, 크기 조정 또는 형식에 관계없이 다양한 데이터 원본과 결합하고 선택한 Azure Machine Learning, Spark 또는 Power BI를 사용하여 모든 데이터에 대해 강력한 분석을 실행할 수 있습니다. 자동화된 변경 피드는 새로운 기능 또는 다른 항목만 푸시하므로 데이터 전송이 훨씬 더 빠르게 수행되고 이제 SQL Server 2022(16.x)의 원본 데이터베이스 성능에 미치는 영향을 최소화하면서 거의 실시간으로 인사이트를 얻을 수 있습니다.
운영 및 많은 분석 워크로드의 경우 SQL Server는 대규모 데이터베이스 크기를 처리할 수 있습니다. SQL Server의 최대 용량 사양에 대한 자세한 내용은 SQL Server 버전별 컴퓨팅 용량 제한을 참조하세요. 분할된 T-SQL 요청이 있는 별도의 컴퓨터에서 여러 SQL Server 인스턴스를 사용하면 애플리케이션에 대한 스케일 아웃 환경을 사용할 수 있습니다.
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의 Microsoft SQL Server, Apache Spark 및 온프레미스의 개체 저장소
SQL Server 2022(16.x) 개체 스토리지 쿼리 기능 및 PolyBase 기능을 사용하여 Windows 또는 Linux에 SQL Server를 설치하고 하드웨어 아키텍처를 확장하여 시스템의 모든 데이터에서 쿼리를 사용하도록 설정할 수 있습니다.
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 플랫폼을 지원하는 클라우드에서 실행할 수 있는 선언적 아키텍처를 사용할 수 있습니다. Sql Server를 Kubernetes 환경에 배포하는 방법에 대한 자세한 내용은 Azure에 SQL Server 컨테이너 클러스터 배포 또는 Kubernetes에서 SQL Server 2019 배포를 참조하세요.
필요한 경우 SQL Server 2019 빅 데이터 클러스터의 대체로 SQL Server 및 Hadoop/Spark 온-프레미스를 사용합니다.
- 전체 솔루션 온-프레미스 유지
- 솔루션의 모든 부분에 전용 하드웨어 사용
- 양방향으로 동일한 아키텍처에서 관계형 및 비관계형 데이터에 액세스
- SQL Server와 스케일 아웃 비관계형 시스템 간에 단일 비관계형 데이터 집합 공유
마이그레이션 수행
마이그레이션에 대한 위치(In-Cloud 또는 하이브리드)를 선택하면 가동 중지 시간 및 비용 벡터의 가중치를 측정하여 새 시스템을 실행하고 이전 시스템의 데이터를 실시간(병렬 마이그레이션) 또는 백업 및 복원 또는 기존 데이터 원본(현재 위치 마이그레이션)에서 새 시스템으로 이동할지 결정해야 합니다.
다음 결정은 새 아키텍처 선택을 사용하여 시스템의 현재 기능을 다시 작성하거나 가능한 한 많은 코드를 새 시스템으로 이동하는 것입니다. 이전 선택은 더 오래 걸릴 수 있지만 새 아키텍처에서 제공하는 새로운 메서드, 개념 및 이점을 사용할 수 있습니다. 이 경우 데이터 액세스 및 기능 맵은 집중해야 하는 기본 계획 작업입니다.
코드 변경이 거의 없는 현재 시스템을 마이그레이션하려는 경우 언어 호환성이 계획의 주요 초점입니다.
Code migration
다음 단계는 현재 시스템에서 사용하는 코드와 새 환경에 대해 실행해야 하는 변경 내용을 감사하는 것입니다.
코드 마이그레이션을 위해 고려해야 할 두 가지 기본 벡터가 있습니다.
- 원본 및 싱크
- Functionality migration
원본 및 싱크
코드 마이그레이션의 첫 번째 작업은 코드가 가져온 데이터, 해당 경로 및 최종 대상에 액세스하는 데 사용하는 데이터 원본 연결 방법, 문자열 또는 API를 식별하는 것입니다. 이러한 원본을 문서화하고 새 아키텍처의 위치에 대한 맵을 만듭니다.
- 현재 솔루션이 파이프라인 시스템을 사용하여 시스템을 통해 데이터를 이동하는 경우 새 아키텍처 원본, 단계 및 싱크를 파이프라인의 구성 요소에 매핑합니다.
- 새 솔루션이 파이프라인 아키텍처를 대체하는 경우 하드웨어 또는 클라우드 플랫폼을 대체로 다시 사용하는 경우에도 계획을 위해 시스템을 새 설치로 처리합니다.
Functionality migration
마이그레이션에 필요한 가장 복잡한 작업은 현재 시스템의 기능에 대한 설명서를 참조, 업데이트 또는 만드는 것입니다. 현재 위치 업그레이드를 계획하고 코드 다시 쓰기의 양을 최대한 줄이려는 경우 이 단계에서는 가장 많은 시간이 소요됩니다.
그러나 이전 기술에서 마이그레이션하는 것은 기술의 최신 발전에 대해 자신을 업데이트하고 제공하는 구문을 활용할 수 있는 최적의 시기인 경우가 많습니다. 종종 현재 시스템을 다시 작성하여 더 많은 보안, 성능, 기능 선택 및 비용 최적화를 얻을 수 있습니다.
두 경우 모두 마이그레이션과 관련된 두 가지 주요 요소, 즉 새 시스템에서 지원하는 코드 및 언어와 데이터 이동에 대한 선택 항목이 있습니다. 일반적으로 연결 문자열을 현재 빅 데이터 클러스터에서 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 클러스터에 데이터를 탑재하고 개체 스토리지 프로세스를 사용하여 SQL Server 2022(16.x) 인스턴스가 데이터를 액세스하거나 as-is 두고 Spark 작업으로 계속 처리할 수 있도록 데이터를 이동하는 것입니다.
클라우드 내 데이터 마이그레이션
클라우드 스토리지 또는 온-프레미스에 있는 데이터의 경우 예약, 모니터링, 경고 및 기타 서비스와 함께 전체 전송 파이프라인에 90개가 넘는 커넥터가 있는 Azure Data Factory를 사용할 수 있습니다. Azure Data Factory에 대한 자세한 내용은 Azure Data Factory란?
대량의 데이터를 로컬 데이터 자산에서 Microsoft Azure로 안전하고 빠르게 이동하려는 경우 Azure Import/Export 서비스를 사용할 수 있습니다. 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 사용을 참조하세요.