Hello Phil,
Ich wollte mich kurz nach Eurer Meinung erkundigen. Ich arbeite seit langem mit MySQL habe jetzt aber einen Fall in welchem mir eine MySQL-Datenbank übertrieben und unpraktisch vorkommt. Als Alternative speichere ich jetzt einen serialized-String in eine Textdatei. Klappt bestens. Meine Frage lautet: Spricht etwas gegen diese Methode sofern der Einsatz in kleinem Rahmen erfolgt? Sicherheit? Geschwindigkeit?
Wenn ein nur begrenztes Projekt mit wenig Daten gebaut werden soll, sind Flatfiles durchaus eine sinnvolle Alternative. Der Vorteil ist, dass die Sicherung des Projektes "in einem Rutsch" stattfinden kann. Es muss lediglich die Datenveränderung für einen Moment unterbunden werden und alle Dateien, die zur Domain gehören, in ein TAR-File kopiert werden (incl. Rechten). Dann kann das Projekt bereits wieder weiterlaufen. Beim Rücksichern muss nur das TAR-File entpackt werden, und es kann losgehen.
Dennis und ich haben hier mal ein paar Überlegungen zu Flatfile-Lösungen angestellt.
http://tutorial.riehle-web.com/scripts/index.php#flatbox
Der Vorteil einer Datenbanklösung zeichnet sich dann ab, wenn der Datenbestand größer wird, die Verknüpungen zwischen den Daten komplexer werden, usw.
Da der Datenbankserver getrennt vom Request als Dienst läuft, muss nicht bei jedem Request der gesamte relevante Datenbestand geladen werden, sondern es müssen nur diejenigen Daten gesucht und geholt werden, die den Request befriedigen können.
Außerdem muss nicht für jede Domain ein eigener Datenbankserver laufen.
Die Sicherheit ist diejenige, die man von einem Datenbankmanagementsystem erwarten kann.
Was jedoch bei beiden Systemen immer wieder gerne vergessen wird, ist der konkurrierende Betrieb im zustandslosen Bereich. Die Eigenheiten von HTTP/s werden nicht einmal mangelhaft berücksichtigt, sondern nur ungenügend. Immer, wenn mehrere Roundturns für das Hinzufügen, Verändern oder Löschen von Daten benötigt werden, muss dies entspechend berücksichtigt werden. Bei MySQL muss man dies noch selber im Datenmodell und in der API / Sessionverwaltung tun.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg