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 …
Markus fragt: QUOTE:Durch ... wechseln wir gerade unseren
Root-Server. Dort habe ich bereits das Gentoo-Basissystem am
fluppen. Bei der Umstellung möchte ich gleich von MySQL 4 auf 5
wechseln.
Dabei stellt sich die Frage, ob ich das System nicht gleich von
latin1 auf utf-8 umstellen soll. Sollte ich lieber bei latin1
bleiben und alles so migrieren oder doch den großen Wurf zu utf-8
wagen? Die Frage habe ich ihm schon beantwortet, aber
versprochen, das Thema noch einmal im Blog "in groß"
durchzudeklinieren. Hier also der Zeichensatz-Artikel redone.
Zeichensatztheorie
Zusammenhänge zwischen den Begriffen. Ein Zeichensatz ("CHARACTER
SET") ist eigentlich ein Symbolvorrat, also eine Liste von
Symbolen, die in einer bestimmten Sammlung enthalten sind. Ein
Zeichensatz ist damit ein ganz und gar abstraktes …
Heute habe ich mich ein bisschen mit der SSL-Funktionalität von MySQL beschäftigt. Auslöser war dieses Posting in de.comp.datenbanken.mysql.
Wer schon einmal versucht hat, Verbindungen zum MySQL Server mittels SSL zu verschlüsseln, wird festgestellt haben, daß die verfügbare Dokumentation eher spärlich ist. Ich werde hier und jetzt versuchen, dieses Defizit auszugleichen.
Zwei Artikel im englischsprachigen Blog MySQL Dump:
- A Quick Tour of LVM: Was ist LVM und wie setzt man es ein? Eine Schritt-für-Schritt Lösung auf einer Suse 10 Professional in einer VMware
- A Quick Tour of DRBD: Was ist DRBD und wie setzt man es ein? Eine Schritt-für-Schritt Lösung auf zwei Suse 10 Professional Instanzen in einer VMware.
Choose any font you like
Seit MySQL 4.1 existiert in MySQL Support für Zeichensätze und
Sortierreihenfolgen. Das bedeutet im Wesentlichen, daß an jedem
CHAR, VARCHAR und TEXT in der Datenbank und an jeder
Stringkonstante dranklebt, in welcher Codierung der String
vorliegt und mit welcher Sortierreihenfolge der String beim
Sortieren und Vergleichen zu behandeln ist.
Vokabeln
Aber zuerst einmal ein bischen Vokabular:
Ein Zeichensatz ist eine Sammlung von Symbolen, die
verwendet werden dürfen. Zeichen in einem Zeichensatz haben Namen
wie "Copyright Symbol" oder "Lowercase O-Umlaut".
Eine Codierung ist eine Definition, in welcher Bytefolge
ein Symbol zu codieren ist. In Latin1-Codierung zum Beispiel ist
ein Lowercase O-Umlaut Symbol als 0xF6 codiert, während es in …
Lars Thalmann hat auf der OSCON einen Vortrag gehalten zum Thema
"The Future of MySQL Replication". Die Slides
zum Vortrag hat er in seinem Blog zum Runterladen
bereitgestellt.
Scaling Patterns
In 2004 habe ich auf dem Linuxtag einen kleinen Vortrag zum Thema
Skalierbarkeit gehalten. Schon damals war
die Message an verschiedenen Stellen im
Vortrag "Jedes Readproblem ist ein Caching-Problem, jedes
Schreibproblem ist ein Verteilungs- und Batchproblem":
Zum Skalieren muß man seine Anwendung in Teilanwendungen
unterteilen und die Daten replizieren. Die Replikation muß
asynchron erfolgen, ohne Two Phase Commit (2PC), sonst gewinnt
man wenig bis nichts. Schreibzugriffe müssen verzögert und
gebatched werden, damit sie effizienter abgewickelt werden
können. Um weitere Flaschenhälse zu vermeiden, muß man die
Datenhaltung in die …
Meine Sparkasse exportiert mir die Kontoauszüge aus Wunsch auch
als CSV. Die Dateien sehen so aus:
"Auftragskonto";"Buchungstag";"Valutadatum";"Buchungstext";
"Verwendungszweck";
"Begünstigter/Zahlungspflichtiger";"Kontonummer";"BLZ";
"Betrag";"Währung";"Info"
"08154711";"30.12";"30.12.05";"LASTSCHRIFT";
"DRP 08154711 040441777 INKL. 16% UST 5.38 EUR";
"STRATO MEDIEN AG";"040441777";"10050000";
"-39,00";"EUR";"Umsatz gebucht"
Weil ich wissen will, wofür ich mein Geld ausgebe, lade ich diese
Daten in ein MySQL.
Das geht so:
Zunächst einmal muß ich mir eine Tabelle definieren, in die ich
den Load vornehmen kann. Diese Tabelle hat Felder, die in erster
Linie dazu geschaffen sind, die Daten aufnehmen zu können. Wir
müssen die Daten noch bereinigen, sodaß es sich noch nicht um die
endgültigen Felder oder Typen handelt.
…
Eines gleich vorweg, es war heute zwar unausstehlich warm, aber
selbst das möchte ich an dieser Stelle nicht als Entschuldigung
gelten lassen.
Eigentlich ist das Aufsetzen einer MySQL Master-Slave Replikation
eine relativ schmerzfreie Angelegenheit. So machte ich mich
frohen Mutes an die Installation von zwei Linux Servern. Nach der
Installation und Konfiguration der MySQL Server samt Replikation
?weigerte? sich der Slave vehement bei der Replikation
mitzuspielen. Die Verbindung zum Master wurde aufgebaut, keine
Fehler, eigentlich alles paletti. Nachdem ich mich fast zu Tode
geyahoot hatte fand ich in der my.cnf diese Option
?expire-logs-days = 20?. Ein Vergleich der Systemzeit der beiden
Systeme zeigte einen Unterschied von einigen Monaten.
Merke: Erst einen NTP Abgleich machen, dann mit dem Einrichten
des Systems beginnen...
Seit dem 1. November 2005 arbeite ich für MySQL Deutschland GmbH
als Consultant. Damit mit bin ich Teil einer Firma mit 320
Mitarbeitern in 27 Ländern. Ein Office habe ich noch nie gesehen. Einige
der Kollegen, mit denen ich am engsten zusammenarbeite habe ich
auch noch nie gesehen. Die anderen sehe ich so alle paar Monate
mal. Die Zusammenarbeit ist gut und sehr intensiv.
Als ich von web.de zu MySQL gewechselt bin, war ich am Anfang
sehr skeptisch und habe meine Interviewpartner gefragt, wie das
denn wohl so ist, für eine "virtuelle" Firma zu arbeiten, in der
die Kollegen so weit verstreut gesät sind. Auch in den Fällen, in
denen ich neue Kollegen interviewed habe ist dies die Frage, die
mir in der Regel zuerst gestellt wird.
Meine Antwort auf diese Frage ist inzwischen "Hast Du einmal in
irgendeinem Open Source Projekt …