Лучше использовать MySQL или файлы для хранения данных? - PullRequest
2 голосов
/ 05 января 2010

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

Ответы [ 4 ]

6 голосов
/ 05 января 2010

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

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

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

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

1 голос
/ 08 января 2010

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

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

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

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

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

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

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

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

0 голосов
/ 05 января 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...