Наша компания какое-то время искала формат файла для хранения большого количества данных лабораторных датчиков. Каждый раз, когда они запускают инструментарий, он генерирует файл, который мы используем и храним в базе данных для анализа тенденций и т. Д. Предпочтительным является иерархический формат, поскольку он позволяет нам «группировать» данные. Это промежуточный формат файла, прежде чем мы поместим данные в базу данных. Из-за нашей среды разработки, это наш список приоритетов:
1). Net совместимый. API будет использоваться в веб-сервисах и клиентском приложении. Мы не имеем никакого контроля над средой клиента, поэтому лучше использовать решение pure.Net.
2) Скорость чтения. Наши чтения являются случайными, а не последовательными. Чем быстрее тем лучше. Если бы мы не были магазином для разработки на C #, я бы сказал, что скорость равна # 1.
3) Размер файла. Если сам файл большой, желательно иметь хорошую степень сжатия (86% и выше).
4) След памяти чтения. Из-за объема данных мы не можем просто прочитать их. каждый датчик имеет пару время / значение. Это может генерировать более 4 миллионов пар. Это устранило для нас XML.
В настоящее время мы рассмотрели HDF5 и обнаружили, что API ужасно не хватает на арене .NET, мы не можем работать с веб-службами, но имеем нужный нам размер / скорость. Я также изучил JSON , и это выглядело многообещающе, но я не пытался прочитать часть данных обратно. Я искал в Интернете и не нашел много форматов файлов, которые делают то, что нам нужно. Любая помощь приветствуется.