مكعبات البيانات في Microsoft Planetary Computer Pro

كما هو مذكور في أنواع البيانات المدعومة، يدعم Microsoft Planetary Computer Pro الاستيعاب وتحسين السحابة وتصور ملفات مكعب البيانات بتنسيقات NetCDF وHDF5 وZarr وGRIB2. على الرغم من أن هذه الأصول معقدة ومعقدة تاريخيا على التخزين المحلي، إلا أنها محسنة للبيئات السحابية باستخدام Planetary Computer Pro، مما يزيد من تمكينها كأدوات فعالة لهيكلة وتخزين البيانات متعددة الأبعاد مثل صور الأقمار الصناعية ونماذج المناخ.

استيعاب مكعبات البيانات

يمكن استيعاب ملفات مكعب البيانات في Planetary Computer Pro بنفس الطريقة مثل أنواع بيانات النقط الأخرى. كما هو الحال مع تنسيقات التاريخ الأخرى، يجب أولا تخزين الأصول وعناصر كتالوج الأصول الزمنية Spatio (STAC) المقترنة في Azure Blob Storage. على عكس الأصول النقطية ثنائية الأبعاد الأخرى ، تحدث المزيد من خطوات تحسين السحابة عند استيعاب تنسيقات مكعب بيانات معينة (NetCDF و HDF5).

ملاحظة

يتم استيعاب بيانات GRIB2 بنفس طريقة استيعاب البيانات النقطية ثنائية الأبعاد الأخرى (بدون خطوات أخرى لتحسين السحابة) ، لأنها في الأساس مجموعة من البيانات النقطية ثنائية الأبعاد مع ملف فهرس مقترن يشير إلى البيانات بكفاءة في البيئات السحابية. وبالمثل ، فإن Zarr هو بالفعل تنسيق سحابي أصلي ، لذلك لا يتم إجراء أي تحسين عند الابتلاع.

تحسين السحابة لمكعبات البيانات

عند استيعاب عنصر STAC يحتوي على أصول NetCDF أو HDF5، يتم تحسين الأصول على السحابة، ليس عن طريق تحويل البيانات نفسها، ولكن عن طريق إنشاء ملفات مرجعية تتيح الوصول إلى البيانات بشكل أكثر كفاءة.

تحسين السحابة عبر بيانات Kerchunk

على عكس البيانات النقطية ثنائية الأبعاد التي يتم تحويلها إلى Cloud Optimized Geotiffs (COGs) عند استيعابها في Planetary Computer Pro ، يتم تحسين أصول مكعب البيانات عن طريق إنشاء الملفات المرجعية ، أو بيانات Kerchunk. Kerchunk هي مكتبة Python مفتوحة المصدر تقوم بإنشاء هذه البيانات المجزأة ، أو ملفات JSON التي تصف بنية مكعب البيانات وقطعها باستخدام مفاتيح القطع على غرار Zarr التي يتم تعيينها لنطاقات البايت في الملف الأصلي حيث توجد هذه القطع. بمجرد إنشائها، يتم تخزين ملفات Kerchunk في تخزين الكائن الثنائي كبير الحجم جنبا إلى جنب مع الأصول، ويتم إثراء عناصر STAC لتضمين مراجع إلى هذه البيانات، مما يؤدي إلى تحسين الوصول إلى البيانات لبيئات السحابة.

خصائص عنصر STAC التي تؤدي إلى تحسين السحابة

ضمن عناصر STAC الخاصة بالمجموعة، يجب أن تكون الشروط التالية صحيحة لأصل مكعب البيانات ليتم تحسينه على السحابة:

  • تنسيق الأصل هو أحد الأنواع التالية:
    • application/netcdf
    • application/x-netcdf
    • application/x-hdf5
  • يحتوي الأصل على roles حقل يتضمن إما data أو visual ضمن قائمة الأدوار الخاصة به.

إذا تم استيفاء هذه الشروط، يتم إنشاء بيان Kerchunk (assetid-kerchunk.json) في تخزين الكائن الثنائي كبير الحجم بجانب الأصل.

ملاحظة

غالبا ما يتوافق نوعapplication/x-hdf تنسيق الأصول مع أصول HDF4. لا يدعم استيعاب GeoCatalog حاليا إنشاء بيانات مجموعة kerchunk ظاهرية ل HDF4 نظرا لتعقيده الإضافي ومتغيراته المتعددة.

إثراء عنصر STAC

لكل أصل محسن داخل عنصر STAC، تتم إضافة الحقول التالية:

  • msft:datacube_converted: true – يشير إلى تطبيق الإثراء.
  • cube:dimensions – قاموس يسرد أبعاد مجموعة البيانات وخصائصها.
  • cube:variables – قاموس يصف متغيرات مجموعة البيانات وخصائصها.

يجب استخدام هذه المتغيرات لتكوينات العرض للتأكد من أن تصورك لأصول مكعب البيانات في Explorer يقرأ بياناتك ويعرضها بكفاءة أكبر.

فوائد مكعبات البيانات المحسنة للسحابة

يعمل تحسين سحابة مكعب البيانات على تحسين أداء الوصول إلى البيانات ، خاصة لسير عمل التصور. عند وجود بيان Kerchunk ، فإنه يسمح بوصول أسرع مقارنة بتحميل ملف مجموعة البيانات بأكمله.

يستخدم Microsoft Planetary Computer Pro Explorer وواجهات برمجة تطبيقات التجانب بشكل تفضيلي بيان Kerchunk لعمليات قراءة البيانات إذا كان أحدها موجودا في نفس دليل تخزين الكائن الثنائي كبير الحجم مثل الأصل الأصلي.

تعد قراءة البيانات باستخدام نهج مقسم يستند إلى المرجع أسرع لأنه يتجنب قراءة الملف بأكمله في الذاكرة.

تعطيل تحسين سحابة مكعب البيانات

إذا قررت أنك لا تريد العمل مع أصول مكعب البيانات المحسنة للسحابة، فقم data بتعطيل تحسين السحابة عن طريق إزالة visual قائمة الأصول منها roles في JSON لعنصر STAC قبل الاستيعاب.

استيعاب Zarr وتحديثات البيانات

كما ذكرنا سابقا ، فإن Zarr هو بطبيعته تنسيق سحابي أصلي ، لذلك لا يحدث أي تحسين إضافي عند تناوله ولا يلزم إجراء تعديل لعناصر STAC الخاصة به. ومع ذلك، إذا كنت تخطط لتحديث أصول Zarr وإعادة استخدام عناصر STAC ديناميكيا للعمل مع أحدث إصدار، فيجب أن تكون على دراية بطريقتين للتحديث: الإلحاقوالمزامنة.

إلحاق

إذا قمت بإضافة بيانات جديدة إلى متجر Zarr مخزن محليا ، ولكنك تريد تحديث الإصدار المخزن في Planetary Computer Pro ، فستحتاج إلى إعادة استيعاب عنصر STAC. عند إعادة استيعاب هذا العنصر، يكون السلوك الافتراضي هو مراجعة الأصول بحثا عن أي بيانات جديدة، وإضافتها إلى البيانات المخزنة في السحابة. لا يلزم إجراء أي تعديل على عنصر STAC قبل إعادة التركيب.

مزامنة

إذا قمت بإزالة البيانات من مخزن Zarr مخزن محليا، فلن يسمح إعادة استيعاب عنصر STAC نفسه للإصدار المستند إلى السحابة بمطابقة الإصدار الموجود على جهازك، حيث تبحث وظيفة الإلحاق عن بيانات جديدة، ولكن لا يتم ضبطها وفقا لأي بيانات مفقودة. هذا هو المكان الذي تلعب فيه المزامنة . من خلال تعديل عنصر STAC لتضمين معلمة تشير إلى أنك تريد المزامنة، والبيانات الموجودة مع الجديد، وإعادة استيعاب عنصر STAC المعدل، تتوفر فقط البيانات الأكثر up-toتاريخا من متجر Zarr في Planetary Computer Pro. يجب أن يظهر التعديل على عنصر STAC على النحو التالي:

{
    ...
    "assets": {
        "pr": {
            "href": "https://managedstorage.azure.com/collection-container/somestuff/pr.zarr",
            "msft:ingestion": {
              "directory": "sync"
            }
        }
    }
}