Какой тип базы данных подходит для высокоскоростной USB-вставки? - PullRequest
2 голосов
/ 14 марта 2011

Я создаю настольное приложение на C #, которое получает данные с USB, который подключается к нескольким датчикам (датчикам / устройствам), например, к температуре, размеру, влажности и т. Д. Каждое устройство / датчик отправляет данные в реальном времени на компьютер одновременно, в оченьвысокая частота дискретизации (> 1000 / с) и вставка в соответствующую таблицу базы данных (например, данные о температуре, хранящиеся в таблице температуры и т. д.).

Какая база данных подходит для такого приложения, желательно с открытым исходным кодом?MySQL?SQLite?Также, какую конфигурацию мне нужно будет сделать с моей базой данных, чтобы избежать потери данных во время высокоскоростной вставки данных?

1 Ответ

0 голосов
/ 03 мая 2011

вы уже взглянули на db40, его объектную базу данных с открытым исходным кодом, разработанную для того, что вы делаете.

http://www.db4o.com/

Он доступен для Java & .Net и имеет множество примеров, ZERO config (новая база данных (fileName)). Если db4o не может идти в ногу с частотой вставки (что маловероятно, но вы никогда не знаете), вы можете сохранить кэш в памяти для объектов, которые нужно вставить (т. Е. Кэш в памяти, если запись в db идет медленно, а элементы удаляются из стека при успешной записи). ).

Я использовал VistaDB (платную базу данных файлов .net), что хорошо, не уверен насчет высокого уровня вставки, но если вы кешируете память в стек, я думаю, вы могли бы поэкспериментировать с разными поставщиками баз данных, без необходимости переделывать много код.

Другой альтернативой может стать решение для ведения журнала, такое как log4net, просто записывающее файлы, но, возможно, заслуживающее внимания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...