2010-07-20 2 views

ответ

10

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

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

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

+0

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

3

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

0

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

Смежные вопросы