Один сеанс с множеством задач - по одному на запрос - будет работать безопасно одновременно. Независимо от того, выполняет ли клиент запросы на многих серверах или на одном, не имеет значения, если параллелизм меньше, чем HTTPMaximumConnectionsPerHost
, который является частью конфигурации сеанса.
Задачи выполняются параллельно. (На самом деле довольно трудно найти место в документах, где эти слова появляются явно , но здесь есть довольно хороший смысл ).
Обратите внимание, что у сессионных конфигов есть delegateQueue
. Основанием для этого является то, что поскольку задачи сеансов выполняются одновременно, уровень приложения должен сериализовать обработку результатов, чтобы две параллельных задачи не пересекались друг с другом через делегата.
, Как HDF5 выдерживает сравнение с использованием чего-то как DB SQLite? Это - даже разумное сравнение для создания?
Вид подобных, но не действительно. Они - оба структурированные файлы. SQLite имеет функции для поддержки запросов базы данных с помощью SQL. HDF5 имеет функции для поддержки больших научных наборов данных.
Они оба предназначены, чтобы быть высокой производительностью.
Со временем мы будем добавлять к информации, что храним, но не обязательно захотим перераспределить абсолютно новую группу "читателей" для поддержки нового формата.
, Если Вы храните данные в структурированной форме, типы данных тех структур также хранятся в файле HDF5. Я немного ржав относительно того, как это работает (например, если это включает врожденный назад совместимость), но я действительно знаю, что при разработке "средства чтения" правильно, оно должно смочь обработать типы, которые изменяются в будущем.
, это возможный иметь один объект HDF5 "указывает" другому?
Абсолютно! Вы захотите использовать атрибуты . Каждый объект имеет одну или несколько строк, описывающих путь для достижения того объекта. Группы HDF5 походят на папки/каталоги, за исключением того, что папки/каталоги иерархические =, уникальный путь описывает каждое местоположение (в файловых системах w/o жесткие ссылки, по крайней мере), тогда как группы формируют ориентированного графа, который может включать циклы. Я не уверен, можно ли сохранить "указатель" на объект непосредственно как атрибут, но можно всегда хранить абсолютный / относительный путь как строковый атрибут. (или где-либо еще как строка; у Вас могли быть справочные таблицы в изобилии, если бы Вы хотели.)
Мы производим данные HDF5 по моему проекту, но я непосредственно обычно не имею дело с ним. Я могу попробовать первые два вопроса:
Мы используем запись однажды, много раз читаем модель, и формат, кажется, обрабатывает это хорошо. Я знаю проект, который раньше писал и в база данных Oracle и HDF5. В конечном счете они удалили вывод Oracle начиная с перенесенной производительности, и никто не использовал его. Очевидно, SQLite не является Oracle, но формат HDF5 лучше подошел для задачи. На основе той одной точки данных RDBMS может быть лучше настроен для нескольких вставок и обновлений.
читатели, которых используют наши клиенты, устойчивы, когда мы добавляем новые типы данных. Некоторые изменения ожидаются, но мы не должны волноваться о повреждающейся вещи при добавлении большего количества полей данных. Наш DBA недавно записал программу Python, чтобы считать данные HDF5 и заполнить файлы KMZ для визуализации в Google Earth. Так как это был проект, он раньше изучал Python, я скажу, что не трудно создать средства чтения.
По третьему вопросу, я поклонюсь превосходящее знание S Jason .
я сказал бы, что HDF5 является абсолютно разумным выбором, особенно если Вы уже интересуетесь им или планируете произвести что-то для научного сообщества.