(via dwalin)
Und hier die Auflösung des Rätsels:
Eine relativ typische Aufgabe liegt diese Woche auf meinem Tisch:
Ein Kunde hat eine relativ schnell getaktete Abrechnungsaufgabe,
bei der auf Benutzerkonten Guthaben eingezahlt wird und diese
dann für Inanspruchnahme von Diensten aufgebraucht werden.
Dies ist eine typische OLTP Aufgabe, bei der wir viele simple
Writes mit einem hohen Parallelitätsgrad in eine Datenbank
bekommen. Die Datenbank ist klein genug, daß sie komplett ins RAM
paßt, wir haben mindestens eine 1:1 Ratio von Writes zu Reads
oder sogar mehr Writes als Reads und alle Writes müssen immer
komplett ACID sein. Entsprechend läuft die Datenbank komplett mit
InnoDB, mit sync_binlog und mit innodb_flush_log_at_trx_commit
=1.
"Günstige OLTP Hardware" vollständig lesen
ofu hat nicht nur ein Blog, sondern da sogar richtig spannende
Sachen drin. Quasi als Replik auf meine Rants bezüglich der
Zugriffszeiten von Festplatten in Hardware für ein MySQL hat er einmal einen
Überblick über Festplattenersatzstücke ohne bewegliche Teile
geschrieben.
In Das Ende der Mechanik diskutiert er Produkte
von Infortrend, Engenion/LSI, HDS, TexMemSys und CurtisSSD. Am
Low-End erwähnt der Flash-Disks und RAM mit Batteriepuffer mit
SATA-Interface von verschiedenen Herstellern.
Da hätte ich dann mal gerne Erfahrungsberichte gesehen. Oder
Kunden, die wollen, daß ich mit deren Hardware mal spiele.
"Ich hab hier einen Dedi und da soll ein MySQL drauf" ist die
kleinere Version der Frage aus Hardware für ein MySQL. Das in diesem Artikel
gesagte gilt natürlich auch im Großen und Ganzen hier, nur daß
man bei der Auswahl der Hardware und der Konfiguration mehr oder
weniger eingeschränkt ist. Insbesondere kann man in der Regel
kein RAM nachlegen oder mehr Platten einbauen lassen.
Physikalischer Server
Ein richtiger Dedi mit physikalischer Hardware hat ein bis acht
GB RAM, in jedem Fall zwei Festplatten und eine Dual-Core CPU
(etwa Strato HighQ oder 1&1. Aus dem Vorgängerartikel wissen …
"Ich muß Hardware für einen Rechner kaufen, auf dem dediziert nur
ein MySQL laufen soll. Was soll ich beschaffen?" ist eine Frage,
die ich recht oft höre. Hier ist die lange Antwort.
Bevor man sich mit dem freundlichen Hardwarehöker des geringsten Mißtrauens in
Verbindung setzen kann, muß man sich erst einmal ein paar Dinge
überlegen.
Datenbank-Zielgröße bestimmen
Die allererste Überlegung ist die erwartete Zielgröße der
Datenbank: Werden wir einen Bestand von 1G, 10G, 100G oder 1000G
haben? Daraus und aus dem allgemeinen Gesundheitszustand des
Geldbeutels ergibt sich schon die erste wichtige Erkenntnis.
Nämlich: Werden wir es schaffen, eine speichergesättigte
Datenbank zu bauen, oder bekommen wir eine Datenbank, die für
Lesezugriffe auf die Platte zugreift?
…
Ein MSA-30 Array mit 14 Platten. Liebes Tagebuch!
Heute bin ich gegen eine HP 585 und zwei MSA 30 angetreten und
ich bin mir nicht ganz sicher, wer gewonnen hat. Aber laß mich
von vorne erzählen.
Wie Du weißt, liebes Tagebuch, berechnet sich die Anzahl der
Zugriffe, die man von einer einzelnen Platte pro Sekunde erwarten
kann, wie folgt: 1000ms/(Average Seek Time in ms + Rotational
Delay in ms + Transfer Time in ms). Die Average Seek Time kann
bei einer guten Platte schon mal 4 ms klein sein, bei schlechten
Platten auch mal 8ms groß.
Die Rotational Delay ist bei 18000 rpm bei 300 Umdrehungen pro
Sekunde, als 600 Halbdrehungen pro Sekunde oder 1/600 Sekunde =
1.6ms. Bei Laptop-Platten mit 6000 rpm ist sie dreimal größer,
also 5ms. Die Transfer Time kann man für den Rest der
Betrachtungen auch getrost vergessen. Somit haben wir eine Access
Time von insgesamt 5ms bis 12ms rauf. Das übersetzt sich zu …
Als zukünftiger Wieder-Road-Warrior muß ich mir einen Laptop
aussuchen. Bei Kai habe ich mir sein Powerbook 15" anfühlen
und ausprobieren können und bin ein wenig frustriert. Das Ding
ist super-stylish, aber für meine Finger subtil zu klein und die
Tastenanordnung ist auch nicht mit meiner Art zu arbeiten
kompatibel. Außerdem hat beim Tippen der Displaydeckel gewackelt,
ein ganz, ganz großes No-No.
Bleibt also ein Windows-Notebook. Derzeit habe ich das T42 von
IBM Lenovo und vielleicht ein großes Vaio auf der Liste.
Meine Auswahlkriterien in absteigender Wichtigkeit: große
Displayauflösung (privat habe ich derzeit 1600x1200 von Dell),
viel RAM (Datenbankarbeit!) und lange Akkulaufzeit. CPU Leistung
und Gewicht sind sekundär.