Azure Data Lake Storage Gen2 기능을 통해 Azure Blob Storage 업그레이드

이 문서는 계층 구조 네임스페이스를 활성화하고 파일 및 디렉터리 수준 보안 및 더 빠른 작업과 같은 기능을 잠금 해제하는 데 도움이 됩니다. 이러한 기능은 빅 데이터 분석 워크로드에서 널리 사용되며, 총괄하여 Azure Data Lake Storage Gen2라고 합니다. 가장 인기 있는 기능은 다음과 같습니다.

  • 더 높은 처리량, IOPS(초당 입력/출력 작업 수) 및 스토리지 용량 제한

  • 더 빠른 작업(예: 이름 바꾸기 작업, 개별 노드 URI에서 작업할 수 있기 때문)

  • 지정된 작업을 수행하는 데 필요한 데이터만 전송하는 효율적인 쿼리 엔진

  • 컨테이너, 디렉터리 및 파일 수준의 보안.

자세한 내용은 Azure Data Lake Storage Gen2 소개를 참조하세요.

이 문서는 워크로드, 애플리케이션, 비용, 서비스 통합, 도구, 기능 및 설명서에 미치는 영향을 평가하는 데 도움이 됩니다. 이러한 영향을 신중하게 검토해야 합니다. 계정을 업그레이드할 준비가 되면 Azure Data Lake Storage Gen2 기능을 통해 Azure Blob Storage 업그레이드 단계별 가이드를 참조하세요.

Important

업그레이드는 단방향입니다. 업그레이드가 수행되면 계정을 되돌릴 수 없습니다. 비 프로덕션 환경에서 업그레이드의 유효성을 검사하는 것이 좋습니다.

가용성에 미치는 영향

업그레이드 프로세스가 완료되는 동안 약간의 계정 가동 중지 시간을 계획해야 합니다. 계정이 업그레이드되는 동안 쓰기 작업이 사용하지 않도록 설정됩니다. 읽기 작업은 사용하지 않도록 설정되지 않지만, 읽기 작업으로 인해 업그레이드 프로세스가 불안정해질 수 있으므로 이러한 작업을 일시 중단하는 것이 좋습니다.

워크로드 및 애플리케이션에 미치는 영향

Blob API는 계층 구조 네임스페이스가 있는 계정에서 작동하므로 이러한 API를 사용하여 계정과 상호 작용하는 대부분의 애플리케이션은 수정 없이 계속 작동합니다.

문제 및 해결 방법의 전체 목록은 알려진 Blob Storage API 관련 문제를 참조하세요.

WASB(Windows Azure Storage Blob) 드라이버를 사용하는 Hadoop 워크로드는 ABFS(Azure Blob File System) 드라이버를 사용하도록 수정해야 합니다. Blob service 엔드포인트에 요청하는 WASB 드라이버와 달리 ABFS 드라이버는 계정의 Data Lake Storage 엔드포인트에 요청합니다.

Data Lake Storage 엔드포인트

업그레이드된 계정에는 Data Lake 스토리지 엔드포인트가 있습니다. 이 엔드포인트의 URL은 Azure Portal에서 계정의 속성 페이지를 열어 확인할 수 있습니다.

General purpose v2 category

해당 엔드포인트를 사용하기 위해 기존 애플리케이션 및 워크로드를 수정할 필요가 없습니다. Data Lake Storage의 다중 프로토콜 액세스를 사용하면 Blob service 엔드포인트 또는 Data Lake 스토리지 엔드포인트를 사용하여 데이터와 상호 작용할 수 있습니다.

Azure 서비스 및 도구(예: AzCopy)는 Data Lake 스토리지 엔드포인트를 사용하여 스토리지 계정의 데이터와 상호 작용할 수 있습니다. 또한 이 새 엔드포인트는 Data Lake Storage Gen2 SDK, PowerShell 명령 또는 Azure CLI 명령을 사용하여 수행하는 모든 작업에 사용해야 합니다.

Directories

계층 구조 네임스페이스가 없는 Blob Storage 계정은 파일을 계층 구조 패러다임이 아닌 단일 패러다임으로 구성합니다. Blob은 폴더 구조를 모방하기 위해 가상 디렉터리로 구성됩니다. 가상 디렉터리는 Blob 이름의 일부를 형성하며 구분 기호 문자로 표시됩니다. 가상 디렉터리는 Blob 이름의 일부이므로 실제로 독립 개체로 존재하지 않습니다.

새 계정에는 계층 구조 네임스페이스가 있습니다. 즉, 가상 디렉터리가 아닙니다. 직접 조작할 수 있는 구체적이고 독립적인 개체입니다. 디렉터리는 파일을 포함하지 않고 존재할 수 있습니다. 디렉터리를 삭제하면 해당 디렉터리의 모든 파일이 제거됩니다. 디렉터리가 있는 경우에만 각 개별 Blob을 삭제할 수 있습니다.

Blob 메타데이터

마이그레이션하기 전에 Blob 메타데이터는 전체 가상 경로와 함께 Blob 이름과 연결됩니다. 마이그레이션한 후에는 메타데이터가 Blob과만 연결됩니다. Blob에 대한 가상 경로는 디렉터리의 컬렉션이 됩니다. Blob의 메타데이터는 해당 디렉터리에 적용되지 않습니다.

Put(넣기) 작업

Blob을 업로드하고 지정한 경로에 존재하지 않는 디렉터리가 포함된 경우 작업에서 해당 디렉터리를 만든 다음, 여기에 Blob을 추가합니다. 이 동작은 계층적 폴더 구조의 컨텍스트에서 논리적입니다. 계층 구조 네임스페이스가 없는 Blob Storage 계정에서 작업은 디렉터리를 만들지 않습니다. 대신 디렉터리 이름이 Blob의 이름에 추가됩니다.

List(나열) 작업

Blob 나열 작업은 디렉터리와 파일을 모두 반환합니다. 각각 별도로 나열됩니다. 디렉터리는 0 길이의 Blob으로 목록에 표시됩니다. 계층 구조 네임스페이스가 없는 Blob Storage 계정에서 Blob 나열 작업은 Blob만 반환하고 디렉터리는 반환하지 않습니다. Data Lake Storage Gen2 경로 - 나열 작업을 사용하는 경우 디렉터리는 0 길이의 Blob이 아닌 디렉터리 항목으로 표시됩니다.

목록 순서도 다릅니다. 디렉터리와 파일은 깊이 우선 검색 순서로 표시됩니다. 계층 구조 네임스페이스가 없는 Blob Storage 계정은 Blob을 사전식 순서로 나열합니다.

Blob 이름을 바꾸는 작업

클라이언트 애플리케이션에서 단일 작업으로 Blob 이름을 바꿀 수 있으므로 Blob 이름을 바꾸는 것이 훨씬 더 효율적입니다. 계층 구조 네임스페이스가 없는 계정에서 도구와 애플리케이션은 Blob을 복사한 다음, 원본 Blob을 삭제해야 합니다.

참고 항목

Blob 이름을 바꾸면 Blob을 마지막으로 수정한 시간이 업데이트되지 않습니다. 이는 Blob의 내용이 변경되지 않았기 때문입니다.

비용에 미치는 영향

업그레이드를 수행하는 데에는 비용이 들지 않습니다. 업그레이드 후 데이터를 저장하는 비용은 변경되지 않지만 트랜잭션 비용은 변경됩니다. 다음 페이지를 사용하여 비용 비교를 평가합니다.

또한 Azure 가격 계산기에서 스토리지 계정 옵션을 사용하여 업그레이드 후 비용의 영향을 예측할 수 있습니다.

가격 책정 변경 외에도 Data Lake Storage Gen2 기능과 관련된 비용 절감을 고려합니다. 일반적으로 더 높은 처리량과 최적화된 작업으로 인해 총 소유 비용이 감소합니다. 처리량이 높을수록 더 많은 데이터를 더 짧은 시간에 전송할 수 있습니다. 계층 구조 네임스페이스는 작업 효율성을 향상시킵니다.

서비스 통합에 미치는 영향

대부분의 Azure 서비스 통합은 이러한 기능을 사용하도록 설정한 후에도 계속 작동하지만, 일부는 미리 보기로 남아 있거나 아직 지원되지 않습니다. Data Lake Storage Gen2와의 Azure 서비스 통합에 대한 현재 지원을 이해하려면 Azure Data Lake Storage Gen2를 지원하는 Azure 서비스를 참조하세요.

도구, 기능 및 설명서에 미치는 영향

업그레이드한 후에는 일부 기능과 상호 작용하는 방식이 변경됩니다. 이 섹션에서는 이러한 변경 내용에 대해 설명합니다.

Blob Storage 기능 지원

대부분의 Blob Storage 기능은 이러한 기능을 사용하도록 설정한 후에도 계속 작동하지만, 일부 기능은 미리 보기로 남아 있거나 아직 지원되지 않습니다.

Data Lake Storage Gen2의 Blob Storage 기능에 대한 현재 지원을 이해하려면 Azure Data Lake Storage Gen2에서 사용 가능한 Blob Storage 기능을 참조하세요.

진단 로그

스토리지 분석 로깅이 사용하도록 설정되면 이제 버전 2.0 로그 형식을 사용할 수 있는 옵션이 있습니다.

이 새 버전을 사용할 필요가 없습니다. 그러나 Data Lake 스토리지 엔드포인트에 적용되는 모든 작업은 버전 2.0 로그에만 기록됩니다. 사용하는 일부 서비스 및 도구(예: AzCopy)는 해당 엔드포인트를 사용하여 계정에서 작업을 수행할 수 있습니다. 모든 작업에서 로깅 정보를 캡처하려면 버전 2.0 로그 형식을 사용하는 것이 좋습니다.

Azure 수명 주기 관리

디렉터리의 모든 Blob을 이동하거나 삭제하는 정책은 디렉터리 내의 모든 Blob이 제거될 때까지 디렉터리 자체를 삭제하지 않으며 디렉터리는 다음 날 제거된다는 것을 효과적으로 설명합니다.

Event Grid

새 계정에는 Data Lake 스토리지 엔드포인트와 Blob service 엔드포인트라는 두 개의 엔드포인트가 있습니다. 서비스, ​​도구 및 애플리케이션은 두 엔드포인트 중 하나를 사용하여 데이터에 대한 작업을 수행할 수 있습니다. 결과적으로 Event Grid에서 반환하는 이벤트 응답은 영향을 받는 Blob을 설명하는 url 필드에 이러한 두 엔드포인트 중 하나를 표시할 수 있습니다.

다음 JSON에서는 Blob service 엔드포인트를 사용하여 Blob을 만들 때 이벤트 응답에 표시되는 Blob의 URL을 보여 줍니다.

{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/test-container/blobs/new-file.txt",
  "eventType": "Microsoft.Storage.BlobCreated",
  "eventTime": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "PutBlockList",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "eTag": "\"0x8D4BCC2E4835CD0\"",
    "contentType": "text/plain",
    "contentLength": 524288,
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.blob.core.windows.net/testcontainer/new-file.txt",
    "sequencer": "00000000000004420000000000028963",
    "storageDiagnostics": {
      "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "dataVersion": "",
  "metadataVersion": "1"
}

다음 JSON에서는 Data Lake 스토리지 엔드포인트를 사용하여 Blob을 만들 때 이벤트 응답에 표시되는 Blob의 URL을 보여 줍니다.

{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/new-file.txt",
  "eventType": "Microsoft.Storage.BlobCreated",
  "eventTime": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "CreateFile",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "eTag": "\"0x8D4BCC2E4835CD0\"",
    "contentType": "text/plain",
    "contentLength": 0,
    "contentOffset": 0,
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.dfs.core.windows.net/my-file-system/new-file.txt",
    "sequencer": "00000000000004420000000000028963",
    "storageDiagnostics": {
      "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "dataVersion": "2",
  "metadataVersion": "1"
}

애플리케이션에서 Event Grid를 사용하는 경우 이를 고려하도록 해당 애플리케이션을 수정해야 할 수도 있습니다.

Storage Explorer

다음 단추는 아직 Azure Storage Explorer의 리본에 표시되지 않습니다.

단추 원인
URL 복사 아직 구현되지 않음
스냅샷 관리 아직 구현되지 않음
삭제 취소 Data Lake Storage Gen2에서 아직 지원되지 않는 Blob Storage 기능에 따라 달라짐

다음 단추는 새 계정에서 다르게 작동합니다.

단추 Blob Storage 동작 Data Lake Storage Gen2 동작
폴더 폴더는 가상이며, 파일을 추가하지 않으면 사라집니다. 추가된 파일이 없는 경우에도 폴더가 존재합니다.
이름 바꾸기 원본 Blob을 복사한 다음, 해당 원본 Blob을 삭제합니다. 동일한 Blob의 이름을 바꿉니다. 훨씬 더 효율적입니다.

설명서

Data Lake Storage Gen2 기능을 사용하는 방법에 대한 지침은 Azure Data Lake Storage Gen2 소개에서 확인할 수 있습니다.

모든 기존 Blob Storage 기능에 대한 지침을 확인할 수 있는 위치와 관련하여 변경된 것은 없습니다. 해당 지침은 Azure Blob Storage 소개에 나와 있습니다.

콘텐츠 집합 간에 이동하면 약간의 용어 차이를 알 수 있습니다. 예를 들어 Data Lake Storage Gen2 콘텐츠에 포함된 콘텐츠는 Blob컨테이너 대신 파일파일 시스템이라는 용어를 사용할 수 있습니다. 파일파일 시스템이라는 용어는 Data Lake 스토리지에 오랜 역사가 있는 빅 데이터 분석의 세계에 깊이 뿌리를 두고 있습니다. 콘텐츠에는 이러한 대상과의 관련성을 유지하기 위해 이러한 용어가 포함되어 있습니다. 이러한 용어는 별도의 항목을 설명하지 않습니다.

다음 단계

Data Lake Storage Gen2 기능을 포함하도록 스토리지 계정을 업그레이드할 준비가 되면 다음 단계별 가이드를 참조하세요.