Microsoft는 Azure 서비스를 데이터 관리 및 분석과 같은 첨단 기능을 통합하는 엔터프라이즈급 클라우드 솔루션으로 전환했습니다.
Microsoft는 클라우드를 사용하기로 결정했을 때 Azure SQL Data Warehouse를 출시했습니다. Microsoft는 Azure SQL Data Warehouse를 강력하게 추진하고 있습니다. 탄력적인 데이터 웨어하우스 기능을 결합한 유연한 데이터베이스 관리 서비스입니다.
목차
Azure SQL 데이터 웨어하우스란 무엇인가요?
Azure SQL Data Warehouse(현재 클라우드 기반 데이터 웨어하우스인 Azure Synapse Dedicated SQL Pool이라고 함)를 사용하면 Microsoft Azure에서 데이터 웨어하우스를 만들고 제공할 수 있습니다. Azure Data Warehouse는 많은 양의 관계형 및 비관계형 데이터를 처리할 수 있습니다. SQL 데이터 웨어하우스 기능 및 클라우드 컴퓨팅 플랫폼.
SQL 서버를 기본적으로 지원하며 기존 SQL 서버를 SQL Data Warehouse로 마이그레이션할 수 있습니다. 동일한 쿼리와 구문을 사용할 수도 있습니다. 또한 구독자는 데이터 웨어하우스 리소스를 확장, 일시 중지 및 축소하는 데 즉시 액세스할 수 있습니다.
완전한 엔터프라이즈급 SQL 기반 데이터 웨어하우스 솔루션을 제공하는 데 사용됩니다. 다음과 같은 방법으로도 사용할 수 있습니다.
- 기존 데이터 웨어하우스(온프레미스)를 클라우드로 마이그레이션
- 웹 애플리케이션과 같이 런타임 시 데이터 저장 및 검색이 필요한 애플리케이션 및 서비스에 데이터 웨어하우스 솔루션을 제공합니다.
- Azure 호스팅 데이터 웨어하우스 및 SQL Server 현장에 연결하는 하이브리드 데이터 웨어하우스 솔루션입니다.
Azure SQL Data Warehouse의 가장 좋은 기능은 탄력적인 특성입니다. 이를 통해 확장성과 스토리지 및 컴퓨팅 리소스를 별도로 관리할 수 있습니다. 사용자가 사용한 만큼만 사용한 만큼만 비용을 지불하는 win/win 플랫폼을 만듭니다.
Azure SQL Data Warehouse의 컴퓨팅 쪽은 참여하는 모든 컴퓨팅 노드에서 스토리지 I/O 및 메모리와 같은 컴퓨팅 리소스를 추적하는 DWU(데이터 웨어하우스 단위)를 기반으로 합니다.
Azure SQL Data Warehouse는 연결 보안 기능을 제공합니다. 이를 통해 방화벽 규칙을 사용하여 특정 IP 주소 또는 IP 범위에 대한 액세스를 제한할 수 있습니다. Azure AAD(Active Directory 인증)와 통합하면 Azure AD의 ID를 사용하여 Azure SQL Data Warehouse에 연결할 수 있습니다.
다층 암호화는 저장, 이동 및 사용 중 데이터를 남용하지 않도록 보호합니다. 데이터를 감사 및 모니터링하고 보안 위반을 식별하기 위한 추가 도구를 사용할 수 있습니다.
다른 Microsoft 도구와 결합할 때 Azure SQL Data Warehouse는 비교할 수 없는 성능을 제공하며 이는 시장에 나와 있는 다른 유사한 서비스에 비해 큰 이점입니다.
Azure Synapse 전용 SQL 풀
Azure Synapse SQL Pool Dedicated SQL Pool(이전의 Azure SQL Data Warehouse)은 Snowflake 및 Amazon Redshift와 같은 열 기반 스케일 아웃 데이터베이스 기술과 유사한 대규모 병렬 처리 데이터뱅크입니다. 최종 사용자에게는 기존 SQL Server처럼 보이지만 한 노드에 데이터를 저장하고 처리하지 않습니다.
이것은 크기가 몇 테라바이트보다 큰 데이터 웨어하우스의 성능을 극적으로 향상시킬 수 있지만 더 작은 구현을 위한 더 나은 솔루션이 있을 수 있습니다.
기본 아키텍처는 기존 SQL Server와 매우 다릅니다. 이것은 구문과 개발 방법도 다르다는 것을 의미합니다.
배포는 전용 SQL 풀의 Compute 노드에 매핑됩니다. 더 많은 컴퓨팅 리소스를 구매하면 풀이 배포를 컴퓨팅 노드에 다시 매핑합니다.
간단한 PolyBase SQL 쿼리를 사용하여 대용량 데이터를 가져온 다음 고성능 분석을 위해 분산 쿼리 엔진을 사용할 수 있습니다.
전용 SQL 풀(이전의 SQL DW)은 데이터를 더 빠르게 통합 및 분석하고 보다 강력한 통찰력을 제공할 수 있는 단일 정보 소스를 비즈니스에 제공합니다.
Azure Synapse Analytics 작업 영역의 Azure Synapse 전용 SQL 풀과 전용 SQL 풀의 차이점은 무엇인가요?
PowerShell은 “전용 SQL 풀(이전의 SQLDW)”과 “Synapse Analytics” 전용 SQL 풀 간의 설명서에서 가장 혼란스러운 영역 중 하나입니다.
SQL DW의 원래 구현은 Azure SQL DB와 유사한 논리 서버를 사용합니다. Az.Sql이라는 PowerShell 모듈이 공유됩니다.
이 모듈은 New.AzSqlDatabase cmdlet을 사용하여 새 SQL 풀(이전의 SQLDW)을 만듭니다. DataWarehouse를 원하는지 지정할 수 있는 “Edition” 매개변수가 있습니다.
Synapse Analytics는 Az.Synapse가 처음 릴리스되었을 때 새로운 PowerShell 모듈과 함께 제공되었습니다. Synapse Analytics Workspace에서 전용 SQL 풀을 생성하려면 New-AzSynapseSqlPool을 사용합니다.
이 PowerShell 모듈은 Synapse 아티팩트에만 사용되기 때문에 “Edition” 매개변수를 포함할 필요가 없습니다.
전용 SQL 풀은 T-SQL 기반 컴퓨팅 및 스토리지를 제공합니다. 데이터를 Synapse에서 로드, 모델링 및 처리하여 더 빠른 통찰력을 제공할 수 있습니다.
Azure Synapse는 Dedicated SQL 풀 외에 Serverless SQL 및 Apache Spark 풀을 제공합니다. 요구 사항에 따라 올바른 것을 선택할 수 있습니다.
서버리스 SQL 풀을 사용하면 데이터 레이크에 저장된 데이터를 쿼리할 수 있습니다.
Azure Synapse Dedicated SQL 풀의 기능은 무엇인가요?
Azure Synapse Dedicated SQL Pool은 확장 아키텍처를 사용하여 데이터 계산을 여러 노드에 분산합니다. 컴퓨팅은 스토리지와 별개이므로 스토리지와 별도로 컴퓨팅을 확장할 수 있습니다.
서버리스 SQL 풀은 서버리스이며 쿼리 리소스 요구 사항을 충족하도록 자동으로 확장됩니다. 노드를 추가, 제거 또는 장애 조치하여 토폴로지 변경에 적응합니다. 이렇게 하면 쿼리에 충분한 리소스가 있고 성공적으로 완료될 수 있습니다.
Synapse SQL은 노드 기반 아키텍처를 기반으로 합니다. Synapse SQL은 노드 기반 아키텍처를 사용합니다. 응용 프로그램은 제어 노드에 연결하고 T-SQL 명령을 실행할 수 있습니다. 이것은 Synapse SQL의 단일 지점입니다.
Azure Synapse SQL 제어 노드는 병렬 처리를 위해 쿼리를 최적화한 다음 병렬로 작업을 수행할 수 있도록 Compute 노드에 작업을 전달하는 분산 쿼리 엔진을 사용합니다.
서버리스 SQL 풀 제어 노드는 DQP(분산 쿼리 처리 엔진)를 사용하여 분산 실행을 최적화하고 조정합니다.
이는 사용자 쿼리를 Compute 노드에서 실행할 수 있는 더 작은 쿼리로 분할하여 수행됩니다. 각 작업은 분산 실행 단위입니다. 다른 작업에서 데이터를 검색하고, 파일을 그룹화하고, 저장소에서 읽습니다.
컴퓨팅 노드는 모든 사용자 데이터를 저장하고 병렬 쿼리를 실행합니다. 시스템 수준 내부 서비스인 DMS(데이터 이동 서비스)는 노드 간에 데이터를 이동하여 병렬 쿼리를 허용하고 정확한 결과를 반환합니다.
Synapse SQL은 사용자 데이터 보안을 위해 Azure Storage를 사용합니다. Azure Storage는 데이터를 저장하고 관리합니다. 스토리지 사용료는 별도입니다.
Azure Synapse Dedicated SQL 풀의 기능
다음은 Azure Synapse SQL Pool의 주요 기능입니다.
- 데이터 레이크에서 Parquet, JSON, CSV 등 다양한 형식의 데이터를 조회할 수 있습니다.
- 사용자는 관계형 추상화를 사용하여 가장 최근 데이터를 볼 수 있습니다.
- T-SQL을 사용하면 간단하고 확장 가능한 방식으로 레이크의 데이터를 변환할 수 있습니다.
- 데이터 과학자는 OPENROWSET 또는 자동 스키마 추론 기능을 사용하여 호수 데이터의 구조와 내용을 빠르게 조사할 수 있습니다.
- 데이터 엔지니어는 풀을 사용하여 호수를 탐색하고 데이터 변환 파이프라인을 변환, 생성 또는 단순화할 수 있습니다.
- 데이터 분석가는 T-SQL 언어 및 기타 친숙한 도구를 통해 데이터에 액세스하고 외부 테이블을 촉발할 수 있습니다. 이러한 도구는 서버리스 SQL 풀에도 연결할 수 있습니다.
- Spark 테이블 또는 데이터 레이크를 통해 비즈니스 인텔리전스 전문가가 BI 보고서를 즉시 생성합니다.
전용 SQL 풀과 비교 서버리스 SQL 풀
서버리스 SQL 풀
Azure Synapse 작업 영역에는 데이터 레이크에 대한 쿼리 서비스 역할을 하는 서버리스 SQL 풀이 있습니다. 데이터에 액세스하기 위해 추가 구성이 필요하지 않습니다. 완전히 서버리스이며 설정하거나 유지 관리할 인프라가 필요하지 않습니다.
리소스 요구 사항을 충족하도록 자동으로 확장할 수 있습니다. 사용자는 처리된 데이터에 대해서만 비용을 지불하고 예약된 리소스에 대해서는 비용을 지불하지 않습니다. 서버리스 SQL 풀은 쿼리 실행을 최적화하기 위한 통계도 생성합니다.
예를 들어 쿼리를 두 번 실행하거나 비슷한 실행 계획으로 두 개의 쿼리를 실행할 때 이러한 통계를 다시 사용할 수 있습니다.
이러한 기능을 사용하면 특정 저장소에 복사하거나 로드하지 않고도 대량의 데이터를 빠르게 분석할 수 있습니다.
전용 SQL 풀
Synapse 전용 SQL 풀은 Azure SQL Data Warehouse의 후속 제품이며 모든 엔터프라이즈 데이터 웨어하우징 기능을 제공합니다. 그러나 서버리스 SQL 풀은 없습니다. 대신 사용자는 Synapse 전용 SQL 풀을 생성하고 삭제해야 합니다. 또한 사용할 리소스를 선택할 수도 있습니다.
이러한 리소스는 Synapse의 전용 SQL 풀을 사용하여 측정됩니다. 이를 데이터 웨어하우징 유닛(DWU)이라고 합니다. DWU는 CPU, 메모리 및 IO 리소스의 조합을 나타냅니다.
DWU의 수는 풀의 성능과 비용을 결정합니다. 쿼리당 요금이 부과되는 대신 풀이 수행한 작업의 양에 관계없이 풀이 활성화된 시간에 대해 요금이 부과됩니다.
추가 비용을 피하기 위해 전용 풀을 중지했다가 다시 시작할 수 있습니다. 테스트를 위해 100개의 DWU 전용 SQL 풀을 만들었습니다.
풀이 생성된 후 COPY 명령, T–SQL 쿼리가 있는 PolyBase 또는 파이프라인을 사용하여 데이터를 풀에 로드할 수 있습니다. 이러한 데이터는 관계형 테이블의 열 저장소에 저장됩니다.
전용 SQL 풀서버리스 SQL 풀이를 통해 데이터 레이크를 쿼리하고 수집할 수 있습니다. 사용자가 데이터 레이크 파일을 쿼리할 수 있습니다. 인프라가 필요합니다. 인프라를 구축하거나 클러스터를 유지 관리할 필요가 없습니다. 작업을 수행하기 전에 다음을 얻어야 합니다. 전용 서버입니다. 데이터 변환 또는 탐색에 인프라가 필요하지 않습니다. 관계형 테이블은 데이터를 저장하는 데 사용됩니다. Data Lake는 데이터를 저장합니다. SQL 풀을 일시 중지하고 웨어하우스를 축소하여 비용을 관리할 수 있습니다. 비용은 요청당 지불 기준. 예약된 리소스에는 비용이 부과됩니다. 쿼리당 데이터 처리 비용이 청구됩니다. 프로비저닝된 DWU당 지불. 처리된 TB당 지불.
결론
즉, Azure SQL Data Warehouse(현재 Azure Synapse Dedicated SQL Pool이라고 함)에 관한 것이었습니다. Dedicated SQL Pool은 여러 각도에서 기존 SQL Server와 유사하게 보일 수 있지만 기본 아키텍처(대규모 병렬 처리)는 완전히 다릅니다. 즉, 특정 개념과 기술은 Dedicated SQL Pool에만 적용됩니다.
Data Lake와 Data Warehouse의 차이점을 살펴볼 수도 있습니다.