지원되는 데이터 형식에 설명된 대로 Microsoft Planetary Computer Pro는 NetCDF, HDF5, Zarr 및 GRIB2 형식의 데이터 큐브 파일 수집, 클라우드 최적화 및 시각화를 지원합니다. 로컬 스토리지에서 복잡하고 역사적으로 번거롭지만, 이러한 자산은 Planetary Computer Pro를 사용하여 클라우드 환경에 최적화되어 위성 이미지 및 기후 모델과 같은 다차원 데이터를 구조화하고 저장하는 효율적인 도구로 역량을 강화합니다.
데이터 큐브 수집
데이터 큐브 파일은 다른 래스터 데이터 형식과 동일한 방식으로 Planetary Computer Pro로 수집할 수 있습니다. 다른 날짜 형식과 마찬가지로 자산 및 관련 STAC(Spatio Temporal Asset Catalog) 항목은 먼저 Azure Blob Storage에 저장되어야 합니다. 그러나 다른 2차원 래스터 자산과 달리 특정 데이터 큐브 형식(NetCDF 및 HDF5)을 수집할 때 더 많은 클라우드 최적화 단계가 발생합니다.
비고
GRIB2 데이터는 클라우드 환경에서 데이터를 효율적으로 참조하는 연결된 인덱스 파일이 있는 2D 래스터 컬렉션이므로 다른 2차원 래스터 데이터와 동일한 방식으로 수집됩니다(다른 클라우드 최적화 단계가 없음). 마찬가지로 Zarr은 이미 클라우드 네이티브 형식이므로 수집 시 최적화가 수행되지 않습니다.
데이터 큐브의 클라우드 최적화
NetCDF 또는 HDF5 자산이 포함된 STAC 항목을 수집하면 자산은 데이터 자체를 변환하는 것이 아니라 보다 효율적인 데이터 액세스를 가능하게 하는 참조 파일을 생성하여 클라우드에 최적화됩니다.
Kerchunk 매니페스트를 통한 클라우드 최적화
Planetary Computer Pro로 수집할 때 COG(클라우드 최적화 지오티프)로 변환되는 2D 래스터 데이터와 달리 데이터 큐브 자산은 참조 파일 또는 Kerchunk 매니페스트를 생성하여 최적화됩니다. Kerchunk 는 이러한 청크 매니페스트를 만드는 오픈 소스 Python 라이브러리이거나, 해당 청크가 있는 원래 파일의 바이트 범위에 매핑되는 Zarr 스타일 청크 키를 사용하여 데이터 큐브 및 해당 청크의 구조를 설명하는 JSON 파일입니다. 생성되면 Kerchunk 파일은 자산과 함께 Blob Storage에 저장되고, STAC 항목은 이러한 매니페스트에 대한 참조를 포함하도록 보강되어 클라우드 환경에 대한 데이터 액세스를 최적화합니다.
클라우드 최적화를 트리거하는 STAC 항목 속성
데이터 큐브 자산이 클라우드에 최적화되려면 컬렉션의 STAC 항목 내에서 다음 조건이 충족되어야 합니다.
- 자산 형식은 다음 유형 중 하나입니다.
application/netcdfapplication/x-netcdfapplication/x-hdf5
- 자산에는 역할 목록에
roles또는data중 하나가 포함된visual필드가 있습니다.
이러한 조건이 충족되면 자산과 함께 Blob Storage에 Kerchunk 매니페스트(assetid-kerchunk.json)가 생성됩니다.
비고
자산 형식 형식application/x-hdf 은 HDF4 자산에 해당하는 경우가 많습니다. GeoCatalog는 추가된 복잡성과 다양한 변형으로 인해 현재 HDF4에 대한 가상 kerchunk 매니페스트 생성을 지원하지 않습니다.
STAC 항목 보강
STAC 항목 내의 최적화된 각 자산에 대해 다음 필드가 추가됩니다.
-
msft:datacube_converted: true– 보강이 적용되었음을 나타냅니다. -
cube:dimensions– 데이터 세트 차원 및 해당 속성을 나열하는 사전입니다. -
cube:variables– 데이터 세트 변수 및 해당 속성을 설명하는 사전입니다.
이러한 변수는 탐색기에서 데이터 큐브 자산의 시각화가 데이터를 가장 효율적으로 읽고 렌더링하도록 렌더링 구성에 사용해야 합니다.
클라우드 최적화 데이터 큐브의 이점
데이터 큐브 클라우드 최적화는 특히 시각화 워크플로의 경우 데이터 액세스 성능을 향상시킵니다. Kerchunk 매니페스트가 있으면 전체 데이터 세트 파일을 로드하는 것보다 더 빠르게 액세스할 수 있습니다.
Microsoft Planetary Computer Pro Explorer 및 타일링 API는 원래 자산과 동일한 Blob Storage 디렉터리에 있는 경우 데이터 읽기 작업에 Kerchunk 매니페스트를 우선적으로 사용합니다.
전체 파일을 메모리로 읽지 않기 때문에 청크 분할 참조 기반 접근 방식을 사용하여 데이터를 읽는 것이 더 빠릅니다.
데이터 큐브 클라우드 최적화를 사용하지 않도록 설정
클라우드 최적화 데이터 큐브 자산으로 작업하지 않으려면, 수집하기 전에 STAC 항목 JSON의 자산 목록에서 data 및 visual을 제거하여 클라우드 최적화를 비활성화하십시오.
Zarr 인제스트 및 데이터 업데이트
앞서 언급했듯이 Zarr은 본질적으로 클라우드 네이티브 형식이므로 수집 시 추가 최적화가 수행되지 않으며 STAC 항목을 수정할 필요가 없습니다. 그러나 Zarr 자산을 동적으로 업데이트하고 최신 버전에서 작동하도록 STAC 항목을 다시 수집하려는 경우 추가 및 동기화라는 두 가지 업데이트 방법을 알고 있어야 합니다.
Append
로컬로 저장된 Zarr 저장소에 새 데이터를 추가하지만 Planetary Computer Pro에 저장된 버전을 업데이트하려면 STAC 항목을 다시 수집해야 합니다. 해당 항목을 다시 수집할 때 기본 동작은 새 데이터에 대한 자산을 검토하고 클라우드에 저장된 데이터에 추가하는 것입니다. 다시 수집하기 전에 STAC 항목을 수정할 필요가 없습니다.
동기화
로컬로 저장된 Zarr 저장소에서 데이터를 제거하는 경우 추가 기능이 새 데이터를 찾지만 누락된 데이터에 따라 조정되지 않으므로 동일한 STAC 항목을 다시 수집해도 클라우드 기반 버전이 컴퓨터의 버전과 일치할 수 없습니다. 이것이 동기화가 시작되는 곳입니다. 기존 데이터를 새로운 데이터와 동기화하고자 하는 매개변수를 포함하도록 STAC 항목을 수정한 후, 그 수정된 STAC 항목을 다시 수집하면, Zarr 저장소에서 최신 데이터만 Planetary Computer Pro에서 사용할 수 있습니다. STAC 항목에 대한 수정 내용은 다음과 같이 표시됩니다.
{
...
"assets": {
"pr": {
"href": "https://managedstorage.azure.com/collection-container/somestuff/pr.zarr",
"msft:ingestion": {
"directory": "sync"
}
}
}
}