Подтвердить что ты не робот

Чтение/запись файлов с помощью чтения/записи базы данных

Что более дорого стоит в плане ресурсов и эффективности, операции чтения/записи файлов или операции чтения/записи базы данных

4b9b3361

Ответ 1

Я изначально собирался сказать, что чтение/запись базы данных, руки вниз, поскольку это будет включать требуемый файл io поверх служебных данных БД, но затем понял, что это не так просто. Если вы загрузили всю свою БД в память, чтение будет почти мгновенным, так как в нем нет файла ввода-вывода.

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

Плохо настроенная база данных, с другой стороны, будет на порядок медленнее, чем любой IO на основе файлов. Настройка БД. Много.

Ответ 2

Это своего рода загруженный вопрос. О каких файлах размера мы говорим? Гигабайт? Кроме того, какой тип и размер БД? Я часто использую комбинацию. Вы хотите контролировать целостность уровня данных? Если это так, вы можете оставить это в БД, иначе вы должны контролировать все это на уровне приложения.
Есть так много факторов, чтобы принять правильное решение по этому вопросу. Например, когда я создаю временные данные, которые мне не нужны, я использую File, но если я использую данные, я хочу сохранить или скопировать, тогда я использую DB. Это в сочетании с архитектурой важно. Если аппаратное обеспечение, лицензирование или средство являются проблемой, возможно, вам не нужна инфраструктура серверов БД и т.д. Но если у вас есть ресурсы, то добавление уровня БД может быть правильным выбором.

Ответ 3

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