Azure Synapse Analytics SQL 풀(이전: SQL Data Warehouse)이란?

조사한 것 등을 중심으로 기재합니다.

Azure Synapse Analytics SQL 풀(이전: SQL Data Warehouse)이란?



Azure Synapse는 데이터 웨어하우스와 빅 데이터 분석이 정리된 서비스이며 Synapse SQL 풀은 데이터 웨어하우스 기능을 가리킨다. (구명:SQL Data Warehouse)
특징은 다음과 같습니다.

엔진의 기초는 RDBMS에서 입증된 SQL Server



Synapse SQL 풀 엔진의 기초는 SQL Server이며 RDBMS입니다. 그래서, 취급하는 데이터는, Hadoop와 같은 비정형의 데이터가 아니고, 정형 데이터를 관계형 관리에 의해 취급하게 됩니다.
엔진이 SQL Server라고 하는 것은 매우 중요하고, SQL Server의 저장이나 사용자 정의, 파티션, 인덱스 등에 특수성이 적고 호환성이 높기 때문에, SQL Server를 다룬 적이 있는 엔지니어는 Synapse SQL 풀 를 취급하기 위해 새로운 지식과 스킬을 익히는 것은 매우 적고, 스트레스 적게 취급하는 것이 가능합니다.
물론 SSMS(SQL Server Management Studio)에서 연결하여 조작할 수도 있습니다.

병렬 분산 아키텍처



SQL Server와 같은 RDBMS라고 설명했지만, 대량이고 대용량의 데이터를 취급하기 때문에, 다양한 아키텍처나 기능이 구현되고 있어 다른 점도 많습니다. 주요 기능 중 하나는 초병렬 분산 처리(MPP)입니다. Synapse SQL 풀은 데이터와 처리 기능을 여러 노드(컴퓨터)에 분산하여 하나의 데이터베이스로 취급합니다. 이렇게 매우 대량의 데이터라도 분할하여 처리를 하는 것으로, 고속으로 처리를 할 수 있게 된다고 하는 것입니다. 예를 들어 1억건의 데이터가 있었다고 해도, 10분할하면, 1000만건의 데이터가 10개가 되어, 이 10개를 병렬로 처리하는 것으로 고속화를 측정하고 있습니다. 지금의 예는 10분할로 설명했지만, 분할이 많을수록 빨리 처리가 가능해지고, 이론상은 선형적으로 쿼리 성능이 향상됩니다.

3층 구조의 아키텍처



Synapse SQL 풀 앞에서 설명한 것처럼 초 병렬 처리 (MPP) 분산 데이터 시스템입니다. 이 기능은 단일 시스템보다 훨씬 많은 양의 데이터 처리를 가능하게 하지만 이 Synapse SQL 풀은 소위 3계층 구조의 클러스터 구성입니다.

제어 노드(제어 노드)



연결을 수락하고 쿼리를 받는 노드

계산 노드(컴퓨트 노드)



제어 노드로부터 처리를 받고 분산 처리를 행하는 노드

스토리지



처리 대상이 되는 데이터를 분산하여 저장. (60 분할됨)

계산 노드는 그 대수를 늘리는 것이 가능하고, 최대 60대까지 대수를 늘릴 수 있어 처리의 병렬수를 높일 수가 있습니다. 데이터를 저장하는 스토리지입니다만, 이것은 처음부터 60으로 분할된 스토리지가 준비되어 있어 데이터는 60 분할되어 저장되게 됩니다. 계산 노드가 최대 60대까지 대수가 늘릴 수 있는 것은, 60으로 분할된 스토리지 영역에 기인해, 기본적으로는 6의 배수 밖에 계산 노드를 늘릴 수 있습니다.



하나의 제어 노드, 여러 개의 계산 노드, 60개의 스토리지가 각각 분리되어 있으며, 계산 노드와 스토리지에서 각각 별도로 종량 과금이 발생합니다. (제어 노드는 무료입니다.)

또, 각각이 분리되어 있는 것에 의해 이하의 기능을 가능하게 하고 있습니다.
  • 데이터베이스 중지
  • 즉시 스케일 아웃, 스케일 인 가능 __
  • 좋은 웹페이지 즐겨찾기