Domanda

Mi chiedo se è meglio usare MySQL o utilizzare i file per memorizzare i dati? Ciò che è più sicuro, ciò che è più veloce? Sto parlando di PHP e MySQL.

È stato utile?

Soluzione

E 'del tutto dipende dalle vostre esigenze e di impostazione.

Per piccole quantità di dati che non richiede l'esecuzione di query complesse, i file sono più veloci. cache del sito sono un esempio.

Per i set di dati più grandi o set con più struttura, un database vi permetterà di interrogare i dati in modi più avanzati.

In termini di sicurezza, i file possono essere protetti (utilizzando le autorizzazioni) e conservati al di fuori della web root. I database possono essere bloccati per determinati host e possono avere utenti con differenti ruoli / permessi.

Altri suggerimenti

Come detto, dipende dai dati, ma anche sulla vostra attuale collo di bottiglia.
Se l'applicazione è in esecuzione su un server che è già a corto di risorse di IO, si potrebbe preferire in ogni caso uno storage di rete di tipo.

Le questioni di sicurezza sono più legati alla messa a punto e le buone pratiche rispetto alla tecnologia che viene utilizzata. Se si scrive i file, è necessario assicurarsi che essi non sono scaricabili. Se si utilizza un database, è necessario prendersi cura di SQL injection e così via ...

Vorrei solo sottolineare che non si è limitato ai file e database relazionali.

È inoltre possibile utilizzare memcached per memorizzare i dati in memoria (ideale per la cache, per esempio). NoSQL database come Redis sono anche un'opzione.

  • Database (ad esempio MySQL):
    Pro: ricercabile, in grado di gestire dati complessi e strutturati, possono essere ospitati su un sever diversa,
    persistente Contro: lento
    tipico utilizzo: la memorizzazione dei dati di business
  • File:
    Pro: molto facile da installare, abbastanza veloce,
    persistente contro: non adatto per gestire i dati molto complessi, non ricercabili, consumerà host del server IO risorse, non che
    veloce uso tipico: i file, i file di cache template log
  • NoSQL (cioè Redis):
    Pro: veloce, può essere configurato su un host remoto,
    persistente Contro: non facilmente ricercabile, non adatto per fortemente strutturati dati
    uso tipico: hack prestazioni (ricerca)
  • Memoria:
    Pro: il più veloce !, possono essere installati su un host remoto Contro: stessi come NoSQL +
    non persistente uso tipico: oggetto di caching

dipende dai dati.

A meno che non è davvero banale, però, si può anche usare MySQL. In realtà non c'è un ovvio svantaggio.

In linea generale, si vuole una sorta di database o archivio di oggetti per memorizzare i dati in quanto fornisce un'interfaccia pulita per recuperare i tuoi dati. Tuttavia, è molto dipendente da dati che si sta tentando di memorizzare.

Se si sta facendo un sito web con i dati modificabili dall'utente, probabilmente si desidera utilizzare MySQL o qualche altro database. Se sono solo parlando digitando su alcuni documenti, il sovraccarico di un database è probabilmente più problemi di quanto ne vale la pena.

Al fine di fornire una risposta migliore, abbiamo bisogno di sapere che tipo di dati si memorizzano e come si desidera accedervi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top