Лучший способ сохранить / загрузить большое количество данных в приложении .Net? - PullRequest
0 голосов
/ 25 января 2011

Каков наилучший способ сохранить большой объем данных для приложения .Net 4.0?

Сейчас я использую списки и сериализацию в файл в папке «Данные пользователя», и все работает нормально,но я хочу знать, есть ли лучший / более быстрый способ сохранения / загрузки большого объема данных.

Сохраняемые данные содержат только много слов, например, документы.

Размер данных почти 1 МБ.

Ответы [ 4 ]

1 голос
/ 25 января 2011

Это действительно зависит от типа вашего приложения. Я бы не стал использовать базу данных SQL для того, чтобы просто загружать и сохранять операции с данными, которые мне не нужно запрашивать или преобразовывать. Время, которое потребуется для отображения графа вашего объекта на реляционную модель, просто не стоит того. Кроме того, я не верю, что это когда-либо будет быстрее, чем простая сериализация из-за накладных расходов, связанных с базами данных (управление соединением и сопоставление)

Мой недавний опыт был с BinnaryFormatter, который показал отличные результаты (файлы ~ 15 МБ). Хуже того, вы всегда можете написать свой собственный форматер.

0 голосов
/ 26 января 2011

Если вам нужен быстрый доступ, одним из подходов будет сериализация в хеш-таблицу и ее кеширование.В промежутках между чтением и записью ...

Проблема здесь в том, конечно, что управление версиями, изменение пространств имен (тогда вы не сможете десериализовать .... легко), взаимоблокировки, параллелизм и т. Д.

Лучше, если вы сохраните файл в формате XML / JSON, а когда прочитаете его в память, сохраните его в хеш-таблицу ... для быстрого доступа ...

0 голосов
/ 25 января 2011

Когда вы говорите «большое количество данных», что именно вы подразумеваете под этим? Мегабайт? терабайт?

А что это за данные?

Если это набор учетных записей, он вполне может принадлежать к какой-либо базе данных; если это набор изображений или текстовых документов, возможно, нет.

0 голосов
/ 25 января 2011

Вид зависит от ваших данных и от того, как они хранятся в вашем приложении.

Но все эти системы хранения NoSQL являются возможностью или просто бинарными данными в файл.

...