Я работаю над небольшим проектом, в котором одновременно будет только один пользователь, поскольку это локальное приложение (разработанное в WPF и C #). Для хранения данных я думал об использовании файла XML, но мне интересно, будет ли это лучшим подходом.
Для чего нужны данные:
- Shedules
- Библиотека файлов в папках (с именем исполнителя, названием, расположением на жестком диске)
- Возможно статистика на основе данных расписания
- ...
Информация о библиотеке была бы в порядке в XML, я думаю, но во всем остальном я не уверен. Кроме того, LINQ to SQL кажется гораздо более выгодным с точки зрения скорости разработки, чем LINQ to XML. Это правильно или я не прав? Я не был уверен, должен ли я публиковать это на SO или здесь, но это казалось более подходящим здесь!
заранее спасибо
Ответы:
Если вы будете выполнять много операций ввода-вывода, SQL - ваш лучший выбор. SQL предназначен для эффективной работы по получению / хранению данных, поэтому мы используем его для хранения данных на чем-то похожем на веб-сайт, а не на XML.
XML хорош для читаемых человеком данных, которые могут быть разделены и интерпретированы между приложениями, как и предполагалось. Синтаксический анализ XML включает в себя МНОГИЕ манипуляции со строками, которые могут быть дорогостоящими по мере увеличения размера набора данных.
источник
Звучит так, как будто ваши данные могут потенциально расти бесконечно (если я не понял ваше приложение). В этом случае я бы сказал, что для обеспечения эффективности и производительности лучше оставить постоянное хранилище на уровне ядра базы данных.
источник
Перейти с подходом базы данных. Это проверенная технология обработки данных.
Что касается производительности, вы можете ускорить свой доступ, имея индексы, а в XML таких средств не существует.
В базе данных вы можете вычислять статистические данные, используя агрегатные функции, в XML вы должны это кодировать.
Используя базу данных, вы можете сравнительно легко изменить структуру базы данных (добавить столбец, таблицу и т. Д.), И есть инструменты, которые помогут вам перемещать данные между базами данных, где, как и в XML, вы делаете это самостоятельно.
В базе данных вы можете применить правила целостности и позволить пользователям писать свои собственные выборки, если это необходимо, что не совсем просто в XML.
В базе данных вы можете сортировать данные очень легко, также вы можете добавить безопасность. Используя базу данных, вы можете забыть о размере и параллелизме, поэтому в будущем ваше приложение может расти без изменений кода.
Для вышеперечисленного используйте базу данных! EK
источник