ชุดข้อมูล HDF5 (.hdf5)

The มาตรฐาน

Hierarchical Data Format 5 (HDF5) คือสถาปัตยกรรมการจัดการข้อมูลทางวิทยาศาสตร์ชั้นนำสำหรับอาร์เรย์หลายมิติขนาดใหญ่ ซึ่งใช้งานอย่างแพร่หลายในซูเปอร์คอมพิวเตอร์ การจำลองภูมิอากาศ ประสาทวิทยาศาสตร์ และการเรียนรู้ของเครื่อง

แปลง HDF5 เป็น CSV

ตัวแปลงจาก HDF5 เป็น CSV ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ

ตรวจสอบไฟล์และข้อมูลเมตา

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ HDF5 โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

เลือกหรือวางไฟล์ที่นี่

เป็นส่วนตัว - ไฟล์จะไม่ออกจากอุปกรณ์ของคุณ

หรือวาง Ctrl+V
รับประกันความเป็นส่วนตัวโดยไม่มีการส่งข้อมูลผ่านเครือข่าย: อัปโหลด 0 ไบต์ไปยังเซิร์ฟเวอร์ภายนอก การประมวลผลทั้งหมดเกิดขึ้นภายในแซนด์บ็อกซ์ของเบราว์เซอร์ของคุณ

ลายเซ็นส่วนหัวระดับไบต์

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ HDF5 โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

ลายเซ็น HEX (OFFSET 0):

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

การแสดงผลรูปแบบ ASCII: \x89HDF\r\n\x1a\n

มาตรฐาน: The HDF Group Open Standard Specification

ข้อมูลจำเพาะทางเทคนิค

สถาปัตยกรรมคอนเทนเนอร์คอนเทนเนอร์ไบนารีแบบลำดับชั้นคล้ายระบบไฟล์ จัดข้อมูลเป็น Groups (โฟลเดอร์) และ Datasets (อาร์เรย์หลายมิติ) พร้อมแอตทริบิวต์
การบีบอัดตัวกรองการบีบอัดแบบแบ่งชังก์: Gzip (Deflate), SZIP, Zstandard, Blosc และ LZF
การจัดลำดับไบต์ระบุไว้ใน superblock (Little-Endian หรือ Big-Endian)
พื้นที่สีไม่เกี่ยวข้อง (อาร์เรย์ตัวเลขหลายมิติ)
ช่องสัญญาณและโครงสร้างอาร์เรย์วิทยาศาสตร์หลายมิติ, ชนิดข้อมูลผสม และสตริงความยาวแปรผัน
ขนาดสูงสุดแทบไม่จำกัด (รองรับพิกัด 64 บิตและชุดข้อมูลระดับเพตะไบต์)
ความโปร่งใสไม่มี
การสตรีมและแบบโปรเกรสซีฟการจัดเก็บแบบแบ่งชังก์ช่วยตัดแบ่งไฮเปอร์สแลบเพียงบางส่วนได้โดยไม่ต้องโหลดชุดข้อมูลทั้งหมดเข้าหน่วยความจำ

ตารางเปรียบเทียบทางเทคนิค: HDF5 กับคู่แข่ง

คุณลักษณะทางเทคนิคHDF5 (ปัจจุบัน)NETCDFFITSZARR
โครงสร้างลำดับชั้นระบบไฟล์แบบ POSIX เต็มรูปแบบ (กลุ่มและชุดข้อมูล)NetCDF-4 ใช้ HDF5 อยู่เบื้องหลังอาร์เรย์และตารางบล็อกคงที่รูปแบบไดเรกทอรีแบบคลาวด์เนทีฟพร้อมส่วนข้อมูล
การตัดส่วนชุดข้อมูลการอ่านไฮเปอร์สแลบบินารีที่เร็วเป็นพิเศษการอ่านไฮเปอร์สแลบที่รวดเร็วการทำดัชนีบล็อกโดยตรงการดึงข้อมูลส่วนข้อมูลแบบขนานบนคลาวด์
การใช้งานด้านการเรียนรู้ของเครื่องมาตรฐานสำหรับน้ำหนักโมเดล (Keras .h5)ใช้น้อยมากใน AIไม่มีการใช้ชุดข้อมูลฝึกอบรม AI เพิ่มขึ้น
ระบบนิเวศหลักNCSA, ซูเปอร์คอมพิวเตอร์, Python h5pyNOAA, อุตุนิยมวิทยา, สมุทรศาสตร์NASA, ดาราศาสตร์, กล้องโทรทรรศน์วิทยาศาสตร์ข้อมูลแบบคลาวด์เนทีฟ

รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex

ข้อผิดพลาดจาก Python h5py: 'Unable to open file (file signature not found)'.

สาเหตุหลัก: ซูเปอร์บล็อกขนาด 8 ไบต์ที่จุดเริ่มต้นของไฟล์เกิดความเสียหาย

การกู้คืน: ตรวจสอบออฟเซ็ตซูเปอร์บล็อกหรือกู้คืนชุดข้อมูลโดยใช้เครื่องมือ File2File.app HDF5 Tool

การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์

ไลบรารี libhdf5 อย่างเป็นทางการทำหน้าที่แยกวิเคราะห์ B-trees และตารางฮีปที่ซับซ้อน ซึ่งออฟเซ็ตที่เสียหายอาจทำให้เกิดช่องโหว่ฮีปโอเวอร์โฟลว์

เวกเตอร์การโจมตีที่ทราบ

  • ฮีปบัฟเฟอร์โอเวอร์โฟลว์ระหว่างการท่องดัชนีโหนด B-tree (เช่น CVE-2021-37501)
  • การเขียนนอกขอบเขตในปลั๊กอินท่อส่งตัวกรองการคลายการบีบอัดแบบกำหนดเอง
  • การปฏิเสธการให้บริการผ่านวงรอบการเชื่อมโยงกลุ่มแบบวงกลม

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: ประมวลผลไฟล์ HDF5 ที่ไม่น่าเชื่อถือด้วยเอนจิ้น WebAssembly ในแซนด์บ็อกซ์ที่จำกัดหน่วยความจำ

ประวัติความเป็นมาและเหตุการณ์สำคัญ

2020HDF5 v1.12 เปิดตัวตัวเชื่อมต่อ Virtual Object Layer (VOL) สำหรับที่เก็บข้อมูลออบเจ็กต์บนคลาวด์ (Amazon S3)
2006The HDF Group แยกตัวจาก NCSA แห่งมหาวิทยาลัยอิลลินอยส์ แล้วจัดตั้งเป็นมูลนิธิอิสระที่ไม่แสวงหากำไร
1998NCSA เปิดตัว HDF5 ซึ่งออกแบบ HDF4 ดั้งเดิมใหม่ทั้งหมดเพื่อกำจัดขีดจำกัดขนาดไฟล์ 2 GB

ข้อได้เปรียบและจุดเด่นสำคัญ

  • ทำหน้าที่เสมือนระบบไฟล์ครบชุดในไฟล์เดียว: จัดระเบียบชุดข้อมูลหลายเพตาไบต์ที่ซับซ้อนเป็นกลุ่มและชุดข้อมูลที่ตั้งชื่อได้ คล้ายกับไดเรกทอรี
  • อ่านข้อมูลบางส่วนแบบไฮเปอร์สแลบได้อย่างรวดเร็ว: อ่านข้อมูล 2 มิติส่วนเล็กจากเมทริกซ์ 5 มิติขนาด 100 กิกะไบต์ โดยไม่ต้องอ่านทั้งไฟล์
  • ทำงานร่วมกับเครื่องมือวิทยาศาสตร์สมัยใหม่ได้ดี เช่น Python (h5py), MATLAB, R และซูเปอร์คอมพิวเตอร์ประสิทธิภาพสูงที่ทำงานขนานด้วย MPI

ข้อจำกัดทางเทคนิคและข้อควรพิจารณา

  • ความซับซ้อนของข้อกำหนดระดับสูงทำให้การพัฒนาตัวแยกวิเคราะห์อิสระทำได้ยากนอกเหนือจากไลบรารี C อย่างเป็นทางการของ libhdf5
  • ข้อจำกัดการล็อกแบบผู้เขียนคนเดียวใน HDF5 รุ่นดั้งเดิมเคยทำให้การเขียนข้อมูลพร้อมกันมีความซับซ้อน
  • ซูเปอร์บล็อกที่เสียหายอาจทำให้ต้นไม้ลำดับชั้นทั้งหมดไม่สามารถเข้าถึงได้

เกร็ดความรู้ทางเทคนิคที่น่าสนใจ

  • ลายเซ็น HDF5 มีที่มาจาก PNG ใช้ระบุรูปแบบและช่วยตรวจพบข้อผิดพลาดในการถ่ายโอนที่พบบ่อย
  • ระบบสังเกตการณ์โลกของ NASA (EOS) จัดเก็บข้อมูลภูมิอากาศจากดาวเทียมประจำวันระดับเพตาไบต์ในรูปแบบ HDF5
  • เฟรมเวิร์กการเรียนรู้เชิงลึก เช่น Keras และ TensorFlow ทำให้นิยมใช้ HDF5 (.h5) ในการบันทึกน้ำหนักของโครงข่ายประสาทเทียม

คำถามทางเทคนิคที่พบบ่อย

ไฟล์ HDF5 คืออะไร

ไฟล์ HDF5 เปรียบเสมือนระบบไฟล์ที่สมบูรณ์ซึ่งจัดเก็บไว้ในไฟล์เดียว ออกแบบมาเพื่อจัดเก็บอาร์เรย์ทางวิทยาศาสตร์ขนาดใหญ่ ตาราง และโมเดลการเรียนรู้ของเครื่อง (Machine Learning) ได้อย่างมีประสิทธิภาพ

ความแตกต่างระหว่าง .h5 และ .hdf5 คืออะไร

ไม่มีความแตกต่างกัน: .h5 และ .hdf5 เป็นนามสกุลไฟล์สองแบบของ Hierarchical Data Format 5 รูปแบบเดียวกัน

ตรวจดูเนื้อหาในไฟล์ HDF5 ได้อย่างไร?

คุณสามารถตรวจสอบกลุ่ม ชุดข้อมูล และข้อมูลเมตา (Metadata) ภายในไฟล์ HDF5 ใดๆ ได้โดยใช้ HDFView, Python h5py หรือใช้ออนไลน์ผ่าน File2File.app