Mailinglisten-Archive |
Hallo Stefan, > -----Original Message----- > From: Krauß [mailto:info at cartoweb.de] > Aus Performancegründen wollen wir eine MySQL - Datenbank auf mehrere > MySQL - Server verteilen. > Beispiel: > Auf Server1 befindet sich die Tabelle A. > Auf Server2 befindet sich die Tabelle B. > In den Tabellen A und B befindet sich die Spalte 'mitarbeiternummer'. > Über diese Spalte 'mitarbeiternummer' soll die Tabelle A und B > verknüpft werden. > Wie kann ich die Querie definieren ? Wenn Du Datenbankserver meinst, dann: "Nein". MySql kann eine Query nur mit einem Datenbankserver verarbeiten. Wenn Du das wirklich machen willst, brauchst Du ein anderes DBMS z.B. DB/2 UDB unterstützt ab 8.x soetwas (nennt sich dort Database Partitioning Feature = DPF). Du kannst natürlich zwei Dateiserver nehmen, jeweils eine Datenbank (ich meine hier ein "Verzeichnis" mit den Daten, kein DBMS) auf jedem Server ablegen und dann (bei entsprechend schneller Anbindung (GBit)) einen "normalen" join machen. Nur ob das Vorteile bringt... Datenbankverzeichnisse lassen sich durch symbolic links (unter linux) in das mysql-verzeichnis abbilden. Das sogenannte "Clustering" und dementsprechende Zusatzlösungen für MySql (und andere DBMS) verteilt die Last auf mehrere Server, wobei aber jeder Server (zumindest bei MySql) jeweils gesamte Abfragen verarbeitet. In Deinem Fall kann man sagen "Es macht einfach keinen Sinn die Query mit MySQL auf zwei Server zu verteilen." Bessere Performancegewinne erreicht man durch Anpassungen an der Hardware. Die einfachste Lösung ist, jede Tabelle auf jeweils eine eigene Festplatte zu packen, das kann schon beachtliche Vorteile bringen. Ansonsten kann man natürlich RAID Systeme zur Steigerung der Festplattenperfomance verwenden. Gibt es viele User, dann ist es evtl. sinnvoll ein Multiprozessorsystem zu verwenden. Und natürlich kräftig Speicher. Grüße, Michael Donning -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive