Hi all.
Ich arbeite sehr gerne mit PHP/MySql.
Jetzt soll ich für einen kleinen Provider ein Forum, Gästebuch, Counter, Umfrage etc. machen.
Der will das jedem Kunden kostenlos anbieten.
Der macht sich Sorgen das dann die ca. 200 Datenbanken die er dann für jeden Kunden anlegen müsste performance einbusen bei seinen Serverlein gäbe und
fragt ob es mit Textfiles nicht besser wäre.
Von Server - Performance hab ich wenig schimmer.
Ich hoffe Ihr habt mir ein paar Argumente die für MySql und gegen Textfiles sprechen, insbesondere hinsichtlich der Serverbelastung.
Der macht sich Sorgen das dann die ca. 200 Datenbanken die er
dann für jeden Kunden anlegen müsste
er will mehrere hundert Datenbanken anlegen?!
Ähm… verzeih wenn ich zweifle. Bitte frag noch mal nach, was er in welcher Größenordnung zu tun vorhat.
ob es mit Textfiles nicht besser wäre.
Wenn er lediglich Daten hinzufügen möchte, ohne sie auszulesen, sind Textfiles unübertroffen. Will er gelegentlich auch Daten auslesen, ist er selbst schuld, wenn er das ohne Datenbank macht.
Ich hoffe Ihr habt mir ein paar Argumente die für MySql und
gegen Textfiles sprechen, insbesondere hinsichtlich der
Serverbelastung.
Daten in Textfiles können nur schwerlich zueinander referenzieren. Wenn man doch sowas implementiert, dann erzeugt man ein relationales Datenbanksystem, welches bereits in millionenfach ausgetesteter Form vorliegt.
Der macht sich Sorgen das dann die ca. 200 Datenbanken die er
dann für jeden Kunden anlegen müsste
er will mehrere hundert Datenbanken anlegen?!
Neee ich hab mich falsch augedrück :]
Für jeden Acount eine. Damit die nicht gegenseitig auf Ihre Datenbanken zugreifen können.
Also ich denke Textfiles sind echt zu umständlich. Es gibt zwar auch Shops aus Textfiles… aber das ist sicher voll aufwendig.
Und ich könnte mir Vorstellen auch deshalb eine eher größere Serverbelastung.
hm, ich vermute eher, es geht um mehrere User innerhalb _einer_ Datenbank. Oder will er wirklich pro Account eine MySQL-Instanz installieren, mit jeweils eigenen Ports usw.? _Das_ wäre in der Tat ein wenig unsinnig
Also ich denke Textfiles sind echt zu umständlich. […]
Und ich könnte mir Vorstellen auch deshalb eine eher größere
Serverbelastung.
Wenn die Dateien nicht nur geschrieben, sondern auch gelesen werden sollen, dürfte die Belastung höher sein als bei einem DBMS.
hm, ich vermute eher, es geht um mehrere User innerhalb
_einer_ Datenbank. Oder will er wirklich pro Account eine
MySQL-Instanz installieren, mit jeweils eigenen Ports usw.?
_Das_ wäre in der Tat ein wenig unsinnig
Doch er will schon mehrere DB, da er bei einer Datenbank annimmt das die Benutzer sich gegenseitig Ihre Daten manipulieren könnten.
Diesen Einwand finde ich gar nicht so abwägig. Schlieslich können die User den Datenbankzugang einfach in dem db-config-file.php3 der Admin Scripte lesen.
Leider kenne ich mich mit Serverkonfiguration wenig aus und der Provider wiederum wenig mit PHP. Dadurch scheints ein Kommunikationsproblem zu geben.
Doch er will schon mehrere DB, da er bei einer Datenbank
annimmt das die Benutzer sich gegenseitig Ihre Daten
manipulieren könnten.
ich kenne mich mit der konfiguration im einzelnen auch nicht aus, weiß aber, dass es ein entsprechendes rechte-system eigentlich in jeder db gibt. du kannst selbst das ansehen von daten, die ein anderer user angelegt hat, einschränken. kümmere dich doch lieber mal um ein gutes mysql-buch, das etwas detaillierter auf die frage der rechte-verteilung eingeht. für jeden user eine eigene db anzulegen ist performance-mäßig nicht so toll.
hm, ich vermute eher, es geht um mehrere User innerhalb
_einer_ Datenbank. Oder will er wirklich pro Account eine
MySQL-Instanz installieren, mit jeweils eigenen Ports usw.?
_Das_ wäre in der Tat ein wenig unsinnig
Eine mySQL Instanz kann x „Datenbanken“ beinhalten, ich weiss nicht wie das bei anderen RDBMS ist, aber auf jeden Fall läuft nur ein mySQL Server indem verschiedene „Datenbanken“ mit Ihren Tabellen wieder laufen.
Es ist durchaus sinnvoll in diesem Zusammenhang für jeden User eine „Datenbank“ anzulegen und die Rechte des users dann genau auf eine (seine) Datenbank zu beschränken.
du kannst natürlich mehrere Datenbanken anlegen, halte ich aber für umständlich. (denke mal dran, dass du die alle backupen musst etc…)
du kannst aber über eine rechtestruktur mehrere gleichnamige tabellen erzeugen, sprich für jeden benutzer eine
zugreifen tust du dann mit select datenbank.benutzername.tabellenname
ob es aber sinnvoll ist, das jeder benutzer die Datenstruktur erstellen/ändern darf, glaube der ansatz ist nicht so vorteilhaft.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]