Структура базы данных (SQL) для данных CAN - PullRequest
0 голосов
/ 29 августа 2018

Я хочу создать (SQL-) базу данных для данных CAN.

Текущее состояние

Сейчас все разные журналы сохраняются в разных файлах. Каждый файл имеет формат .mat и составляет около 500 МБ. Это, однако, в значительной степени связано с неблагоприятным дизайном структуры данных. Однажды я просто поместил все данные в таблицу mysql на своем ноутбуке с Windows, используя докер, но это было очень медленно. Я совершенно новичок в MySQL, так что, думаю, это был просто плохой дизайн.

Структура данных CAN

Одно сообщение может содержать несколько сигналов, каждый из которых имеет значение. Каждое сообщение имеет метку времени. Сигналы на сообщение ограничиваются размером сообщения (обычно один байт). Причина, по которой файлы настолько велики, заключается в том, что для каждого сигнала сохраняется временная метка. Таким образом, данные становятся намного доступнее.

Текущий подход

Мы оцениваем данные, используя python. Каждый журнал сохраняется в словаре. Ключами являются имена сигналов, и в каждой записи хранятся все временные метки со значениями.

Проблема

Размер базы данных увеличивается, и не каждый может загрузить огромные объемы данных. Скорее я просто хочу получить данные, которые меня интересуют. Например, я просто хочу скачать журналы, где машина ехала более 15 км. Или я просто хочу загрузить данные аккумулятора (его электромобиль) и ничего больше. Еще одним недостатком является необходимость перебора всех файлов, чтобы найти тот, который вы ищете. Каждый из них должен быть загружен в оперативную память, что занимает некоторое время.

Цель

  • Выбор данных в python
  • Просто скачайте необходимые данные
  • Быстрый поиск

Вопросы

  • Как бы вы эффективно разработали базу данных MySQL с этими данными?
...