Лучше ли использовать mysql или файлы для хранения данных?

Мне интересно, лучше ли использовать mysql или использовать файлы для хранения данных? Что безопаснее, что быстрее? Я говорю о php и mysql.

Solutions Collecting From Web of "Лучше ли использовать mysql или файлы для хранения данных?"

Это полностью зависит от ваших требований и настроек.

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

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

С точки зрения безопасности файлы могут быть защищены (с разрешениями) и сохранены вне корневого каталога. Базы данных могут быть заблокированы для определенных хостов и могут иметь пользователей с разными ролями / разрешениями.

Как сказано, это зависит от данных, но и от вашего текущего узкого места.
Если ваше приложение работает на сервере, который уже имеет короткие ресурсы IO, вы можете в любом случае выбрать хранилище сетевого типа.

Вопросы безопасности более связаны с настройкой и передовыми методами, чем с используемой технологией. Если вы пишете файлы, вам необходимо убедиться, что они не загружаются. Если вы используете базу данных, вам нужно позаботиться о SQL-инъекции и так далее …

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

Вы также можете использовать memcached для хранения данных в памяти (например, для кеша). Базы данных NOSQL, такие как Redis , также являются опцией.

  • База данных (т.е. MySQL):
    профи: доступен для поиска, может обрабатывать сложные и структурированные данные, может размещаться на разных уровнях, стойких
    минусы: медленные
    типичное использование: хранение бизнес-данных
  • файлы:
    профи: очень прост в настройке, довольно быстрый, настойчивый
    cons: не подходит для обработки очень сложных данных, а не для поиска, будет потреблять ресурсы ввода-вывода сервера, а не то, что быстро
    типичное использование: файлы журналов, файлы кэша шаблонов
  • NOSQL (т.е. Redis):
    профи: быстрый, может быть настроен на удаленном хосте, постоянный
    минус: не легко найти, не подходит для сильно структурированных данных
    типичное использование: служебные хаки (поиск)
  • Память:
    профи: самый быстрый !, можно настроить на удаленных хостах: такие же, как NOSQL + не постоянны
    типичное использование: кэширование объектов

Зависит от данных.

Если это действительно тривиально, вы можете также использовать mysql. На самом деле нет очевидного недостатка.

Вообще говоря, вам понадобится какая-то база данных или хранилище объектов для хранения ваших данных, поскольку она обеспечивает чистый интерфейс для извлечения ваших данных. Однако он очень зависит от данных, которые вы пытаетесь сохранить.

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

Чтобы обеспечить лучший ответ, нам нужно знать, какой тип данных вы храните и как вы хотите получить к нему доступ.