HDF5 в Java: в чем разница между доступными API?

Я только что обнаружил формат HDF5, и я рассматриваю возможность его использования для хранения 3D-данных, разбросанных по кластеру серверов приложений Java. Я выяснил, что есть несколько реализаций, доступных для Java, и хотел бы знать различия между ними:

самое главное, я хотел бы знать:

  • сколько собственного API покрыто, любые ограничения, которые не существуют в собственном API?

  • Если есть поддержка "Parallel HDF5"?

  • Как только мой 3D данные загружены, я получаю " накладные расходы на собственный вызов" каждый раз, когда я получить доступ к одному элементу в массив 3D? То есть данные фактически превращается в объекты Java или остается в " native/JNI память"?

  • есть ли какие-либо знать стабильность проблемы с конкретным реализация, так как сбой в собственном коде обычно занимает все В JVM вниз?

1 ответов


HDF Java следует многоуровневому подходу:

  • jhi5 - низкоуровневые обертки JNI: очень гибкие, но также довольно утомительные в использовании.

  • Java HDF object package-интерфейс высокого уровня на основе JHI5.

  • HDFView-приложение просмотра на основе Java, основанное на пакете объектов HDF Java.

JHDF5 обеспечивает высокоуровневое здание интерфейса на слое JHI5 которое обеспечивает большую часть функциональность HDF5 для Java. API имеет неглубокую кривую обучения и скрывает большую часть работы по дому от разработчика. Вы можете запустить пакет объектов HDF Java (и HDFView) на интерфейсе JHI5, который является частью JHDF5, поэтому два API могут сосуществовать в одной программе Java.

вечная мерзлота и Нуджан, похоже, далеки от завершения в этот момент, и вечная мерзлота не видела много активности в последнее время, поэтому они, похоже, не являются первым выбором на данный момент в время.

Я думаю, что хороший путь для вас-взглянуть на пакет объектов Java HDF5 и JHDF5, решить, какой из двух API лучше соответствует вашим потребностям и пойти с этим.

отказ от ответственности: я работал над интерфейсом JHDF5, поэтому я могу быть предвзятым.