PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : neue Programmstruktur, PHP/mySQL



h2o471
26.05.07, 11:43
hallo alle miteinander,

ich werde im juni für meine kunden ein shopsystem zur verfügung stellen. es ist soweit fertig, ich überlege nur ob ich die struktur ändern soll um es leichter wartbar zu machen.
1. fall
im moment meldet ein neuer user einen shop an und ich lege für ihn eine datenbank an (enthält nur 4 tabellen), und erstelle ihm in dem hauptordner einen ordner mit seinen programmdateien. Dh. ich kann die einzelnen shops genau an die user anpassen wenn diese es wünschen. jetzt hab ich mir folgende frage gestellt:
kann ich vielleicht die ganzen kleinen datenbanken zusammenlegen? ich würde dann statt der "tbl_artikel" die "tbl_[username]_artikel" haben. mit welcher variante habe ich die beste performance?

2. fall
angenommen ich würde die ganzen user in nur einen ordner leiten und entsprechend der $_SERVER['HTTP_HOST']; verschiedene spezifische werte und tabellen aufrufen? wie siehts da mit der performance aus. vom standpunkt der wartbarkeit wärs ja ein riesensprung. :-)
im ersten durchgang bis september erwarte ich um die 50 kunden.

bis dann und danke für eure hilfe
grüße aus heidelberg
mirko jerschabek

psy
26.05.07, 11:48
Zu Punkt 1.

Es kommt halt auf die Datenmengen drauf an, die gespeichert werden.
Die Performance wird wohl mit einzelnen Tabellen besser sein als wenn du eine große hast.
Andererseits solltest du auch an die Wartbarkeit denken, bei vielen einzelnen Tabellen kann man mal schnell den Überblick verlieren.

h2o471
26.05.07, 12:54
hallo,

so hab ich mir das auch schon gedacht.
die anzahl der tabellen bleibt gleich, sie würden dann nur in einer datenbank stecken. die größte tabelle wird die mit den artikeln. rechne ich im anfang mit 50 shopbetreibern a 100 artikel dann hätte ich 50 x tbl_artikel a 100 spalten a 30 zeilen.

die restlichen tabellen tbl_user (fürs admin und resellerlogin) (der kunde kann ohne login bestellen), tbl_bestellungen (wird vom betreiber eh immer geleert) und die tbl_suchcache (einträge älter als 3 stunden werden automatisch gelöscht) haben nur wenig inhalt.

wie sieht es denn mit der performance in punkto php aus. hab ich nachteile wenn ich alle user über die gleichen scripte abarbeite?

gruss
mirko

sysop
26.05.07, 19:30
was denkst du, wieviele individuelle anpassungen musst du machen ?
wenn du erwartest, dass jeder ein eigenes süppchen kochen möchte, dann würde ich variante 1 vorziehen, ansonsten variante 2.
die performance hängt von den datenmengen ab. bei einem webshop mit sagen wir 1.000 artikeln je user wären das ca 30.000 datenzeilen je user also quasi nichts für eine sql datenbank, je nachdem, wie du deinen webshop aufgebaut hast.

h2o471
26.05.07, 19:42
ja, das mit den datenmengen ist so eine sache und nicht vorhersehbar. wenn ich alles mit nur einer datenbank starte dann verfolge ich folgendes konzept.
1.) das gesamte system füllt sich mit shopbetreibern
2.) alle verwenden eine datenbank, aber unterschiedliche tabellen
3.) übersteigt zB. beim 50. user die datenmenge 5000 zeilen so stecke ich alles ab dem 51. user in die zweite datenbank usw.

ich hab vor den leuten eine standartvariante anzubieten in der sie nu die artikel und bestimmte texte (startseite, versandkosten, abg's und kontakt) selbst ändern können. wenn jemand bereit ist etwas mehr dafür auszugeben so kann ich ihm sein paket auch explizit einrichten (auf wunsch auch mit extra datenbank). ich denke aber die masse wird den standartshop nehmen.

bleibt noch die frage offen ob ein ordner mit allen php dateinen die gleiche performance bringt wie einzelne shopordner.

grüße aus heidelberg
mirko

sysop
26.05.07, 19:59
das sollte eigentlich fast egal sein, da der webserver (apache nehme ich an) sowieso ab einer gewissen anzahl an laufenden scripten eine neue "session" öffnet, egal ob alles in einem verzeichnis oder in verschiedenen.
anders wäre das, wenn du z.b. auch text-dateien oder config-files erstellst, die gespeichert werden sollen, dann sollten es eigene verzeichnisse sein um mit eventuellen locks keine probleme zu bekommen.

h2o471
26.05.07, 20:20
logs werden nur von der hauptseite des shops mitgeschnitten. jeder betreiber arbeitet unter einer eigenen subdomain.
dann denke ich mal, dass ich erst mal alles "zusammenhaue" und abwarte was passiert. :-)

danke euch allen für die hilfe.
wers mal sehen will kann in nem monat unter www.sehop.de gucken ;-)

gruss
mirko