방법: 레이크 데이터베이스 수정

이 문서에서는 데이터베이스 디자이너를 사용하여 Azure Synapse Analytics에서 기존 레이크 데이터베이스를 수정하는 방법을 알아봅니다. 데이터베이스 디자이너를 사용하면 코드를 작성하지 않고도 데이터베이스를 쉽게 만들고 배포할 수 있습니다.

필수 조건

  • 레이크 데이터베이스를 만들려면 Synapse 작업 영역에서 Synapse 관리자 또는 Synapse 기여자 권한이 필요합니다.
  • 데이터 레이크에서 테이블 만들기 옵션을 사용할 때 데이터 레이크에 대한 Storage Blob 데이터 기여자 권한이 필요합니다.

데이터베이스 속성 수정

  1. Azure Synapse Analytics 작업 영역 허브에서 왼쪽에 있는 데이터 탭을 선택합니다. 데이터 탭이 열리고 작업 영역에 이미 있는 데이터베이스 목록이 표시됩니다.

  2. 데이터베이스 섹션을 마우스로 가리키고 수정할 데이터베이스 옆의 줄임표 ...를 선택한 다음, 열기를 선택합니다.

    Screenshot showing how to open an existing database

  3. 선택한 데이터베이스가 캔버스에 로드된 데이터베이스 디자이너 탭이 열립니다.

  4. 데이터베이스 디자이너에는 탭 오른쪽 위의 속성 아이콘을 선택하여 열 수 있는 속성 창이 있습니다. Screenshot showing the location of the properties icon

    • 이름데이터베이스가 게시된 후에는 이름을 편집할 수 없으므로 선택한 이름이 올바른지 확인합니다.
    • 설명 데이터베이스에 설명을 제공하는 것은 선택 사항이지만 설명을 통해 사용자가 데이터베이스의 목적을 이해할 수 있습니다.
    • 데이터베이스의 스토리지 설정은 데이터베이스의 테이블에 대한 기본 스토리지 정보가 포함된 섹션입니다. 기본 설정은 테이블 자체에서 재정의되지 않는 한 데이터베이스의 각 테이블에 적용됩니다.
    • 연결된 서비스는 Azure Data Lake Storage에 데이터를 저장하는 데 사용되는 기본 연결된 서비스입니다. Synapse 작업 영역과 연결된 기본 연결된 서비스가 표시되지만 연결된 서비스를 원하는 ADLS 스토리지 계정으로 변경할 수 있습니다.
    • 입력 폴더는 파일 브라우저를 사용하거나 연필 아이콘으로 경로를 수동으로 편집하여 연결된 서비스 내에서 기본 컨테이너 및 폴더 경로를 설정하는 데 사용됩니다.
    • 데이터 서식 Azure Synapse의 레이크 데이터베이스는 데이터 저장 형식으로 parquet 및 구분된 텍스트를 지원합니다.
  5. 데이터베이스에 테이블을 추가하려면 + 테이블 단추를 선택합니다.

    • 사용자 지정은 캔버스에 새 테이블을 추가합니다.
    • 템플릿에서는 갤러리를 열고 새 테이블을 추가할 때 사용할 데이터베이스 템플릿을 선택할 수 있습니다. 자세한 내용은 데이터베이스 템플릿에서 레이크 데이터베이스 만들기를 참조하세요.
    • 데이터 레이크에서를 사용하면 이미 레이크에 있는 데이터를 사용하여 테이블 스키마를 가져올 수 있습니다.
  6. 사용자 지정을 선택합니다. Table_1이라는 캔버스에 새 테이블이 표시됩니다.

  7. 그런 다음 테이블 이름, 설명, 스토리지 설정, 열 및 관계를 포함하여 Table_1을 사용자 지정할 수 있습니다. 아래의 데이터베이스 섹션 내의 테이블 사용자 지정을 참조하세요.

  8. + 테이블을 선택한 다음 데이터 레이크에서를 선택하여 데이터 레이크에서 새 테이블을 추가합니다.

  9. 데이터 레이크에서 외부 테이블 만들기 창이 나타납니다. 창을 아래 세부 정보로 채우고 계속을 선택합니다.

    • 외부 테이블 이름 만들려는 테이블에 부여할 이름입니다.
    • 연결된 서비스 데이터 파일이 있는 Azure Data Lake Storage 위치를 포함하는 연결된 서비스입니다.
    • 입력 파일 또는 폴더 파일 브라우저를 사용하여 테이블을 만들 레이크에서 파일을 탐색하고 선택합니다. Screenshot showing the options on the create external table from data lake pane
    • 다음 화면에서 Azure Synapse는 파일을 미리 보고 스키마를 검색합니다.
    • 데이터 서식과 관련된 설정을 업데이트할 수 있는 새 외부 테이블 페이지로 이동하고 데이터 미리 보기를 통해 Azure Synapse가 파일을 올바르게 식별했는지 확인할 수 있습니다.
    • 설정이 마음에 들면 만들기를 선택합니다.
    • 선택한 이름의 새 테이블이 캔버스에 추가되고 테이블에 대한 저장 설정 섹션에 지정한 파일이 표시됩니다.
  10. 데이터베이스가 사용자 지정되었으므로 이제 게시할 차례입니다. Synapse 작업 영역과 Git 통합을 사용하는 경우 변경 내용을 커밋하고 협업 분기에 병합해야 합니다. Azure Synapse의 원본 제어에 대해 자세히 알아보기. Synapse 라이브 모드를 사용하는 경우 "게시"를 선택할 수 있습니다.

    • 데이터베이스는 게시되기 전에 오류가 있는지 유효성이 검사됩니다. 발견된 모든 오류는 오류 해결 방법에 대한 지침과 함께 알림 탭에 표시됩니다.

      Screenshot of the validation pane showing validation errors in the database

    • 게시하면 Azure Synapse Metastore에 데이터베이스 스키마가 만들어집니다. 게시 후 데이터베이스 및 테이블 개체는 다른 Azure 서비스에 표시되고, 데이터베이스의 메타데이터가 Power BI 또는 Microsoft Purview와 같은 앱으로 흐르도록 허용합니다.

데이터베이스 내 테이블 사용자 지정

데이터베이스 디자이너를 사용하면 데이터베이스의 테이블을 완전히 사용자 지정할 수 있습니다. 테이블을 선택하면 테이블의 스키마 또는 메타데이터와 관련된 설정이 각각 포함된 세 개의 탭을 사용할 수 있습니다.

일반

일반 탭에는 테이블 자체와 관련한 정보가 포함되어 있습니다.

  • 이름 테이블의 이름입니다. 테이블 이름은 데이터베이스 내에서 고유한 값으로 사용자 지정할 수 있습니다. 이름이 같은 여러 테이블은 허용되지 않습니다.

  • 다음에서 상속됨(선택 사항) 테이블이 데이터베이스 템플릿에서 만들어진 경우 이 값이 표시됩니다. 이 값은 편집할 수 없으며 파생된 템플릿 테이블을 사용자에게 알려 줍니다.

  • 설명 테이블에 대한 설명입니다. 데이터베이스 템플릿에서 테이블을 만든 경우 이 테이블이 표시하는 개념에 대한 설명이 포함됩니다. 이 필드는 편집할 수 있으며 비즈니스 요구 사항과 일치하는 설명과 일치하도록 변경할 수 있습니다.

  • 표시 폴더 데이터베이스 템플릿의 일부로 이 테이블이 그룹화된 비즈니스 영역 폴더의 이름을 제공합니다. 사용자 지정 테이블의 경우 이 값은 "기타"입니다.

    Screenshot of the General tab

  • 또한 테이블에 사용되는 기본 스토리지 정보에 대한 설정을 제공하는 테이블의 스토리지 설정이라는 축소 가능한 섹션이 있습니다.

  • 데이터베이스에서 상속 기본값 아래 스토리지 설정이 데이터베이스 속성 탭에 설정된 값에서 상속되는지 아니면 개별적으로 설정되는지를 결정하는 확인란입니다. 스토리지 값을 사용자 지정하려면 이 확인란의 선택을 취소합니다.

    • 연결된 서비스는 Azure Data Lake Storage에 데이터를 저장하는 데 사용되는 기본 연결된 서비스입니다. 다른 ADLS 계정을 선택하도록 변경합니다.
    • 입력 폴더 이 테이블에 로드된 데이터가 있는 ADLS의 폴더입니다. 폴더 위치를 찾아보거나 연필 아이콘을 사용하여 수동으로 편집할 수 있습니다.
    • 데이터 서식 입력 폴더에 있는 데이터의 데이터 형식 Azure Synapse의 레이크 데이터베이스는 데이터 저장 형식으로 parquet 및 구분된 텍스트를 지원합니다. 데이터 형식이 폴더의 데이터와 일치하지 않으면 테이블에 대한 쿼리가 실패합니다.
  • 구분 기호로 분리된 텍스트의 데이터 형식에는 추가 설정이 있습니다.

    • 행 머리글 데이터에 행 머리글이 있는 경우 이 확인란을 선택합니다.
    • 데이터에서 여러 줄 사용 데이터의 문자열 열에 여러 줄이 있는 경우 이 확인란을 선택합니다.
    • 따옴표 문자 구분된 텍스트 파일에 대한 사용자 지정 따옴표 문자를 지정합니다.
    • 이스케이프 문자 구분된 텍스트 파일에 대한 사용자 지정 이스케이프 문자를 지정합니다.
    • 데이터 압축 데이터에 사용되는 압축 형식입니다.
    • 구분 기호 데이터 파일에 사용되는 필드 구분 기호입니다. 지원되는 값은 쉼표(,), 탭(\t), 파이프(|)입니다.
    • 파티션 열 파티션 열 목록이 여기에 표시됩니다.
    • 추가 가능 SQL 서버리스에서 Dataverse 데이터를 쿼리하는 경우 이 확인란을 선택합니다.
  • Parquet 데이터의 경우 다음과 같은 설정이 있습니다.

    • 데이터 압축 데이터에 사용되는 압축 형식입니다.

탭에서 테이블의 열이 나열되고 열을 수정할 수 있습니다. 이 탭에는 표준 열파티션 열이라는 두 가지 열 목록이 있습니다. 표준 열은 데이터를 저장하고, 기본 키이며, 그렇지 않을 경우 데이터 분할에 사용되지 않는 열입니다. 파티션 열은 데이터도 저장하지만 열에 포함된 값에 따라 기본 데이터를 폴더로 분할하는 데 사용됩니다. 각 열에는 다음과 같은 속성이 있습니다. Screenshot of the Columns tab

  • 이름 열 이름입니다. 테이블 내에서 고유해야 합니다.
  • 열이 테이블의 기본 키(PK) 및/또는 외래 키(FK)인지 여부를 나타냅니다. 파티션 열에는 해당되지 않습니다.
  • 설명 열에 대한 설명입니다. 데이터베이스 템플릿에서 열을 만든 경우 이 열이 나타내는 개념에 대한 설명이 표시됩니다. 이 필드는 편집할 수 있으며 비즈니스 요구 사항과 일치하는 설명과 일치하도록 변경할 수 있습니다.
  • Null 허용 여부는 이 열에 null 값이 있을 수 있는지 여부를 나타냅니다. 파티션 열에는 해당되지 않습니다.
  • 데이터 형식은 사용 가능한 Spark 데이터 형식 목록을 기반으로 열의 데이터 형식을 설정합니다.
  • 형식/길이를 사용하면 데이터 형식에 따라 열의 형식 또는 최대 길이를 사용자 지정할 수 있습니다. 날짜 및 타임스탬프 데이터 형식에는 형식 드롭다운이 있고, 문자열과 같은 다른 형식에는 최대 길이 필드가 있습니다. 일부 형식은 고정 길이이기 때문에 모든 데이터 형식에 값이 있는 것은 아닙니다. 탭의 맨 위에는 열과 상호 작용하는 데 사용할 수 있는 명령 모음이 있습니다.
  • 키워드로 필터링은 열 목록을 지정된 키워드와 일치하는 항목으로 필터링합니다.
  • + 열을 사용하면 새 열을 추가할 수 있습니다. 세 가지 가능한 옵션이 있습니다.
    • 새 열은 새 사용자 지정 표준 열을 만듭니다.
    • 템플릿에서는 탐색 창을 열고, 테이블에 포함할 데이터베이스 템플릿의 열을 식별할 수 있습니다. 데이터베이스를 데이터베이스 템플릿을 사용하여 만들지 않은 경우에는 이 옵션이 표시되지 않습니다.
    • 파티션 열은 새 사용자 지정 파티션 열을 추가합니다.
  • 복제는 선택한 열을 복제합니다. 복제된 열은 항상 선택한 열과 형식이 동일합니다.
  • 형식 변환은 선택한 표준 열파티션 열로 변경하거나 그 반대로 변경하는 데 사용됩니다. 형식이 서로 다른 여러 열을 선택했거나 열에 PK 또는 Null 허용 여부 플래그가 설정되어 있어서 선택한 열을 변환할 수 없는 경우 이 옵션이 회색으로 표시됩니다.
  • 삭제는 선택한 열을 테이블에서 영구적으로 삭제합니다. 이 작업은 되돌릴 수 없습니다.

또한 위 이미지와 같이 열 위에 마우스를 올리거나 클릭할 때 열 이름 왼쪽에 표시되는 이중 수직 타원을 사용하여 끌어서 놓아 열의 순서를 다시 정렬할 수 있습니다.

파티션 열

파티션 열은 해당 열의 값에 따라 데이터베이스의 실제 데이터를 분할하는 데 사용됩니다. 파티션 열을 사용하면 디스크의 데이터를 보다 성능이 뛰어난 청크로 쉽게 분산할 수 있습니다. Azure Synapse의 파티션 열은 항상 테이블 스키마의 끝에 있습니다. 또한 파티션 폴더를 만들 때 위에서 아래 순서로 사용됩니다. 예를 들어 파티션 열이 Year 및 Month이면 ADLS에서 다음과 같은 구조가 됩니다.

Screenshot showing hierarchy of folders from partitioning: 2020 -> Jan, Feb -> files

여기서 file1 및 file2에는 Year 및 Month 값이 각각 2020년 및 1월인 모든 행이 포함됩니다. 테이블에 더 많은 파티션 열이 추가되면 이 계층 구조에 더 많은 파일이 추가되어 파티션의 전체 파일 크기가 더 작아집니다.

Azure Synapse는 테이블에 파티션 열을 추가하여 이 계층 구조를 적용하거나 만들지 않습니다. 파티션 구조를 만들려면 Synapse Pipelines 또는 Spark Notebook을 사용하여 데이터를 테이블에 로드해야 합니다.

관계

관계 탭을 사용하면 데이터베이스의 테이블 간 관계를 지정할 수 있습니다. 데이터베이스 디자이너의 관계는 정보를 제공하며, 기본 데이터에 제약 조건을 적용하지 않습니다. 관계는 다른 Microsoft 애플리케이션에서 읽어 오며, 변환을 가속화하거나 비즈니스 사용자에게 테이블 연결 방법에 대한 인사이트를 제공하는 데 사용할 수 있습니다. 관계 창에는 다음과 같은 정보가 있습니다. Screenshot of the Relationships tab

  • (테이블)에서의 관계는 하나 이상의 테이블에 연결된 외래 키가 있는 경우입니다. 이를 부모 관계라고도 합니다.
  • (테이블)로의 관계는 외래 키가 있는 테이블이 다른 테이블에 연결된 경우입니다. 이를 자식 관계라고도 합니다.
  • 두 관계 형식에는 다음과 같은 속성이 있습니다.
    • 테이블에서 관계의 부모 테이블 또는 "일" 쪽입니다.
    • 열에서 관계가 기반하는 부모 테이블의 열입니다.
    • 테이블로 관계의 자식 테이블 또는 "다" 쪽입니다.
    • 열로 관계가 기반하는 자식 테이블의 열입니다. 관계 탭의 맨 위에는 관계와 상호 작용하는 데 사용할 수 있는 명령 모음이 있습니다.
  • 키워드로 필터링은 열 목록을 지정된 키워드와 일치하는 항목으로 필터링합니다.
  • + 관계를 사용하면 새 관계를 추가할 수 있습니다. 두 가지 옵션 중에서 선택할 수 있습니다.
    • 테이블에서는 작업 중인 테이블에서 다른 테이블로 새 관계를 만듭니다.
    • 테이블로는 다른 테이블에서 작업 중인 테이블로 새 관계를 만듭니다.
    • 템플릿에서는 탐색 창을 열고, 데이터베이스에 포함할 관계를 데이터베이스 템플릿에서 선택할 수 있습니다. 데이터베이스를 데이터베이스 템플릿을 사용하여 만들지 않은 경우 이 옵션이 표시되지 않습니다.

다음 단계

아래 링크를 사용하여 데이터베이스 디자이너 기능을 계속 탐색합니다.