Чтобы ответить на вопрос прямо: да, есть преимущества, но это зависит от вашей общей реализации.
Вот пара вопросов, которые следует учитывать (относительно того, почему это может быть активом).
- Целостность в случае отказа. В зависимости от того, как выполняется процесс, если что-то ужасное происходит во время передачи, наличие файлов показывает вам, где/почему возникла проблема.
- Если ваши базы данных физически разделены, файлы будут сэкономить много трафика накладных расходов между серверами.
- Обычно проще отлаживать файл, а затем процесс. Легко видеть проблему при экспорте в несколько читаемый файл, а также отслеживать ту же ошибку во время выполнения.
Причины против:
- файлы занимают дополнительное пространство вы не хотите использовать.
- Медленнее в целом (поскольку для этого по сути требуется чтение базы данных, сохранение в файл, загрузка из файла, запись в базу данных).
- Он добавляет дополнительную точку отказа. Вы должны читать и записывать в базу данных, а конвертировать в удобный формат, независимо от реализации файла. Однако добавленный уровень использования файла увеличивает риск сбоя (например, недостающие файлы, поврежденные, слишком большие и т. Д.).
Поскольку память и пропускная способность являются предметом беспокойства в вашей ситуации, здесь я бы рекомендовал. Если у вас достаточно памяти для размещения файлов во время передачи (например, они являются временными), то переносите их с использованием файлов, так как это позволит сэкономить вам пропускную способность. После этого удаление файлов затрудняет хранение данных.
Я отправил ответ, но понял после публикации, что может потребоваться некоторое разъяснение ... Есть ли какие-либо физические (аппаратные) ограничения? Например, обработка или хранение, сеть и т. Д.? – Sh4d0wsPlyr
@ Sh4d0wsPlyr, может быть ограничение хранения и пропускной способности. –