Mehrere Skripte nutzen eine Datenbank: Nachteile?

Maxefix

Grand Admiral Special
Mitglied seit
20.01.2003
Beiträge
6.223
Renomée
176
  • SIMAP Race
  • QMC Race
Hallo,

bei vielen Skripten wie Foren, Gästebücher o.ä. kann man ja bei der Installation einen Tabellenpräfix angeben. Damit kann man ja dann theoretisch z.B. unendlich viele Foren in eine Datenbank installieren. Aber hat das Nachteile? Wenn nein, wäre es ja unsinnig für mehrere Datenbanken zu zahlen, wenn eine einzige auch ausreichen würde *noahnung*

MFG Max
 
Naja, sinnvoll währe das nicht, da selbst wenn die Foren sich durch ihre Tabellennamen nicht in die Quere kommen, so würde doch jeder Zugriff auf die DB diese kurz blockieren ( um die Konsistenz zu sichern) und mit steigender Uuer / Foren Zahl, würden die Timeouts mitsteigen, was bei dedizierten Datenbanken nicht so auftreten würde.
 
Also normalerweise gibt es keine Probleme! Es wird halt einfach nur etwas langsamer, wobei das auch darauf ankommt wie stark besucht und vor allem genutzt die seite ist
 
Achso, das wusste ich nicht. Dann haben mehrere Datenbanken schon nen Vorteil, wobei man den bei mir wahrscheinlich nicht merkt. Die drei Gästebücher die in einer Datenbank sind haben zusammen vll 10 Hits am Tag *buck* Danke für eure Antworten :)

MFG Max
 
Zuletzt bearbeitet:
Getrennt Datenbanken sind dann notwendig, wenn sie sehr groß sind. Oft sind sie auf 8 MB geschränkt.
 
Das hängt davon ab, auf welchem Server die Datenbank läuft. Gleiches gilt für das hochladen von Dateien. Die Dateigröße kann auch unterschiedlich beschränkt sein.
 
8MB sicher ? wohl eher GB oder.

Waren es nicht 2GB!? Oder war das nur bei MySQL Datenbanken!? Ich bin der Meinung irgendwo mal gelesen zu haben, das mysql datenbanken nur maximal 2 gb groß sein dürfen! muss ich mal goooogle anwerfen, wenn ich zeit hab!
 
Naja, sinnvoll währe das nicht, da selbst wenn die Foren sich durch ihre Tabellennamen nicht in die Quere kommen, so würde doch jeder Zugriff auf die DB diese kurz blockieren ( um die Konsistenz zu sichern) und mit steigender Uuer / Foren Zahl, würden die Timeouts mitsteigen, was bei dedizierten Datenbanken nicht so auftreten würde.

Also zumindest beim MS SQL Server ist dies nicht der Fall. Bist du dir sicher, dass es bei MySQL so ist? Dann wäre die Performance bei vielen gleichzeitigen Benutzern ja grottenschlecht ;)
 
Ja auch bei MySql, nur im normal fall nutz man das nicht, oder hast du schon ne ordentliche DB(so um die 4GB) mit einer einzigen Tabelle gesehen, die von mehreren Quellen permanent abgefragt wird. Wenn da das System nicht richtig power und speicher(besonders wichtig, kann das locking problem kaschieren) hat wird das nichts.
 
ALT255@Seti, wie kommst du plötzlich auf grosse Tabellen?
Um deine Frage zu beantworten, ja, kenne solche Tabellen mit dutzenden Benutzern, aber in dem Fall hat der Server 8 CPUs und einige GB Ram. Die von AMD-Hammer Angesprochene Situation ist ja eine ganz andere. Viele, kleine Tabellen in einer Datenbank mit vielen Benutzern. Dabei dürfte das Locking nie ein Problem darstellen und daher spricht aus Sicht der Performance IMO nichts dagegen. Der Sicherheit und Wartbarkeit leiden aber, da ein DB-Benutzer jetzt auf viele Applikationen Zugriff hat, auf die er vielleicht gar keinen haben sollte. Dazu kommen die Backups. Application A hat vielleicht wenige Daten, sollte aber dafür stündlich gesichert werden. Application B hat viele Daten, aber ein wöchentliches Backup reicht. Wenn nun beide in einer Datenbank hängen lässt sich dies schwer verbinden.
Aber auch das sollte im Falle von ein par kleinen Foren/Gästebüchern kein Problem sein.
 
Hallo,

bei vielen Skripten wie Foren, Gästebücher o.ä. kann man ja bei der Installation einen Tabellenpräfix angeben. Damit kann man ja dann theoretisch z.B. unendlich viele Foren in eine Datenbank installieren. Aber hat das Nachteile? Wenn nein, wäre es ja unsinnig für mehrere Datenbanken zu zahlen, wenn eine einzige auch ausreichen würde *noahnung*

MFG Max

Also, der Grund warum man einen Prefix verwendet ist ganz einfach.

Man vermeidet damit das zwei Scripte die selbe Tabelle benutzen.
Beispiel:
Gästebuch A verwendet die Tabellen: User, Eintrag, Link
Forum B verwendet die Tabellen: ForumUser, Eintrag_ID, Link

Beim Einrichten des Scriptes würde der Installer auf die Nase fallen, weil der Table: LINK schon existiert und damit vermutlich der ganze Install Prozess stehen bleibt.

Wenn Du aber einen Prefix verwendest (GB für das Gästebuch und FORUM für... das Forum), würde es so aussehen:
Gästebuch A verwendet die Tabellen: GBUser, GBEintrag, GBLink
Forum B verwendet die Tabellen: FORUMUSER, FORUMEintrag, FORUMLink

Keine doppelten Tabellen.
So einfach is das. Das hat nix mit multiplen Datenbanken zu tun, wir sprechen hier von EINER Instanz.

Gruß,

Sysfried
 
Zurück
Oben Unten