Назад | Перейти на главную страницу

Файловое хранилище против хранилища базы данных

наша компания в настоящее время хранит на диске множество автоматически сгенерированных файлов, это более 200 000 файлов, есть PDF-файлы размером около 100k - 1M.

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

Я хотел бы видеть, как мы, где это возможно, храним эти данные в базе данных MS SQL или MySQL и т. д., вместо того, чтобы иметь 200000 файлов, копошащихся вокруг кучи локальных каталогов.

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

Честно говоря, я не вижу каких-либо преимуществ от хранения этих документов в базе данных. Поскольку документы не изменяются, ни системы контроля версий, ни системы управления документами не принесут никакой пользы.

Лучшее, что вы можете сделать, - это сохранить их на отдельном сервере с файловой системой, которая отличается быстрым поиском (возможно, XFS, подробнее Вот и Вот). Что может помочь, так это хорошая организация самой структуры папок, например в случае страховых требований надстройка по годам и месяцам или в случае страхования связывается с надстройкой, заказанной по первым нескольким цифрам / знакам номера полиса.

Есть некоторая ценность в хранении файлов в базе данных, ориентированной на документы. Но это полностью зависит от того, как вы используете файлы, как часто к ним обращаются, как быстро они должны быть доступны. Существуют также системы управления документами, которые могут подойти. Сначала вам нужно подробно описать свой вариант использования.

Есть ли что-нибудь сломанное или громоздкое в вашей текущей схеме хранения? Стоимость перехода при перемещении ваших файлов в базу данных будет нетривиальной. Отложив в сторону боль переключения, вот несколько вещей, которые следует учитывать:

  • Согласованность данных: вы не указали, какую файловую систему / платформу вы используете, а только базу данных. мощь обеспечивают лучшую проверку целостности отдельных файлов.

  • Внешнее восстановление: большинство администраторов баз данных знают, как использовать функции репликации своих баз данных.

  • Резервное копирование: в зависимости от ситуации поставщик базы данных может предоставить вам варианты резервного копирования (резервное копирование с помощью журнала, моментальные снимки, согласованные горячие резервные копии), которые ваша ОС может не предоставлять.

  • Ведение журнала / аудит: функции безопасности большинства современных баз данных должны предоставлять вам запись о том, кто обращался к каждому файлу.

  • Конфиденциальность данных: проще ли шифрование данных в выбранной вами базе данных, чем в вашей ОС?

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

Похоже, что это может быть не обязательно «файловая система» и «база данных», а скорее сравнение управления данными, доступа и защиты? Может быть, что-то вроде:

  • Защита с помощью репликации и / или обнаружения / исправления ошибок от потери
  • Управление хранилищем с дедупликацией и / или возможностью расширения
  • Доступность клиента (собственное или настраиваемое приложение / интерфейс)
  • Варианты отчетности