빠른 버킷

이 페이지에서는 영역을 버킷의 위치로 설정하여 Rapid Storage 클래스에 객체를 저장할 수 있는 기능인 Rapid Bucket에 대해 설명합니다. 이 접근 방식을 사용하면 데이터 스토리지를 컴퓨팅 리소스와 동일한 위치에 배치할 수 있으므로 Cloud Storage의 다른 스토리지 클래스에 비해 지연 시간이 훨씬 짧고 처리량이 더 높습니다. 다른 영역 및 리전의 워크로드도 네트워크 거리에 따른 성능으로 버킷에 액세스할 수 있습니다.

Rapid Bucket을 사용하여 영역 버킷을 만들려면 영역 버킷 만들기를 참조하세요. 영역에서 지원되는 위치 목록을 볼 수 있습니다. 영역 버킷의 객체를 읽고 추가하려면 영역 버킷에서 객체 사용을 참조하세요.

버킷에서 Rapid Bucket을 사용 설정하려면 버킷에 계층적 네임스페이스균일한 버킷 수준 액세스도 사용 설정되어 있어야 합니다.

기능 및 이점

Rapid Bucket은 스토리지 병목 현상을 제거하도록 빌드되었으며 AI/ML 및 데이터 분석과 같은 가장 데이터 집약적인 애플리케이션에 사용하기에 적합합니다. Rapid Bucket은 1밀리초 미만의 지연 시간, 최대 15TB/초의 집계 처리량, 초당 2,000만 건의 초당 쿼리 수 (QPS)를 지원합니다. 매우 짧은 지연 시간으로 데이터를 즉시 검색할 수 있으며 실시간 추론 애플리케이션이 대규모로 실행될 수 있습니다. 높은 처리량과 높은 QPS는 비용이 많이 드는 GPU 클러스터를 완전히 포화 상태로 유지하여 모델 학습 시간을 크게 단축합니다.

영역 버킷은 짧은 지연 시간과 높은 처리량을 제공하는 것 외에도 다음 작업을 수행할 수 있도록 지원합니다.

  • 전체 객체 재작성을 수행하지 않고 영역 버킷의 객체에 추가

  • 작업을 수행할 때 객체를 열고 스트림을 유지하여 후속 읽기 및 쓰기 속도 향상

사용 사례

Rapid Bucket은 AI/ML 워크로드 또는 기타 데이터 집약적인 워크로드에 가장 적합합니다. 이러한 워크로드의 예로는 모델 체크포인트, 평가, 서빙, 로깅, 메시지 큐가 있습니다. 데이터 스트리밍 또는 데이터베이스용 스토리지 제공에도 사용할 수 있습니다.

Rapid Bucket에서 제공하는 짧은 지연 시간과 높은 처리량을 최대한 활용하려면 gRPC 직접 연결을 사용 설정해야 합니다.

Rapid Bucket 용어

Cloud Storage 문서에서는 다음 용어를 사용합니다.

  • Rapid Bucket: 영역 위치 및 Rapid Storage 클래스로 버킷을 만들 수 있는 제품입니다.

  • Rapid Storage: Cloud Storage에서 가장 높은 데이터 액세스 및 I/O 작업 성능을 제공하는 스토리지 클래스입니다. Rapid Bucket을 사용하면 Rapid Storage를 사용하는 버킷이 생성됩니다. Rapid Storage에 대한 자세한 내용은 스토리지 클래스를 참조하세요.

  • 영역 버킷: 영역에 있는 버킷입니다. 영역 버킷의 객체는 항상 Rapid Storage에 저장되며 추가할 수 있습니다.

영역 버킷의 객체에 액세스

영역 버킷의 성능 이점을 얻으려면 스트리밍을 위해 객체를 열고 객체에 대한 작업을 수행할 때 스트림을 유지해야 합니다. 스트림을 설정하고 유지하면 지연 시간이 매우 짧은 객체에 대한 후속 읽기 또는 쓰기 작업을 수행할 수 있습니다. 예를 들어 Parquet 파일을 읽을 때 단일 요청 내에서 파일 메타데이터(바닥글)의 초기 읽기와 특정 행의 후속 읽기를 모두 수행할 수 있습니다. 이 접근 방식은 각 단계에 별도의 요청을 사용하는 것보다 더 효율적입니다.

설정되면 Cloud Storage FUSE 또는 Cloud Storage 클라이언트 라이브러리를 사용하여 영역 버킷 객체에 액세스할 때 객체 스트림이 기본적으로 열린 상태로 유지됩니다.

호스트 수에 관계없이 객체에 여러 읽기 스트림을 열 수 있습니다. 객체에 설정할 수 있는 읽기 스트림 수에는 제한이 없습니다.

객체 추가

영역 버킷의 객체에 데이터를 추가할 수 있습니다. 객체에 추가하면 다음 의미 체계가 적용됩니다.

  • 추가 가능한 객체는 쓰기를 시작하는 즉시 버킷 네임스페이스에 표시되며 쓰기가 진행되는 동안 읽을 수 있습니다.

  • 객체에 추가할 수 있는 추가 횟수 또는 한 번에 추가할 수 있는 바이트 수에는 제한이 없습니다. 객체가 최대 크기인 5TiB에 도달할 때까지 추가할 수 있습니다.

  • 새 추가가 영구적으로 작성되거나 플러시되면 객체의 크기가 실시간으로 증가합니다. 읽기 스트림을 설정할 때는 객체 크기가 업데이트되는 데 최소한의 지연이 발생할 것으로 예상해야 합니다.

  • 추가 가능한 객체는 한 번에 하나의 작성자만 가질 수 있습니다. 기존 쓰기 스트림이 있는 객체에 새 쓰기 스트림이 설정되면 Cloud Storage에서 원래 스트림으로 오류가 반환되고 원래 스트림은 더 이상 쓰기를 허용하지 않습니다. 새 작성자는 객체에 다른 인터리브 추가 없이 마지막으로 지속된 오프셋부터 추가를 재개할 수 있습니다.

객체 마무리

객체가 마무리된 후에는 더 이상 추가할 수 없지만 새 버전으로 객체를 덮어쓸 수는 있습니다. 마무리된 객체의 메타데이터는 여전히 변경 가능합니다. 예를 들어 새 태그를 추가하고 객체의 이름을 바꿀 수 있습니다.

영역 버킷 마운트

Cloud Storage FUSE 또는 Cloud Storage FUSE CSI 드라이버를 사용하여 영역 버킷을 마운트하고 액세스할 수 있습니다. Cloud Storage FUSE 버전 3.7.2 이상을 사용해야 합니다. Cloud Storage FUSE CSI 드라이버를 사용하려면 Google Kubernetes Engine 버전이 1.35.0-gke.3047001 이상이어야 합니다.

지원되는 도구

Cloud Storage의 대부분의 도구를 사용하여 영역 버킷으로 작업할 수 있습니다. 단, 다음과 같은 제한사항이 적용됩니다.

  • 영역 버킷이 아닌 버킷을 위한 표준 클라이언트 라이브러리 API를 사용하여 영역 버킷에 쓸 수 없습니다. 영역 버킷에 쓰려면 영역 버킷에 지원되는 API를 사용하도록 코드를 수정해야 합니다. 사용해야 하는 API를 알아보려면 영역 버킷에서 객체 사용의 클라이언트 라이브러리 코드 샘플을 참조하세요.

  • gRPC를 사용하는 경우 BidiWriteObject API를 사용해서만 영역 버킷에 쓸 수 있습니다. 추가 가능한 객체는 추가 가능한 모드의 BidiWriteObject RPC 호출에서만 지원됩니다. 다른 gRPC 쓰기 메서드 (예: 일회성 또는 재개 가능한 쓰기) 및 기타 RPC 호출(예: WriteObject)은 추가 가능한 객체를 지원하지 않습니다.

  • JSON API를 사용하여 영역 버킷에 쓸 수 없습니다.

  • Rapid Bucket은 GCSFS Python 라이브러리 버전 2026.3.0 이상에서 지원됩니다.

  • Google Cloud CLI 제한사항:

    • 지원되는 최소 Google Cloud CLI 버전: 영역 버킷을 지원하는 gcloud CLI의 최소 버전은 553.0.0입니다. 이전 버전은 영역 버킷과 호환되지 않습니다. 최신 기능과 버그 수정을 받으려면 최신 버전의 gcloud CLI를 사용하는 것이 좋습니다. 영역 버킷의 분할된 객체 다운로드 및 성능 최적화에는 gcloud CLI 버전 583.0.0 이상이 필요합니다. 자세한 내용은 영역 버킷의 gcloud CLI 성능 조정을 참조하세요.

    • 완료되지 않은 업로드의 공개 상태: 업로드가 완료된 후에만 객체가 네임스페이스에 표시되는 다른 스토리지 클래스의 버킷과 달리 영역 버킷의 부분적으로 업로드된 객체는 즉시 표시됩니다. Google Cloud CLI 업로드 명령어가 실패하거나 중단되면 버킷에 완료되지 않은 객체가 표시될 수 있습니다. 명령어를 다시 실행하여 이러한 업로드를 계속할 수 있습니다.

    • 객체 덮어쓰기: 표준 Google Cloud CLI 동작은 영역 버킷에 적용됩니다. 객체를 덮어쓸 때 대상에 동일한 이름의 파일 또는 객체가 있으면 Google Cloud CLI cp, mv, rsync 명령어가 기본적으로 덮어씁니다. 덮어쓰기를 방지하려면 --no-clobber 플래그를 사용하세요. Google Cloud CLI를 사용하는 경우 기존 객체에 데이터를 추가하는 것은 지원되지 않습니다. 전체 소스를 다시 업로드해야 합니다.

    • 객체 마무리: Google Cloud CLI를 사용하여 영역 버킷에 업로드된 객체는 객체의 메타데이터가 완전히 동기화되기 전에 간헐적으로 짧은 지연 시간이 발생할 수 있습니다. Cloud Storage는 최종 일관성 모델을 사용하므로 업로드 직후에 객체를 다운로드하려고 하면 메타데이터가 아직 업데이트되지 않은 경우 해시 불일치 오류가 발생할 수 있습니다.

      업로드 직후에 해시 불일치 오류로 다운로드가 실패하면 명령어를 다시 시도하세요. 다운로드는 완전히 성공하거나 명시적으로 실패합니다. 부분적으로 다운로드되거나 손상된 다운로드는 자동으로 발생하지 않습니다.

  • 체크섬 유효성 검사 성능: 영역 버킷은 데이터 유효성 검사를 위해 CRC32C에만 의존하므로 시스템에서 청크별로 그리고 전체 업로드 또는 다운로드에 대해 체크섬을 수행할 수 있습니다. 기본적으로 Google Cloud CLI는 Google Cloud CLI와 함께 사전 설치되는 google-crc32c Python 라이브러리를 사용합니다. 그러나 번들링되지 않은 Python 설치를 사용하는 경우 google-crc32c 라이브러리를 PyPI에서 명시적으로 설치해야 합니다. 그렇지 않으면 Google Cloud CLI가 gcloud-crc32c 바이너리로 대체되므로 청크별 CRC 계산의 성능이 저하될 수 있습니다.

비호환성

영역 버킷은 다음 제품 및 서비스와 호환되지 않습니다.

  • 데이터 업로드 및 관리

    • Rapid Cache

    • 자동 클래스

    • 버킷 잠금

    • 복합 객체

    • XML 멀티파트 업로드

    • 객체 보존 조치

    • 객체 수명 주기 관리 SetStorageClass 작업

    • 객체 보관 잠금

    • 버킷 재배치

    • 재개 가능한 업로드

    • 객체 재작성

    • 요청자 지불

  • 메타데이터

    • 영역 버킷의 객체에는 MD5 해시가 없습니다.

    • 지원되지 않는 기능 및 제품과 연결된 메타데이터 속성은 영역 버킷 또는 추가 가능한 객체의 리소스 표현에 표시되지 않거나 쓸 수 없습니다. 예를 들면 다음과 같습니다.

      • softDeleteTimehardDeleteTime 메타데이터 속성이 영역 버킷의 객체에는 소프트 삭제가 지원되지 않으므로 Objects 리소스의 리소스 표현에 표시되지 않습니다.

      • 영역 버킷의 객체에 있는 storageClass 메타데이터는 항상 RAPID 값을 가지며 영역 버킷은 항상 Rapid Storage 스토리지 클래스를 사용해야 하므로 다시 쓸 수 없습니다.

  • 액세스 제어

    • 객체 수준 액세스 제어 목록 (ACL)

    • CORS 구성

    • 고객 제공 암호화 키 (CSEK)

    • HMAC 키

  • 데이터 보호 및 재해 복구

    • 객체 버전 관리

    • 소프트 삭제

    • 버킷 간 복제

  • 기타 Google Cloud 서비스

    • BigQuery

할당량

프로젝트당 각 영역에는 기본 스토리지 용량 할당량이 있습니다. 프로젝트당 각 영역에는 Cloud Storage에서 서비스 Google 로의 기본 이그레스 할당량도 있습니다. 이러한 할당량을 보려면 할당량 및 한도를 참조하세요.

데이터 이그레스 사용량을 모니터링하고 추가 대역폭을 요청하는 방법을 알아보려면 대역폭 사용량 모니터링을 참조하세요.

가격 책정

Rapid Bucket을 사용하면 데이터 스토리지, 작업, 네트워킹에 요금이 부과됩니다. 자세한 내용은 가격 책정을 참조하세요.

권장사항

영역 버킷으로 작업할 때 성능과 리소스 사용률을 최적화하려면 다음 권장사항을 고려하세요.

  • 객체 읽기 최적화: gcloud CLI를 사용하여 영역 버킷에서 객체를 읽을 때 CLI는 기본 동시 실행 및 분할 구성을 자동으로 적용합니다. 특정 워크로드에 맞게 이러한 설정을 추가로 조정하려면 영역 버킷의 gcloud CLI 성능 조정을 참조하세요.

  • Cloud Storage FUSE 파일 핸들: Cloud Storage FUSE로 영역 버킷을 사용할 때 성능을 최적화하려면 마운트된 영역 버킷의 객체에 대한 열린 파일 핸들을 유지하고 여러 작업에 사용하세요. 이 방법은 Cloud Storage FUSE가 반복되는 읽기에 불필요한 네트워크 왕복을 방지하므로 성능을 개선합니다.

다음 단계