Hallo Forum,
ich habe ein CMS entwickelt, daß ich über eine monatliche Umlage an verschiedene Interessenten (bisher 10) "vermiete". Alle Kundenaccounts laufen sind über eine eigene Internetadresse zu erreichen und durch vielfältige Einstellungen auch sehr individuell gestaltbar. Dennoch basieren alle Accounts auf identischen Scripten die zentral im Dateisystem hinterlegt sind. Das CMS-System ist also sehr eng mit dem Server verflochten und und läuft auch nur auf diesem. Das vereinfacht natürlich die Pflege und Weiterentwicklung, weil alle Kundenaccounts gleichermaßen unmittelbar angesprochen werden.
Und wenn ich jetzt Veränderungen/Weiterentwicklungen an den Scripten vornehme muß bzw. will ich natürlich auch Änderungen an der dazugehörigen MySql-Datenbankstruktur vornehmen. Und da fängt das Problem an: Während die Scripte für alle Accounts identisch sind, gibt es für jeden Kunden eine eigene Datenbank, die von der Struktur jedoch überall identisch ist (mit jeweils 19 Tabellen). Bei Veränderungen muß ich also derzeit zehn Datenbanken anpassen. Das ist arbeitsaufwendig und die Fehlerquote ist auch relativ hoch.
Ursprünglich hatte ich die Konzept (je CMS-Account eine eigene Datenbank) gewählt, weil ich mir davon eine eine bessere Performance versprochen habe. Mittlerweile machen mir aber die Nachteile (siehe oben) zu schaffen und ich überlege, die einzelnen Datenbanken in eine einzelne zu überführen (Es sollen ja noch mehr Kunden dazukommen). Ich müßte lediglich für jeden Account eine Account_ID festlegen und die jeweiligen Datensatz-IDs nach einem bestimmten System konvertieren.
Jetzt interessiert mich Eure Meinung. Ist es sinnvoll, daß gesamte CMS-System mit allen Accounts auf einer Datenbank laufen zu lassen? Oder sollte es weiterhin für jeden Account eine Datenbank geben? Wie kann ich die Datenbankstrukturen dann aber effektiv synchronisieren? Wie wären die Performance-Verluste bei einer "großen" Datenbank zu beurteilen. Und welche Größe sollte eine MySql-Datenbank nach Möglichkeit nicht überschreiten?
Ich freue mich auf Eure Antworten ;-)
Viele Grüße
Frank Dell