PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Virtualisieren einer Datenbank? (geschwindigkeit?)


Flak
2007-07-02, 10:14:35
hallo,

in der firma in der ich arbeite haben wir eine momentan 21gb grosse Datenbank am laufen. Deren zugriffszeit ist momentan aber unter aller sau (mitarbeiter sind sich nur am beklagen). Meiner meinung nach liegt das an dem bereits 3 Jahre alten Server auf dem die SQL Datenbank läuft.

Jetzt wurde von einem Programmierer der für unsere Firma arbeitet behauptet das das Virtualisieren der Datenbank (also den SQL Server und das Warenwirtschaftsprogramm auf dem Virtuellen Server Laufen lassen) grosse Steigerungen bei der zugriffszeit auf die Daten bringen würde.
Weiterhin behauptete er man könnte dadurch auch eine grösse Sicherheit für die Datenbank erzielen.

Da ich mich mit Virtualisierungen überhaupt nicht auskenne, hätte ich gerne eure Meinungen dazu und vielleicht ein paar Informationen.

Wieso sollte sich die Zugriffszeit erhöhen? Und wie soll damit dem Datenverlust vorgebeugt werden?

wäre für Antworten sehr dankbar

mfg Flak

The_Invisible
2007-07-02, 10:25:32
durch die virtualisierungsschicht kann es nie schneller sein als die datenbank nativ laufen würde. durch paravirtualisierung kommt man vielleicht bis auf ein paar prozent auf die native performance ran, aber schneller kann es dadurch nicht werden.

dem punkt mit der sicherheit stimme ich schon eher zu, da man dann nur ein image hat das man woanders hinkopieren muss und so notfalls auch schnell die zu einer anderen maschine migrieren kann bzw es sogar live migration gibt.

mfg

jorge42
2007-07-02, 10:42:50
man kann nicht pauschalisieren ob sich virtualsierung einer DB lohnt oder ob es überhaupt angebracht ist. Es hängt von vielen Punkten ab, welche DB, welches Produkt greift darauf zu, wie groß ist die DB, wieviel RAM verbraucht sie, wie stark ist dir Prozessorlast im Betrieb. Grundsätzlich gilt: Eine virtualisierte DB ist langsamer als eine Native auf VERGLEICHBARER Hardware auch Platten usw. Natürlich kann man einen 8 CPU Server der am SAN hängt und auf 14 Spindeln zugreift und VMWare bereit stellt nicht mir einem kleinen 1 HE Server mit 2 lokalen Platten vergleichen. Gerade die Plattenanbindung kann einen immensen Unterschied beim Betrieb einer DB machen.

Wie gesagt hängt alles von der Umgebung ab. Wir haben hier 2-3 MS SQL Server unter VMWare laufen und die funzen wunderbar, aber unsere Warenwrtschafts DB die auf einem 8 Node Server Cluster läuft, würde ich nicht darauf hosten wollen.

Im übrigen ist die Sicherheit/Backups auch nicht so trivial, auch wenn man eine VM im Betrieb abziehen kann, heisst es nicht, dass dieses Backup auch konsistent ist. Sichern kann man alles, die Frage ist nur ob man das auch restoren kann :biggrin: Um eine vernünftige DB Sicherung kommt man auch mit VMWare nicht herum.

Die Hardware Ausfallsicherheit bekommt man aber in einer guten, ausgebauten, teuren VMWARE ESX Umgebung "for free". Lohnt sich aber nicht für eine einzelne DB.

bneu
2007-07-02, 11:42:01
zuerst sollte wirklich geklärt werden was der limitierende Faktor ist:

CPU?
Hauptspeicher?
Festplattengeschwindigkeit?
Netzwerkgeschwindigkeit?

Erst dann kann man entscheiden wo man ansetzen muß um mehr Performance aus der Datenbank rauszuholen ist....

Flak
2007-07-02, 11:51:54
Der Server auf dem alles momentan läuft ist ein FS Primergy TX 200 mit momentan 4GB Ram.

Wobei meiner meinung nach der Ram der grösste Limitierende Faktor ist.
Die Festplatten laufen alle mit 10000 Umdrehungen/min
Auf die Datenbank greifen am Tag zwischen 20-30 Rechner gleichzeitig zu. Einige davon sind mit 1 Gbit ans Netzwerk angebunden, wobei bei diesen Rechnern keine merkbar schnellere Zugriffszeit vorhanden ist.

jorge42
2007-07-02, 12:23:02
Der Server auf dem alles momentan läuft ist ein FS Primergy TX 200 mit momentan 4GB Ram.

Wobei meiner meinung nach der Ram der grösste Limitierende Faktor ist.
Die Festplatten laufen alle mit 10000 Umdrehungen/min
Auf die Datenbank greifen am Tag zwischen 20-30 Rechner gleichzeitig zu. Einige davon sind mit 1 Gbit ans Netzwerk angebunden, wobei bei diesen Rechnern keine merkbar schnellere Zugriffszeit vorhanden ist.

wenn du der meinung bist, dass 4 GB Ram für die DB nicht ausreichend sind, dann hast du dir die Antwort gegeben. Virtualisierung dient primär der Konsolidierung, das bedeutet Zusammenfassung von Hardware, Wenn du jetzt schon einen server hast, der physisch am Limit ist, dann macht es KEINEN Sinn dieses virtualisieren zu wollen. Vorausgesetzt deine Diagnose ist richtig.

Flak
2007-07-02, 14:11:29
unter welchem szenario würde denn das Virtualisieren der Datenbank einen echten Spührbaren Performancegewinn bringen?

Dass wir den Server aufrüsten bzw einen neuen Kaufen ist schon beschlossene Sache. Ich sehe halt immernoch keinen Sinn in solch einer Umstellung ausser evtl. eine andere Art der Datensicherung.