Azure Synapse Analytics SQL 풀의 PolyBase 정보

Azure Synapse Analytics SQL 풀의 PolyBase에 대해 조사했으므로 메모 정도로

PolyBase를 사용한 데이터 로드



Azure Synapse Analytics SQL 풀은 다양한 데이터 로드 방법을 SQL Server와 마찬가지로 지원합니다. 그 중에서도 PolyBase는 데이터베이스에 매우 빠르게 데이터를 로드할 수 있는 로드 방법입니다. Azure Synapse Analytics SQL 풀이 대량의 데이터를 처리하는 특성 때문에 대량의 데이터를 빠르게 로드하는 방법은 중요합니다.

PolyBase를 사용한 로드 방법은 다음과 같습니다.
  • 데이터를 Azure Blob Storage, Hadoop 또는 Azure Data Lake Storage Gen2 중 하나에 데이터 저장
  • Synapse SQL 풀에서 Azure Blob Storage의 데이터 저장 위치와 데이터 형식을 정의하고 외부 테이블을 만듭니다.
  • Synapse SQL 풀의 테이블에 외부 테이블에서 Insert SELECT를 수행합니다.

    PolyBase가 빠른 이유



    3계층 아키텍처에서 처리 수행



    PolyBase가 빠르게 로드할 수 있는 이유가 있습니다. Synapse SQL 풀은 하나의 제어 노드, 다중 컴퓨팅 노드 및 60개의 배포판으로 구성됩니다. Synapse SQL 풀에서 SELECT 분 등의 SQL을 실행하는 경우, 복수가 있는 컴퓨트 노드에 처리를 분할해 실행해, 마지막 컨트롤 노드로 집계를 실시합니다.


    이 아키텍처에 대해서는 다음 기사에 간단히 정리하고 있습니다.
    Azure Synapse Analytics SQL 풀(이전: SQL Data Warehouse)이란?

    로드 시 병목 현상이 발생할 수 있는 제어 노드



    한편, Synapse SQL 풀에 데이터를 투입하는 것을 생각하면, 컨트롤 노드가 1 개 밖에 없기 때문에, 여기가 병목에 빠지기 쉽습니다.



    PolyBase는 컴퓨팅 노드가 직접 데이터를로드합니다.



    PolyBase를 사용한 로드의 경우는 컨트롤 노드를 이용하지 않고, 직접 컴퓨트 노드를 사용해 병렬 로드를 실시하는 사양이 되어 있는 것 같습니다. 이렇게 하면 빠르게 로드할 수 있습니다.



    따라서 PolyBase를 사용한 로드의 경우 컴퓨트 노드의 수나 스펙에 따라 로드 성능이 다릅니다.

    끝에



    구체적인 PolyBase 절차와 성능은 또한 어딘가에서 검증하고 설명하고 싶습니다.
  • 좋은 웹페이지 즐겨찾기