2012-02-10 2 views
23

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

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

  • Как мю ch собственного API-интерфейса, любые ограничения, которые не имеют , существуют в собственном API?

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

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

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

ответ

19

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

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

  • Пакет объектов Java HDF - интерфейс высокого уровня, основанный на JHI5.

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

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

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

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

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

Смежные вопросы