빠른 버킷

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

Rapid Bucket을 사용하여 영역 버킷을 만들려면 영역 버킷 만들기를 참고하세요. 영역 버킷의 객체를 읽고 추가하려면 영역 버킷의 객체 사용을 참고하세요.

빠른 버킷 용어

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

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

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

  • 영역 버킷: 영역에 있는 버킷입니다. 영역 버킷의 객체는 항상 Rapid 스토리지에 저장되며 추가 가능합니다.

영역별 버킷의 기능

영역 버킷은 짧은 지연 시간과 높은 처리량을 제공할 뿐만 아니라 다음 작업을 지원합니다.

  • 전체 객체 다시 쓰기를 실행하지 않고 영역 버킷의 객체에 추가

  • 작업을 수행할 때 객체를 열고 스트림을 유지하여 후속 읽기 및 쓰기를 가속화할 수 있습니다.

사용 사례

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

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

영역 버킷의 객체에 대한 액세스

영역 버킷의 성능 이점을 얻으려면 스트리밍을 위해 객체를 열고 객체에 작업을 실행할 때 스트림을 유지해야 합니다. 스트림을 설정하고 유지관리하면 매우 낮은 지연 시간으로 객체에 대한 후속 읽기 또는 쓰기 작업을 실행할 수 있습니다. 예를 들어 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 이상이어야 합니다.

가격 책정

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

제한사항

  • 영역 버킷에는 계층적 네임스페이스균일한 버킷 수준 액세스가 사용 설정되어 있어야 합니다.

  • Google Cloud CLI 제한사항:

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

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

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

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

비호환성

영역 버킷은 다음 도구, 작업, 제품과 호환되지 않습니다.

  • 도구

    • XML API 멀티파트 업로드

    • XML API 또는 JSON API를 사용한 쓰기

  • gRPC를 사용하여 추가할 수 없는 객체에 쓰기

  • 데이터 보호 및 재해 복구

    • 객체 버전 관리

    • 소프트 삭제

  • 데이터 관리

    • 위치 무관 캐시

    • 자동 클래스

    • 버킷 잠금

    • 객체 작성

    • 객체 보존 조치

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

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

    • 객체 보관 잠금

    • Pub/Sub 알림

    • 버킷 재배치

    • 재개 가능한 업로드

    • 객체 재작성

    • 요청자 지불

  • 액세스 제어

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

    • CORS 구성

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

    • HMAC 키

할당량

프로젝트별 각 영역에는 스토리지 바이트 할당량이 있습니다. 프로젝트별 각 영역에는 Cloud Storage에서 Google 서비스로의 이그레스 할당량도 있습니다. 사용 가능한 스토리지 또는 데이터 이그레스 할당량을 확인하려면 할당량 및 시스템 한도 페이지를 참고하세요. 할당량 상향 요청 방법은 할당량 관리를 참고하세요.

권장사항

Cloud Storage FUSE로 영역 버킷을 사용할 때 성능을 최적화하려면 마운트된 객체에 대한 열린 파일 핸들을 유지하고 여러 작업에 사용하세요. 이렇게 하면 Cloud Storage FUSE가 반복 읽기마다 불필요한 네트워크 왕복을 실행하지 않아도 되므로 성능이 향상됩니다.

다음 단계