-2

Моя система сохранит ~ 20-40 миллионов файлов изображений Каждый файл 150-300KB
Мое приложение будет работать на сервере Windows 2012 R2, и файлы будут сохранены на хранение (не знать, какой еще)
Моя заявка написана на C#Сохраните миллионы файлов на окнах

Мои требования:
- система будет постоянно удалять старые файлы и сохранить новые файлы (около 100K файлов в день)
- самые последние изображения будут автоматически отображаться пользователям в Интернете и приложениях wpf.
- I нужен быстрый доступ к последним файлам (на прошлой неделе) для целей отчета

Какова наилучшая практика для хранения/организации этого количества файлов?

+0

Ваши вопросы не очень ясны. Что ты пытаешься сделать? Генерировать случайные мусорные файлы по 150-300 кб каждый? –

+0

File.WriteAllBytes. Серьезно, какой ответ вы ожидаете? Будьте более конкретными - что вы собираетесь делать с этими файлами после того, как ваше приложение сохранит их? – Dennis

+0

Не могли бы вы дать информацию о требованиях? Функциональный, а также нефункциональный. –

ответ

1

Широкие вопросы много? Если вы спрашиваете о том, как организовать их для эффективного доступа, вам будет сложнее ответить, не зная, почему вы храните много файлов.

Позвольте мне объяснить: Допустим, вы храните много лог-файлов. Скорее всего, ваши пользователи будут больше всего заинтересованы в журналах с прошлой недели или около того. Таким образом, хранение ваших данных на диске таким образом, чтобы вы могли легко получить доступ к файлам за день (например, yyyy-mm-dd.log), ускорит получение доступа к определенному дневному журналу.

Теперь вместо этого подумайте, как телефонную книгу, и вы получаете доступ к именам людей. Хорошо хранить его к тому моменту, когда вы вставили это имя в телефонную книгу, действительно не поможет вам быстро достичь желаемого результата. Лучше придумать лучший алгоритм сортировки.

По существу посмотрите, как будут доступны ваши данные, попробуйте упорядочить их логически, чтобы вы могли использовать алгоритм бинарного поиска или лучший алгоритм.

Я настоятельно рекомендую переформулировать ваш вопрос, чтобы он был яснее.