Схема XML для регистрации временных рядов научных приборов

Q:

Я знаю, что нет единого идеального ответа на все эти глупости; Я надеюсь, что некоторые опытные знания позволят сузить круг возможных вариантов, некоторую общую стратегию, чтобы избежать ночных кошмаров по конверсии, и любые идеи по сокращению моего объема хранения данных на ЦП / диске (операции с большими строками являются дорогостоящими и утомительными). Я работаю на ограниченном оборудовании и немного новичок в стандартах XML. Я могу читать и писать это очень хорошо (как правило, для веб-сайта), никогда не в качестве инкапсуляции набора данных.


Я размышлял об этом неделями, и я на 92, 3% уверен, что файлы XML являются моим идеальным местом хранения. Я регистрирую различные показания / анализ приборов и держу их в течение нескольких месяцев. Хотя у меня есть опасения по поводу того, что мои узлы сбора данных имеют ограниченные аппаратные ресурсы (чрезмерные операции со строками могут выполняться медленно, 512 КБ ОЗУ, 3,2 ГБ флэш-памяти).

Я пытаюсь найти хорошо сформированный ML с минимальным размером, который может обрабатывать RAW числовые типы данных. Мне не нужны полностью совместимые файлы, НО я ищу оптимальное решение, поэтому не будем слишком сильно отклоняться от правильной формы.

Основные факторы модели данных

(и почему я думаю, что XML лучше подходит для упакованного двоичного файла, FLAT TEXT или даже CSV)

  • До 8 различных точек данных (разные измерения, марки и типы датчиков)
  • различные необработанные типы данных (REAL32, DINT, DWORD, BYTE, STRING(произвольно длинные)
  • наборы данных должны иметь возможность хранить абсолютные метки времени в каждом файле (у меня есть каталог, полный сотен XML, которые в конечном итоге объединятся)
  • Конфигурация / количество datapoint может измениться, поэтому я должен иметь возможность отмечать изменения в схеме с минимальным многословием / путаницей.

Ограничения производительности / соображения

  • Обычно я должен выписывать XML только из встроенной платформы, поэтому удобочитаемость не имеет первостепенного значения, хотя, если мне нужно обрабатывать какие-либо запросы, отбрасывание и разбор 3,0 ГБ текста не доставит удовольствия даже в самом чистом виде.
    • Я считаю, что прерывистые узлы DATE-TIME помогут мне проиндексировать такой запрос
  • Чрезмерноесжатие данных может действительно стать проблемой во время экспорта, потому что это становится еще большим количеством вычислений, чтобы разархивировать мою лень.
  • Чрезмерно многословный XML дает мне всего 111 дней хранения. Я хотел бы получить это до 180 дней или дольше. Поэтому мне нужно лучше сжать текст.
  • Есть 3 потенциальных цели, как только данные выгружены. Я не хочу сталкиваться с узкими местами / ошибками в конверсии из-за чрезмерного усложнения.
    • Microsoft Excel (ему не нужно понимать это отлично, но мы не хотим тратить часы на ручной импорт несоответствующих типов схем / карт в 2D-сетку).
    • Внутренний сервер RRD (я смогу выполнить любые необходимые преобразования, но, надеюсь, я уже близок к тому, что хочет RRD
    • Некоторые милые инструменты Javascript/Android. Хотя я ожидаю, что они будут выполнять пользовательскую обработку типов данных, правильно сформированный XML сделает поиск и анализ проще во время разработки.

1 ответ

Рассматривали ли вы хранение ваших файлов XML в базе данных XML, такой как eXist?

Другие вопросы по тегам