Ich frage mich, ob es besser ist, mysql zu verwenden oder Dateien zum Speichern von Daten zu verwenden? Was ist sicherer, was ist schneller? Ich spreche über php und mysql.
Antworten
Zu viele Anzeigen?Das hängt ganz von Ihren Anforderungen und Ihrer Einrichtung ab.
Bei kleinen Datenmengen, die keine komplexen Abfragen erfordern, sind Dateien schneller. Ein Beispiel dafür sind Website-Caches.
Bei größeren oder besser strukturierten Datensätzen können Sie mit einer Datenbank Ihre Daten auf erweiterte Weise abfragen.
Was die Sicherheit betrifft, so können Dateien geschützt (mit Hilfe von Berechtigungen) und außerhalb des Web-Roots gespeichert werden. Datenbanken können für bestimmte Hosts gesperrt werden und können Benutzer mit unterschiedlichen Rollen/Berechtigungen haben.
Wie gesagt, das hängt von den Daten, aber auch von Ihrem aktuellen Engpass ab.
Wenn Ihre Anwendung auf einem Server läuft, der bereits knapp an IO-Ressourcen ist, sollten Sie auf jeden Fall einen netzwerkartigen Speicher bevorzugen.
Sicherheitsprobleme hängen eher mit der Einrichtung und guten Praktiken als mit der verwendeten Technologie zusammen. Wenn Sie Dateien schreiben, müssen Sie dafür sorgen, dass sie nicht heruntergeladen werden können. Wenn Sie eine Datenbank verwenden, müssen Sie sich um SQL-Injection kümmern usw...
Ich möchte nur betonen, dass Sie nicht auf Dateien und relationale Datenbanken beschränkt sind.
Sie können auch Folgendes verwenden memcached um Daten im Speicher zu speichern (ideal z. B. für den Cache). NOSQL Datenbanken wie Redis sind ebenfalls eine Option.
- Datenbank (z.B. MySQL):
Vorteile: durchsuchbar, kann komplexe und strukturierte Daten verarbeiten, kann auf einem anderen Server gehostet werden, persistent
Nachteile: langsam
typische Verwendung: Speicherung von Geschäftsdaten - Dateien:
Vorteile: sehr einfach einzurichten, recht schnell, beständig
Nachteile: nicht geeignet für die Verarbeitung sehr komplexer Daten, nicht durchsuchbar, verbraucht IO-Ressourcen des Server-Hosts, nicht dass schnell
typische Verwendung: Protokolldateien, Vorlagen-Cache-Dateien - NOSQL (z.B. Redis):
Vorteile: schnell, kann auf einem entfernten Host eingerichtet werden, beständig
Nachteile: nicht leicht durchsuchbar, nicht geeignet für stark strukturierte Daten
typische Verwendung: Performance-Hacks (Suche) - Gedächtnis:
Vorteile: Der schnellste!, kann auf einem entfernten Host eingerichtet werden Nachteile: wie NOSQL + nicht persistent
typische Verwendung: Objekt-Caching
Im Allgemeinen werden Sie Ihre Daten in einer Datenbank oder einem Objektspeicher speichern wollen, da dies eine saubere Schnittstelle zu abrufen. Ihre Daten. Es hängt jedoch sehr stark von den Daten ab, die Sie zu speichern versuchen.
Wenn Sie eine Website mit vom Benutzer änderbaren Daten erstellen, möchten Sie wahrscheinlich MySQL oder eine andere Datenbank verwenden. Wenn es Ihnen nur darum geht, ein paar Dokumente abzutippen, ist der Aufwand für eine Datenbank wahrscheinlich mehr Mühe als wert.
Um eine bessere Antwort geben zu können, müssen wir wissen, welche Art von Daten Sie speichern und wie Sie darauf zugreifen wollen.