מערך נתונים HDF5 (.hdf5)

The תקן

פורמט הנתונים ההיררכי 5 (HDF5) הוא ארכיטקטורת ניהול הנתונים המדעית המובילה עבור מערכי נתונים רב-ממדיים עצומים, המשמשת בהרחבה במחשוב-על, מידול אקלים, מדעי המוח ולמידת מכונה.

המר HDF5 ל-CSV

ממיר חינמי מ-HDF5 ל-CSV פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.

בדיקה ומטא-נתונים

מערכות הפעלה ומנתחי קבצים מזהים קבצי HDF5 על ידי בדיקת רצף הבייטים הבינארי הראשוני:

בחר או גרור קבצים לכאן

פרטי - הקבצים לעולם אינם עוזבים את המכשיר שלך

או הדבק Ctrl+V
הבטחת פרטיות ללא העברת נתונים ברשת: 0 בייט הועלו לשרתים חיצוניים. כל העיבוד התבצע באופן מקומי בארגז החול של הדפדפן שלך.

חתימת כותרת ברמת הבייט (Magic Bytes)

מערכות הפעלה ומנתחי קבצים מזהים קבצי HDF5 על ידי בדיקת רצף הבייטים הבינארי הראשוני:

חתימת HEX (היסט 0):

89 48 44 46 0D 0A 1A 0A

ייצוג ASCII: \x89HDF\r\n\x1a\n

תקינה: The HDF Group Open Standard Specification

מפרט טכני

מבנה המכולהמכל בינארי היררכי דמוי מערכת קבצים, המארגן נתונים בקבוצות (תיקיות) ובמערכי נתונים (מערכים רב־ממדיים) עם מאפיינים
דחיסהמסנני דחיסה מבוססי מקטעים: Gzip (Deflate),‏ SZIP,‏ Zstandard,‏ Blosc ו-LZF
סדר בתים (Endianness)מצוין ב-superblock (סדר Little-Endian או Big-Endian)
מרחבי צבעלא רלוונטי (מערכים מספריים רב־ממדיים)
ערוצים ומבנהמערכים מדעיים רב־ממדיים, טיפוסי נתונים מורכבים ומחרוזות באורך משתנה
ממדים מרבייםכמעט ללא הגבלה מעשית (תומך בקואורדינטות של 64 סיביות ובמערכי נתונים בהיקף פטה־בייטים)
שקיפותאין
הזרמה ופרוגרסיביותאחסון במקטעים מאפשר לקרוא חלקים ממרחב הנתונים בלי לטעון את כולו לזיכרון

מטריצת השוואה טכנית: HDF5 מול מתחרים

תכונה טכניתHDF5 (נוכחי)NETCDFFITSZARR
מבנה היררכיהמערכת קבצים מלאה דמוית POSIX (קבוצות ומערכי נתונים)NetCDF-4 משתמש ב-HDF5 מתחת מכסה המנועמערכים וטבלאות בלוקים קבועיםפורמט ספרייה מקוטע מותאם לענן (cloud-native)
חיתוך מערך נתוניםקריאות היפרסלאב בינאריות מהירות במיוחדקריאות היפרסלאב מהירותאינדוקס בלוקים ישירשליפות מקטעים במקביל מהענן
שימוש בלמידת מכונהתקן למשקלי מודל (Keras .h5)בשימוש נדיר ב-AIללאשימוש גדל והולך במערכי נתונים לאימון AI
אקוסיסטם עיקריNCSA, מחשוב-על, Python h5pyNOAA, מטאורולוגיה, אוקיאנוגרפיהנאס"א, אסטרונומיה, טלסקופיםמדע נתונים מותאם לענן

מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)

שגיאת Python h5py: 'Unable to open file (file signature not found)'.

גורם שורש: סופר-בלוק פגום בן 8 בייט בתחילת הקובץ.

שחזור: בדוק היסט סופר-בלוק או שחזר מערכי נתונים באמצעות כלי ה-HDF5 של File2File.app.

ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)

ספריית libhdf5 הרשמית מנתחת עצי B מורכבים וטבלאות ערימה (heaps) שבהן היסטים פגומים גרמו לפגיעויות גלישת ערימה (heap overflow).

ווקטורי תקיפה ידועים

  • גלישת חוצץ ערימה במהלך מעבר אינדקס צומת עץ B (למשל CVE-2021-37501).
  • כתיבה מחוץ לגבולות בתוספי צינור סינון פענוח מותאמים אישית.
  • מניעת שירות באמצעות מחזורי קישור קבוצתיים מעגליים.

שיטות מומלצות להגנה: עבד קובצי HDF5 לא מהימנים באמצעות מנועי WebAssembly מבודדים עם מגבלות זיכרון מחמירות.

היסטוריה ואבני דרך

2020HDF5 v1.12 מציג מחברי שכבת אובייקט וירטואלי (VOL) לאחסון אובייקטים בענן (Amazon S3).
2006קבוצת HDF מתפצלת מ-NCSA של אוניברסיטת אילינוי כקרן עצמאית ללא כוונת רווח.
1998NCSA משחררת את HDF5, ומעצבת מחדש לחלוטין את ה-HDF4 המקורי כדי לבטל את מגבלת קבצי ה-2GB.

יתרונות מרכזיים

  • מערכת קבצים מלאה בתוך קובץ: מארגנת מערכי נתונים מורכבים בגודל פטה-בייט לקבוצות ומערכי נתונים בעלי שמות בדומה לספריות.
  • חיתוך תת-מרחבי (hyperslab) בעל ביצועים גבוהים: קרא פרוסה דו-ממדית זעירה ממטריצה חמש-ממדית עצומה בת 100 גיגה-בייט מבלי לקרוא את הקובץ המלא.
  • אינטגרציה עמוקה עם Python מדעי מודרני (h5py), MATLAB, R ומחשבי-על במקביליות MPI בעלי ביצועים גבוהים.

מגבלות טכניות וחסרונות

  • מורכבות מפרט גבוהה מקשה על יישומי מנתח עצמאיים מחוץ לספריית ה-C הרשמית libhdf5.
  • מגבלות הנעילה לכותב יחיד ב-HDF5 הקלאסי סיבכו היסטורית תהליכי כתיבה במקביל.
  • סופר-בלוקים (superblocks) פגומים עלולים להפוך את כל העץ ההיררכי לבלתי נגיש.

עובדות טכניות מעניינות

  • חתימת HDF5 נגזרת מ-PNG; היא מזהה את הפורמט ועוזרת לזהות שגיאות העברה נפוצות.
  • מערכת תצפית כדור הארץ (EOS) של נאס"א מאחסנת פטה-בייטים של נתוני אקלים לווייניים יומיים בפורמט HDF5.
  • מסגרות למידה עמוקה כמו Keras ו-TensorFlow הפכו את HDF5 (.h5) לפופולרי לשמירת משקלי רשת עצבית.

שאלות טכניות נפוצות

מהו קובץ HDF5?

קובץ HDF5 הוא כמו מערכת קבצים שלמה המאוחסנת בתוך קובץ יחיד, המיועד לאחסון יעיל של מערכים מדעיים עצומים, טבלאות ומודלים של למידת מכונה.

מה ההבדל בין .h5 לבין .hdf5?

אין הבדל; .h5 ו-.hdf5 הם שתי סיומות קבצים שונות עבור אותו פורמט נתונים היררכי 5 (Hierarchical Data Format 5).

כיצד אוכל לראות מה יש בתוך קובץ HDF5?

באפשרותך לבדוק את הקבוצות, מערכי הנתונים ומטא-הנתונים בתוך כל קובץ HDF5 באמצעות HDFView, Python h5py, או באופן מקוון עם File2File.app.