4 Stimmen

MySQL vs. Datei-Datenbanken

Ich werde an einem hausgemachten Blog-System in PHP arbeiten und frage mich, welche Art der Datenspeicherung die schnellste ist. Ich könnte in die MySQL-Richtung gehen, oder ich könnte mit meinem eigenen kleinen Weg zu tun, die Speicherung aller Informationen (in JSON kodiert) in Dateien ist.

Welcher Weg wäre der schnellste, MySQL oder JSON-Dateien?

0 Stimmen

Was ist mit SQLite (dateibasierte DB)

6voto

E.J. Brennan Punkte 43746

Für eine kleine Einzelbenutzer-"Datenbank" wäre ein Dateisystem wahrscheinlich schneller - bei zunehmender Größe und Komplexität ist ein Datenbankserver wie MySQL oder SQL Server kaum zu schlagen.

0 Stimmen

Der Nachteil von FS ist, dass Sie nur einen Schlüssel (Dateinamen) haben. Alle anderen Daten sind undurchsichtig. Auch andere Schlüsselbeschränkungen werden nicht erzwungen.

4voto

Martin York Punkte 245363

Ich würde auf jeden Fall eine DB-Option wählen (da Sie in der Lage sein müssen, Dinge zu suchen und zu indizieren). Das bedeutet aber nicht, dass Sie einen vollständig realisierten separaten DB-Dienst benötigen.

MySQL ist definitiv die skalierbarere Lösung.
Der Nachteil ist jedoch, dass Sie einen separaten Dienst einrichten und pflegen müssen.

Andererseits gibt es DBs, die dateibasiert sind und trotzdem den Zugriff mit Standard-SQL ermöglichen (SQLite SQLite.org) fällt mir da ein. Sie erhalten die Vorteile von SQL, müssen aber keinen separaten Dienst unterhalten. Der Nachteil ist, dass sie nicht so skalierbar sind.

2voto

JosefAssad Punkte 3849

Verzeihen Sie mir, wenn ich Ihre Frage nicht direkt beantworte, aber da es sich um ein selbstgebautes Blogsystem handelt, lohnt es sich wirklich, Zeit damit zu verbringen, darüber nachzudenken, welches Speicher-Backend im Moment schneller ist?

Sie werden nicht vom ersten Tag an 10.000 gleichzeitige Nutzer haben, und es klingt nicht so, als ob es in absehbarer Zeit in nennenswertem Umfang skaliert werden müsste.

Warum nicht einfach mit MySQL als eine vernünftige Wahl als eine schnelle bleiben? Wenn Sie wirklich das Gefühl haben wollen, dass Sie auf Geschwindigkeit ausgelegt sind, können Sie stattdessen Sqlite einbauen.

1voto

Ross Punkte 44536

Ich würde mich für eine MySQL-Datenbank entscheiden - einfach weil sie leichter zu verwalten ist.

JSON ist nicht wirklich ein Format zum Speichern, sondern zum Senden von Daten an JavaScripts. Wenn Sie Daten in Dateien speichern wollen, schauen Sie sich XML o Serialisiertes PHP (ich vermute, dass Sie eher nach JSON suchen).

0 Stimmen

XML ist auch nicht für die Speicherung gedacht, sondern für den Datentransport zwischen verschiedenen Anwendungen.

0 Stimmen

Es ist auch nicht unbedingt sinnvoll, eine serialisierte Form langfristig zu speichern, da sich das Serialisierungsformat in einer Weise ändern könnte, die mit früheren Versionen nicht kompatibel ist.

0 Stimmen

@Pim, XML ist tatsächlich großartig für die Speicherung, wenn Sie Datenportabilität wünschen und XPath/SimpleXML sofort nutzen möchten.

1voto

Rydell Punkte 4179

Da Sie der Meinung sind, dass Sie keine komplexe relationale Struktur benötigen, könnte dies eine gute Gelegenheit sein, etwas Unkompliziertes auszuprobieren.

Überprüfen Sie CouchDB Es handelt sich um eine dokumentenbasierte, schemafreie (aber dennoch indizierbare) Datenbank. Die Datenbank besteht aus Dokumenten, die benannte Felder enthalten (z. B. Schlüssel-Wert-Paare).

Viel Spaß....

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