• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

grund um mehrere datenbanken einzusetzen

Hallo-Welt

Aktives Mitglied
hi,

ich frage mich schon seit längerem, warum man eigentlich bei allen Providern mehrere Datenbanken anlegen kann (ich hab bei meinem jetzigen 12!). Denn ich hab es bissher immer so gemacht, dass ich all meine daten in einer einzigen DB in mehreren Tabellen abspeichere. Nun frage ich mich, was das ganze also bringen soll. Sind die abfragen villeicht schneller wenn man das ganze mehr "verteilt"? Oder ist das ganze nur Marketing und macht an sich gar keinen Sinn?
 
Werbung:
Ein von mehreren Gründen:
Du hast eine Domain und richtest einige Subdomains ein. Einmal z.B. mit einem Blog, einmal mit einem Forum und einmal mit einem CMS für die eigentliche Homepage. Wenn du jetzt mehrere DB's hast, hast eine deutlich bessere Übersicht bzgl Datenbanken und besonders Tabellen. Klar, man könnte alles in eine DB hauen, aber dann wird's sehr unübersichtlich. Ich habe z.B auch eine DB nur zum Testen, die Daten möchte ich eher nicht in der produktiven DB haben.
 
Ein von mehreren Gründen:
Du hast eine Domain und richtest einige Subdomains ein. Einmal z.B. mit einem Blog, einmal mit einem Forum und einmal mit einem CMS für die eigentliche Homepage. Wenn du jetzt mehrere DB's hast, hast eine deutlich bessere Übersicht bzgl Datenbanken und besonders Tabellen. Klar, man könnte alles in eine DB hauen, aber dann wird's sehr unübersichtlich. Ich habe z.B auch eine DB nur zum Testen, die Daten möchte ich eher nicht in der produktiven DB haben.
Okay. Das heisst dann aber auch, dass es ansich keine technischen Vorteile (wie kürzere Zugriffszeiten) gegenüber der "alles-in-eine-DB-hauen"-Methode gibt, stimmts?
Da ich bisher noch immer gut mit einer DB zurecht kam, sehe ich dann für meinen teil auch nicht ein, mehrere zu nutzen.
 
Werbung:
Ob es Performance-Vorteile gibt, weiß ich nicht, habe ich noch nicht getestet. Ich trenne, wo ich trennen kann, hat meiner Meinung nach nur Vorteile.
 
Okay. Das heisst dann aber auch, dass es ansich keine technischen Vorteile (wie kürzere Zugriffszeiten) gegenüber der "alles-in-eine-DB-hauen"-Methode gibt, stimmts?
Da ich bisher noch immer gut mit einer DB zurecht kam, sehe ich dann für meinen teil auch nicht ein, mehrere zu nutzen.

Na, ein weiterer Vorteil könnte die erhöhte Sicherheit sein.
Sollte dein Wordpress-Blog gehackt werden, sind auch Shop- und Forum-Daten offen.

Außerdem ist es ganz einfach unordentlich, eine Datenbank für mehrere, unabhängige Applikationen zu verwenden.
 
Die Antwort auf diese Frage ist wirklich sehr anwendungsspezifisch. Zum Einen sollte jedoch grundsätzlich eine Datenbank nur von einem Projekt verwendet werden. Zusätzliche Datenbanken für ein Projekt eignen sich z.B. dann wenn große Datenmengen zusammenkommen. Man könnte z.B. eine Live-DB verwenden die von einer Webseite direkt verwendete Daten enthält während in einer parallelen Working-DB Daten liegen die das Web nicht braucht, welcher aber zum Abgleich oder zur Datenhaltung wichtig sind. Auch eine Log-DB ist mitunter sinnvoll, da sich dort viele Daten ansammeln die eine Live-DB unnötig belasten würden.

Allerdings kann man das auch nicht pauschal so sagen. Es hängt auch noch vom Datenbanksystem ab. MySQL ist was große Datenmengen angeht z.B. etwas schwerfällig als Oracle, MariaDB hat wiederum Vorteile gegenüber MySQL etc.pp.
 
Werbung:
MySQL ist was große Datenmengen angeht z.B. etwas schwerfällig als Oracle, MariaDB hat wiederum Vorteile gegenüber MySQL etc.pp.
Da frag ich mich, sind die Unterschiede zwischen den verschiedenen DB's eig. so riesig? Ich hab mich für MySQL entschieden, da es bei weitem am verbreitesten ist und man so eine viel grössere Auswahl bei der Providersuche, bzw. einem möglichem Umstieg hat. Ist diese Denkweise schlichtweg blöd, oder kann man mit MySQL auch sehr gut grosse (und damit meine ich richtig große!!) DBs verwalten?
 
Ja, kann man durchaus. Allerdings hat jedes Datenbanksystem seine Grenzen. Bei MySQL merke ich immer einen Geschwindigkeitsnachteil sobald eine Grenze von 10 bis 12 GB erreicht ist. Hängt allerdings auch stark vom Datenbankschema ab, was - wenn man es optimal gestaltet - auch mehr Datenmengen ermöglichen könnte. Die nächstliegende Grenzen gibt (theoretisch) dann das Dateisystem des Servers vor ;)
 
Ja, kann man durchaus. Allerdings hat jedes Datenbanksystem seine Grenzen. Bei MySQL merke ich immer einen Geschwindigkeitsnachteil sobald eine Grenze von 10 bis 12 GB erreicht ist. Hängt allerdings auch stark vom Datenbankschema ab, was - wenn man es optimal gestaltet - auch mehr Datenmengen ermöglichen könnte. Die nächstliegende Grenzen gibt (theoretisch) dann das Dateisystem des Servers vor ;)
Okay, das hört sich doch schonmal nicht schht an, dass Abfragen bei DBs bis einschließlich 10 GB immer noch in tausendstel Sekunden durchgeführt werden können.:)
Nur damit ich nichts falsch mache, dies gilt nehme ich an aber nur, wenn man immer ganz genau die Dateitypen der einzelnen Kollonen (also z.B. INT etc.) oder deren Maximallänge angibt, und nicht einfach alles beim Standartwert lässt, stimmts?
 
Werbung:
Das kann man so pauschal nicht beantworten. Zu einem Datenbankschema gehört mehr als nur Datentypen setzen und Vorgabewerte vergeben.
 
StandarD! - Werte sind nicht das wichtigste. Eher wie die Indizes gesetzt sind und der allgemeine Aufbau der DB
 
Och, warum denn nicht Stand-ArT, macht doch auch Sinn :D
Werte sind nicht das wichtigste. Eher wie die Indizes gesetzt sind und der allgemeine Aufbau der DB
Oh, danke, das mit dem Index wusste ich noch gar nicht. Hab dazu einen hoch interessanten Blogeintrag gefunden -> http://techblog.tilllate.com/2007/01/07/optimierung-von-mysql-abfragen-verwendung-des-index/

Aber ich nehme an, es ist nicht gerade Sinnvoll, bzw. "erlaubt", um dies in Kombination mit einem gewöhnlichen Billig-Webhostpaket zu machen, wie ich ihn zur Zeit habe, da es ja unbelegten RAM benötigt. Dazu braucht man dann wohl eher einen vServer, oder irre ich mich da?
 
Zuletzt bearbeitet:
Werbung:
Aber ich nehme an, es ist nicht gerade Sinnvoll, bzw. "erlaubt", um dies in Kombination mit einem gewöhnlichen Billig-Webhostpaket zu machen, wie ich ihn zur Zeit habe, da es ja unbelegten RAM benötigt. Dazu braucht man dann wohl eher einen vServer, oder irre ich mich da?
Weiß wirklich keiner hier Rat?, möchte nur ungerne einen neuen Thread wegen der Frage erstellen.
 
Was du brauchst, bietet auch ein Billighoster.
Okay danke für den Hinweis.:)
Dann arbeite ich mich mal weiter in die Materie ein, teste es aus und kontaktiere gegebenenfalls den Support meines Providers.
Erstaunlich finde ich es aber schon, dass man dann bei einem Common-Webhostpaket, wo einem an sich ja keine Ressourcen zugesichert werden, dennoch RAM aufm MySQL-Server dauerhaft belegen darf. Aber wenn das wirklich stimmt, soll's nicht zu meinem Schaden sein :p
 
Werbung:
Hallo,

habe gerade ein Projekt mit derzeit 211 Millionen Einträge. Am Anfang hatte ich dies auch in einer Datenbank und zum auch in einer Tabelle (Da waren es aber auch nur um die 100 Mio). Irgendwann kam mir es langsamer vor und ich habe es mal auf mehrere Tabellen verteilt (256 in einer DB ;-) ) ... Jetzt hab ich das ganze auf 4 DBs a 64 Tabellen verteilt und läuft wie ich finde stabiler und bissl zügiger.

Bei einer Datenbank hatte ich mindestens 5 mal in der Woche die Meldung das die Datenbank nicht erreichbar ist. Und das meistens nach dem ich ins Bett ging ...


Gruß Alex
 
Jetzt hab ich das ganze auf 4 DBs a 64 Tabellen verteilt und läuft wie ich finde stabiler und bissl zügiger.
Okay, danke für diesen Erfahrungsbericht. Ich werde dann auch mal schauen, die ein oder andere Tabelle in eine andere DB zu verlagern (auch wenn ich keine 256 habe :D )...

Schaden wirds ja, denke ich mal, definitiv nicht!
 
Zurück
Oben