PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : datenbanken`?


joker
24.08.2003, 18:31:24
Hi, hab da mal eine frage an euch alle.

Ihr habt vor ein großen Projekt aufzubauen, jetzt stell ich mir die grundgfrage, nur eine Datenbank oder für alles eine Datenbank?
z.b. Forum; News; Gästebuch, wurdet ihr das in eine Datenbank machen oder 3 Datenbanken?

Taube
24.08.2003, 19:02:17
Hmm, kenne mich mit den genauen (technischen) Vorzügen nicht aus, aber:

Jede Datenbank bekommt einen (zwei) eigenen Ordner, logischerweise sollte es bei großen DB's für das System angenehmer sein wenn die Inhalte auf verschiedene DB's aufgeteilt werden weil es dann kleiner Datenmengen(Ordner) laden muss.

Außerdem ist es für den User(Dich) angenehmer wenn Forum getrennt von Projekt gespeichert wird (Optik) weil halt die meisten Foren sehr viele Tabellen benötigen und man sich dann an dauerndes Scrollen gewöhnen muss, ist halt getrennt übersichtlicher (finde ich)

Mehr fällt mir im Moment nicht ein ;-)

mfg - Taube

Jürg
24.08.2003, 20:34:09
Ich würde eine DB machen, nicht mehrere.
Provider geben oft nur eine DB frei mit beliebig vielen Tabellen. Eventuell gestatet Dein Provider das Erstellen von mehreren DB's, dann ok, aber bei einem Umzug?
Um die Übersicht zu behalten, vor alle Tabellennamen eine entsprechende Bezeichnung.
Beispiel: Gästebuch GB_xxx , Forum FO_xxx , News NE_xxx
So hast Du immer die Übersicht!
Es ist auch einfacher, wenn Du übergreifende Bereiche hast.
Beispiele:
1. Du hast ein Newsletter, aus allen Bereichen werden die Adressen in einer Tabelle gespeichert. In einem Feld gibst Du an woher diese kommen.
2. Alle Adressen werden nur in einer Tabelle hinterlegt, egal woher sie kommen und wozu sie dienen. Mit Feldern wird angegeben wo sie verwendet werden. Damit können Dupletten miniminiert werden, eine Wartung wird einfacher. Die Tabelle wird viele Spalten haben, die pro Anwendung nicht benutzt werden. MySQL ist aber sehr schnell, somit egal.

joker
24.08.2003, 21:46:57
mhh, also ich hab nen eigenden server, somit hat mein provider mir nix zu sagen wie viele db ich anlegen darf^^

diver-network
25.08.2003, 11:21:40
Hi Joker,

mein Tipp:

Eine Datenbank mit den entsprechend vielen benötigten Tabellen.
Datenbanken können mit sehr großen Datenmengen umgehen, so daß eine Aufsplittung über zwei oder gar mehrere DBs keinen Sinn macht.

Wichtig ist, daß Du Dir sehr viel Zeit beim DB Entwurf (Stichwort Normalisierung) machst, damit Du Daten nicht doppelt speicherst.

Wenn Du Wert auf Performance legst solltest Du Dir Deine Indexe sowie die Datentypen der einzelnen Felder ebenfalls sehr gut überlegen. So kann es z.B. Sinn machen, aus einem VARCHAR Feld ein CHAR Feld zu machen, obwohl dadurch der Platzbedarf der DB steigt. Dafür kann aber die Performance steigen.
Ebenfalls kann eine Aufteilung einzelner Tabellen sinnvoll sein, z.B. indem Du weniger oft benötigte Daten in eine zweite Tabelle überführst und diese dann über Schlüsselfelder verbindest.
Nachteil der Aufsplittung: INSERTS und eventuell auch UPDATES werden komplizierter.

Wenn Du Dich über die vielen "kann"s und "eventuell"s wunderst: Es gibt leider keine Faustregel, was die beste Lösung ist. Teilweise merkt man erst nach längerer Beobachtung der DB- Performance, wo man noch was verbessern kann und wo nicht. Was aber immer gilt ist die Regel, daß man sich für den DB- Entwurf nie zuviel Zeit nehmen kann. Lieber da mal eine Woche länger dran sitzen als hinterher, wenn schon Daten drin sind, alles noch mal ändern müssen.

HTH,

Andy

water
12.01.2004, 01:12:36
Hallo Zusammen

Kann mir jemand sagen, wieviele Datenbankzugriffe gleichzeitig ein gut installiertes MySQL-System aushalten kann? (im Durchschnitt)

Mit bestem Dank

water

meikel
12.01.2004, 01:48:25
Original geschrieben von water
Kann mir jemand sagen, wieviele Datenbankzugriffe gleichzeitig ein gut installiertes MySQL-System aushalten kann? (im Durchschnitt)Hängt von RAM und Config ab. Sobald der Rechner anfängt mit swappen, isses mindestens ein Zugriff zuviel. Einfach mit top kontrollieren.

water
12.01.2004, 20:16:40
Kannst du mir erklären, wie man mit Top die Sache kontrolliert? Hab ich noch nie gehört!

Vielen Dank

water

meikel
12.01.2004, 21:31:33
Original geschrieben von water
Kannst du mir erklären, wie man mit Top die Sache kontrolliert?
Ich gehe einfach mal davon aus, daß Du, wenn Du ein größeres Forum planst, über einen eigenen oder gemieteten Server verfügst. Mit irgend ein "Premium" Account bei einem Massenhoster wirst Du bei einem stark frequentierten Forum oä. keine große Freude haben.

Top ist ein shellprogramm, das einfach in der shell aufgerufen und mit 'q' wieder verlassen wird. Falls nicht vorhanden, dann installieren. Ebenfalls aussagekräftig: pstree. Es liefert die Prozesse als Baumdarstellung. Ein weiterer Freund heißt free. In allen Fällen nicht irre machen lassen, daß Linux meist 98% des Speichers belegt hat. Linux arbeitet (ganz simpel ausgedrückt) wie ein Cache Controller und versucht, soviel wie möglich im RAM zu halten, bevor der Kram entweder gekillt oder ins swap ausgelagert wird.
Die Ausgabe sieht ungefähr so aus:
8:04pm up 1 day, 5:40, 1 user, load average: 1.20, 1.26, 1.26
69 processes: 67 sleeping, 2 running, 0 zombie, 0 stopped
CPU states: 5.3% user, 14.2% system, 0.0% nice, 0.0% idle
Mem: 247788K av, 230160K used, 17628K free, 0K shrd, 68452K buff
Swap: 265064K av, 1176K used, 263888K free
Wie Du siehst: die Kiste hatte gerade nix zu tun. Von 69 Prozessen schlafen 67 - kein Wunder, da ich den Server gerade einrichte.