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

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

3 ответа

Решение

Базы данных являются базами данных по очень веской причине, они НАСТОЯТЕЛЬНО оптимизированы для: а) эффективного хранения ваших данных и б) их эффективного извлечения.

Вы НЕ МОЖЕТЕ выполнять запросы к текстовому файлу, поэтому нет необходимости сортировать, упорядочивать, оптимизировать и т. Д. Что касается безопасности, текстовый файл не защищен паролем, и кто-то может легко просмотреть содержимое файла, это не так с база данных. Список, конечно, бесконечен, и вы действительно должны использовать базу данных!

Если вы ищете решение, похожее на текстовый файл, попробуйте SQLite, http://www.sqlite.org/

Служебные данные индекса базы данных означают, что CSV-файл или аналогичный файл будет более экономичным. Предполагая, что база данных использует дерево B+ или аналогичное для своего файла данных (т. Е. MySQL, использующий InnoDB), файл CSV (при условии использования fs, основанного на приличном экстенте) также будет более эффективным при последовательной обработке.

тем не мение

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

Еще

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

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

Помимо того, что уже было упомянуто, базы данных обеспечивают одновременный доступ, восстановление после ошибок, распространение по сети (клиент / сервер) и транзакции.

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

Другие вопросы по тегам