Pergunta

Eu estou querendo saber se é melhor para arquivos MySQL ou uso de uso para armazenar dados? O que é mais seguro, o que é mais rápido? Eu estou falando sobre php e mysql.

Foi útil?

Solução

Ele depende completamente suas necessidades e configuração.

Para pequenas quantidades de dados que não requerem consulta complexa, os arquivos são mais rápidos. caches do site são um exemplo.

Para maiores conjuntos de dados ou conjuntos com mais estrutura, uma base de dados permite-lhe consultar os seus dados de formas mais avançadas.

Em termos de segurança, os arquivos podem ser protegidos (usando permissões) e armazenados fora da raiz web. Bases de dados pode ser bloqueado para certos hosts e pode ter usuários com diferentes papéis / permissões.

Outras dicas

Como disse, isso depende dos dados, mas também em seu gargalo atual.
Se seu aplicativo está sendo executado em um servidor que já está curto em recursos de IO, você pode preferir em qualquer caso, um armazenamento de tipo de rede.

As questões de segurança estão mais relacionadas com a configuração e as boas práticas do que com a tecnologia que é utilizada. Se você escrever arquivos, você precisa se certificar que não estão disponíveis para download. Se você usar um banco de dados, você precisa cuidar de injeção SQL e assim por diante ...

Eu apenas gostaria de salientar que você não está restrito a arquivos e bancos de dados relacionais.

Você também pode usar memcached para armazenar dados na memória (ideal para o cache, por exemplo). NoSQL bancos de dados como Redis também são uma opção.

  • banco de dados (ou seja, MySQL):
    Prós: pesquisável, pode lidar com dados complexos e estruturados, pode ser hospedado em um sever diferente, persistente
    Contras: lento
    uso típico: o armazenamento de dados de negócios
  • Files:
    Prós: muito fácil de configurar, muito rápido, persistente
    Contras: não é adequado para lidar com dados muito complexos, não pesquisáveis, vai consumir recursos de IO host do servidor, não que rápido
    uso típico: arquivos de log, arquivos de cache template
  • NoSQL (ie Redis):
    Prós: rápido, pode ser configurado em um host remoto, persistente
    Contras: não é facilmente pesquisável, não é adequado para fortemente estruturada
    dados uso típico: hacks de desempenho (busca)
  • Memória:
    Prós: o mais rápido !, pode ser configurado em um host remoto contras: mesmos como NoSQL + não persistentes
    uso típico: cache de objetos

depende dos dados.

A menos que seja que realmente trivial, você pode também usar mysql. Não há realmente uma desvantagem óbvia.

De um modo geral, você vai querer algum tipo de banco de dados ou armazenamento de objetos para armazenar seus dados, porque fornece uma interface limpa para recuperar seus dados. No entanto, é muito dependente dos dados que você está tentando loja.

Se você está fazendo um site com o usuário de dados modificáveis, você provavelmente vai querer usar MySQL ou algum outro banco de dados. Se você está falando apenas de digitação de alguns documentos, a sobrecarga de um banco de dados é provavelmente mais problemas do que vale a pena.

A fim de fornecer uma resposta melhor, precisamos saber que tipo de dados que você está armazenando e como você quiser acessá-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top