2 Stimmen

Ist es besser, mysql oder Dateien zum Speichern von Daten zu verwenden?

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.

6voto

Adam Hopkinson Punkte 27521

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.

1voto

Benoît Vidis Punkte 3826

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

0voto

Rik Heywood Punkte 13598

Das hängt von den Daten ab.

Wenn es nicht wirklich trivial ist, können Sie aber auch mysql verwenden. Es gibt nicht wirklich einen offensichtlichen Nachteil.

0voto

Topher Fangio Punkte 19756

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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X