flog

dem Flo sein Blog

Ex-Feuerwehrman, Baskettballer, Schachspieler, House-Addict (since 1998), Radfahrer, Fitnessmensch und vor allem: Webprogrammierer aus Leidenschaft. Meine Hosen hab ich auch auf Facebook und Xing runtergelassen

LinuxTag 2009 in Berlin

Wie es alle lesen konnten, war ich am LinuxTag in Berlin dieses Jahr. Am Freitag sind wir schon früh morgens los gefahren, haben in Nürnberg und Schnaittach noch jemanden mitgenommen und haben, wenn man die Stops und das Frühstück raus rechnet gerade mal etwas über sechs Stunden bis Berlin gebraucht, von Reutlingen aus.

Dort angekommen haben wir erstmal ins Hotel eingecheckt, das Auto umgeparkt (der Kostenpflichtige Parkplatz am ZOB neben dem ICC kostet 15 € am Tag, nein Danke. Taschen ins Zimmer gebracht und auf zum Gate 7 am ICC. Der Weg dahin zieht sich doch etwas, ist halt doch immer etwas größer, als es auf Google-Maps den Eindruck erweckt. Ralf und Thomas haben bei den XBMC-Leuten am Stand angerufen, die sind dann mit deren Ausstellerpässen raus gekommen, ich bin mit meinem Ticket so rein gekommen. Innen haben wir uns dann umgeschaut, das erste was auffiel war Jolt-Cola und das ein HTC-Magic verlost wird. Wir haben uns dann zum XBMC-Stand begeben, dort mit den Leuten ein wenig abgehangen und sind dann zum NMAP-Vortrag marschiert. Sehr interessant, die haben einige Neuerung gebaut. Danach hab ich mir einen Vortrag von OXID angehört zum Thema "Refactoring with PHP while going OpenSource". Klang alles zu schön um wahr zu sein, ein paar gute Ideen waren schon dabei, aber im großen und ganzen nix neues. Im Anschluss sind wir dann zur Verlosung des HTC-Magic gegangen, leider nix gewonnen, also wieder zum XBMC-Stand. Als dann langsam aufgeräumt wurde, stellte sich heraus, dass OpenOffice an seinem Stand Freibier zu verschenken hat. Damit war dann auch der erste Tag auf der Messe rum.

Abends ging es dann mit dem XBMC-Leuten und denen von Boxee ins White Trash Fast Food, irgendwie, auf eine interessante Art und Weiße ein ganz merkwürdiger Laden. Das Essen war aber absolut fantastisch, auch wenn es keine Burger mehr gab. So gegen zwei waren wir dann wieder im Hotel und haben gepennt, Thomas hat noch bis um fünf "ausgehalten", was dann lediglich dazu führte, dass er am nächsten Tag verschlafen hat.

Samstag morgen also auschecken, auf Thomas und Ralf warten und auf zur Messe. Da die XBMC-Entwickler an diesem Tag DevCon hatten, wurde der Stand von Ralf und Thomas eröffnet und betreut, und nachdem ich mich noch ein wenig umgesehen hatte, und auch keine Vorträge mehr kamen, die mich groß interessiert hätten, und Jonathan (von XBMC) mir ein XBMC-Shirt geschenkt hatte, entschloss ich mich dazu, dort am Stand zu bleiben und mit zu helfen. Das war echt großartig, weil so komplex waren die Fragen nicht, die die Gäste stellten und man konnte mit der Nvidia ION-Referenz-Box schon mächtig angeben. Immerhin können wir mit XBMC aus der Box FullHD auf einen entsprechenden Fernseher zaubern, VDPAU sei dank. Da kamen die unterschiedlichsten Leute vorbei, angefangen bei solchen, die noch nie was von XBMC gehört haben, bis zu solchen, die konkrete Probleme hatten, wo ich dann auch nur sagen konnte, dass das eigentlich funktionieren sollte und man doch am Besten einen Bug einträgt. Gegen Abend kamen dann nochmal die XBMC-Leute vorbei, DevCon erfolgreich rum gebracht, haben beim Abbauen geholfen.

Wir sind dann wieder Richtung Hotel gelaufen, dort stand ja das Auto und sind dann auch gleich Richtung Nürnberg/Reutlingen gestartet. Auf dem Heimweg haben wir noch kurz bei meinen Eltern vorbei geschaut, frische Kirschen mitgenommen und sind Sonntag morgen so gegen 4:30 Uhr in Reutlingen angekommen.

Wer bis jetzt durchgehalten hat, dem verrate ich hier den Link auf die Bilder vom LinuxTag.

MySQL Schulung: Performance Tuning

Erster Tag

Es ist gerade kurze Pause, hier also mal in Kurzform, was bisher geschah:

  • 03:00 Wecker klingelt
  • 03:50 Aufstehen und ab ins Bad (es wird höchste Zeit)
  • 04:15 Raus aus dem Haus zur Bushaltestelle Stadtmitte
  • 04:49 Pünktlich ist der X3 in Reutlingen, hoffentlich auch so pünktlich in Stuttgart am Flughafen
  • 05:40 Mit kleiner Verspätung bin ich am Flughafen, schnell zum AirBerlin Check-In
  • 05:50 Ich hab die Boardingkarte in meiner Hand, jetzt zum Gate und noch schnell die aktuelle c't kaufen
  • 06:10 Ich sitz am Gate, Boarding sollte schon laufen, verspätet sich scheinbar etwas heute.
  • 06:15 Zwei junge Mädchen kommen angehastet, haben das mit der Zeitumstellung scheinbar verpasst und wollten wissen, ob der Flug schon weg ist ;-)
  • 06:20 Boarding
  • 06:30 Ich sitze am Fenster, vorletzte Reihe und kann beim Start die Lichterschlange bewundern, die sich die B28 nach Stuttgart quält
  • 07:33 Landung in Berlin-Tegel, trübes Wetter, es nieselt, wir fahren mit dem Bus zur Gepäckausgabe
  • 08:00 Mit der Tasche auf dem Rücken gehts zum Bus, dann mit der U-Bahn zum Checkpoint-Charlie
  • 08:40 Einchecken im Hotel: Wow, ich konnte sogar mit Bad statt Dusche wählen. Aber keine Zeit mehr fürs Zimmer, auf zum Schulungszentrum
  • 08:58 Yehaw, noch rechtzeitig geschafft, unterwegs sogar noch zwei Päckchen Taschentücher für jeweils 10 Cent gekauft

Mittagspause: Mittagessen in der Axel-Springer Kantine (ja, der Axel Springer) und festgestellt, dass mein Hotel vier Sterne hat und eine Tageskarte Sauna und Wellnessbereich 10 € kostet. Das werde ich mir auf jeden Fall noch gönnen in der Hoffnung, dass man mir Bademantel und Handtuch stellt.

Zur Schulung selber: Der Dozent hat echt was drauf, arbeitet selber für Sun (dem Eigentümer von MySQL, falls das jemand noch nicht mitbekommen hat ;-)) und hat eine echt gute Art, sein Wissen rüber zu bringen.

Erster Tag zu Ende und wir sind sogar 20 Minuten früher mit dem Stoff fertig geworden als geplant. Kurz zum Dozenten noch was: Er hat früher in einer Internet-Agentur gearbeitet und hat damals den Session-Support für PHP gehakt. Arbeitet seit ein paar Jahren für MySQL AB (inzwischen zu Sun gehörend) und hält Schulungen und Vorträge auf diversen Veranstaltungen.

Zweiter Tag

Heute morgen um 06:30 Uhr kam der Weckruf, allerdings nicht der vom Hotel (der war auf 07:00 Uhr bestellt), sondern der von meiner Mutter. Ich hab dann noch Nachrichten geschaut, mich danach geduscht, frisch gemacht, einen kurzen Abstecher in den Saunabereich (nur um mal zu schauen, was denn da so wäre) und dann raus aus dem Hotel, ab zur Bäckerei Kamps (die liegt direkt auf dem Weg) und erst mal was zum Frühstücken organisiert und dann auf hier her ins Schulungszentrum. Ein StarBucks Kaffee liegt auch hier auf dem Weg, dass muss werde schon mal ausprobieren.

Zur Schulung: Im "Student Guide" hab ich gelesen, dass wir neben den üblichen Dingen (Schema/Datenbank Design, Indexing, Statement Tuning) auch die Storage Engines durchsprechen werden. Dabei gibt es natürlich für MyISAM und InnoDB eigene Kapitel aber auch die neue, mit MySQL 6 kommende Falcon wird ein großes Thema sein.

Der Dozent ist auch da, die Klasse vollständig, ich meld mich später wieder mit Updates.

Mittagspause, wieder lecker in der Axel Springer Kantine, diese Woche ist "Schnitzeljagd" jeden Tag ein anderes Schnitzel, heute mit Käse und Zwiebeln überbacken und Pommes. Wunderbar. Den Dozenten mal auf Kickfire angesprochen. Das hat nichts mit technischer Raffinesse zu tun, viel mehr mit brachialer Gewalt, dieser "SQL-Prozessor" machst nichts weiter als hier und da Cachen, aber ansonsten ist das Ding einfach nur schnell, wegen zwei Quad-Core Xeon`s, 16 GB Ram, SAS Platten ...

Gestern Nachmittag dann noch sehr spannende Themen: Umkreissuche mit MySQL, wie macht XING das mit dem "Sie kennen Person X über" eigentlich, MySQL Indexing und Caching (ja, Prepared Statements werden seit MySQL 5.1.17 auch in den Query-Cache gelegt).

Abends ging es dann noch mit dem Dozenten und einem anderen Kursteilnehmer in die "Hackeschen Höfe" eine Berliner Weiße trinken. War ganz ok, eine reicht dann aber auch. Abends bin ich dann in meinem Hotel noch in die Sauna gegangen, drei Saunagänge in annähernd zweieinhalb Stunden.

Dritter Tag

Heute morgen kam wieder ein privater Weckruf, diesmal allerdings schon um kurz nach vier von meiner Frau, sie geht jetzt zur Arbeit (Frühschicht im Altenheim). Ich hab ihr von dem Hotel und der Sauna und dem Kurs vorgeschwärmt, alles perfekt hier. Danach hab ich mich wieder schlafen gelegt, weil ja um sieben der Weckruf vom Hotel kommt. Den hab ich dann auch gehört, aufgestanden, frisch gemacht, Richtung Schulungszentrum marschiert, unterwegs noch was zum Frühstück gekauft und an der Ampel den anderen Kursteilnehmer von gestern Abend wieder getroffen. Zusammen sind wir dann die restlichen 300m zum Schulungszentrum gelaufen. Heute geht es im Kurs weiter mit Server-Konfiguration und dem Thema MyISAM und INNODB.

Wow, man kann MySQL dieses Clipping abgewöhnen. Das "Feature", dass dafür sorgt, dass man eine 300 in ein TinyInt (max. 255) schreiben kann und dann aber einfach 255 drin steht, oder das beim schreiben in ein CHAR Feld, einfach der Rest, der nicht reinpasst abgeschnitten wird, kommentarlos. Der Zauberbefehl lautet: SET GLOBAL SQL_MODE=STRICT_ALL_TABLES;
Dann bekommt man eine Fehlermeldung geliefert. MySQL 5.1 machts möglich.

Wir haben dann noch die Innereien von MyISAM und InnoDB besprochen, InnoDB machen wir morgen noch gar fertig und dann wollen wir einen MySQL-Cluster aufsetzen, gehört zwar nicht zum Kurs, aber wir haben die Zeit und es macht Laune sagt der Dozent.

Vierter (letzter) Tag

Aus dem Hotel ausgecheckt, und ab ins Schulungszentrum. Die Vorfreude auf den Cluster und Falcon wächst :-)

So, InnoDB noch einiges gelernt. Da gibt es noch einige Features, die ich nicht kannte, bzw. die man einstellen sollte, ja sogar muss. Falcon haben wir uns nur kurz angeschaut, weil wir a) keine 6er MySQL hier installiert hatten und b) im allgemeinen mehr Interesse an dem Cluster bestand. Clustering haben wir dann besprochen und auch hier zum Laufen bekommen, das ging echt ratz fatz. Außerdem haben wir eine Buchempfehlung bekommen zum Thema Bäume in SQL: Joe Celko's Trees and Hierarchies in SQL for Smarties

Empfehlungen für weiterführende Kurse: Der MySQL High Availability kurs (weil Cluster und Replikation drin durchgesprochen wird) und das MySQL Boot Camp (von Morgens acht bis Abends acht alles um MySQL).

Tipp!

Der Kurs wird nicht günstiger, nur dadurch, dass er in Deutschland stattfindet. Folgendes Beispiel:

Ort Kosten Flug Hotel Gesamt
Berlin 1599 € 190 € 235 € 2024 €
Beijing (Peking) US$ 999 (~ 790 €) 800 € (ca.) 400 € (ca.) 1992 €

Der Dozent hat uns Empfohlen, dass wir das genau prüfen sollten, denn z.B. Kuala Lumpur, Neu Deli, usw. sind sehr günstig, vor allem durch den Wechselkurs zum Dollar. Die Mehrkosten für den Flug sind alleine dadurch schon wieder drin und das Hotel ist in der Regel günstiger (bzw. bei gleichem Geld eine höherer Standard). Das lässt sich dann auch prima mit Urlaub kombinieren und man spart sich gleich noch was dabei. Die Dozenten sind dort nicht von vor Ort, sondern kommen von irgendwo her, er selbst hat auch schon mehrmals Schulungen in Asien gehalten.

Berlin, Berlin, wir fahren nach Berlin

Am Montag morgen geht es los. MySQL Performance-Tuning Schulung in Berlin. Montag morgen per AirBerlin nach Tegel, Übernachtung im Hotel um die Ecke und Donnerstag Abend Rückflug von Tegel. Wenn Internet vorhanden, werde ich mich von dort melden.