Blog von Alexander Windbichler Aristochaot

30Jul/082

VW Werkstätte vs. ATU

Beim Autohändler meines Vertrauens, einem VW Händler, habe ich gefragt was ein Ölwechsel kosten würde. Insgesamt EUR 150,00 bis EUR 175,00 hätte ich dafür hinblättern dürfen. Beim ÖAMTC wären es ca. EUR 90,00 gewesen und beim ATU waren es dann schlussendlich nur EUR 54,00 inklusive Ölfilterwechsel.

Also:

Porsche Völkermarkterstraße (VW Werkstätte): EUR 150,00 bis EUR 175,00 (dazu unfreundlich, durchgehend genervt,...)

ÖAMTC: EUR 90,00 (auch sehr freundlich)

ATU: EUR 54,00 (gute Beratung, freundlich und schnelle Bearbeitung)

Mal davon abgesehen, dass ich bei dem Autohändler nie mehr ein Auto kaufen werde, genauso wie Jürgen (der auch nicht wenig Probleme mit seinem Auto hat ( Ich sag nur "Bin mal schnell beim Porsche, diskuttieren, dass die mir das Auto wieder reparieren") ), sind die Unterschiede wirklich enorm.

Filed under: Uncategorized 2 Comments
26Jul/086

Sequoia / Continuent Erfahrungen

Da ich mich in letzter Zeit sehr intensiv mit dem Thema MySQL Clustering mit Continuent bzw. Sequoia beschäftigt habe, werde ich hier mal eine Zusammenfassung meiner Arbeit und Tests bereitstellen, da es sonst im Web nahezu keine Erfahrungsberichte oder ähnliches gibt.

Was ist Sequoia / Continuent

Continuent bietet ein skalierbares Cluster für Datenbankserver, egal welcher Art. Einzige Vorgabe ist, dass ein JDBC Treiber vorhanden sein muss. Diesen findet man bei fast allen Datenbankservern, wie MySQL, MSSQL,...

Auf der Webseite wird dieses Cluster als Allheilmittel verkauft, das sowohl alle Skalierungsprobleme, als auch Hochverfügbarkeits-Probleme löst.

Was ist der Unterschied zwischen Continuent und Sequoia

Der einzige Unterschied ist, dass Continuent ein umfangreiches Supportpaket dabei hat, was Sequoia nicht hat, da es Opensource ist. Die Supportpakete sind so viel ich gesehen und gehört habe sehr teuer.

Allgemeines zu Sequoia

Das Cluster soll dazu dienen sowohl Schreibzugriffe, als auch Lesezugriffe auf mehrere Server aufzuteilen. Lesezugriffe sind ja gar nicht das Problem, das Problem - und das weiss jeder Admin der sich damit befasst hat - sind die Schreibzugriffe. Man greift auf das Sequoia Cluster zu und schreibt seine Queries (z.B. INSERT INTO table (testrow1, testrow2) VALUES ('test1', 'test2' ) ). Sequoia teilt diese so auf, dass diese a) auf jedem Node vorhanden sind und b) so geschrieben werden, dass man nicht in die Quere mit irgendwelchen AUTO-INCREMENT Werte kommt.

Soweit klingt das super und natürlich für jeden Administrator interessant.

Wie ist der Ablauf?

a) Man stellt den Query an den Controller - an eine virtuelle Datenbank.

b) Der Controller leitet diesen Request an das jeweilige Node weiter.

c) Ist ein Node nicht erreichbar, wird der Request nicht weitergeleitet.

d) Man bekommt ein Ergebnis zurückgeliefert und der Query ist abgeschlossen.

Die Datenbankserver im Hintergrund

Mit Sequoia kann man seitens der Backendinfrastruktur sämtliche Perversitäten und Vorlieben ausleben. Man kann als ersten Datenbankserver einen MySQL hinstellen, als zweiten einen PostgreSQL und als dritten einen Oracle Server. Das funktioniert wunderbar. Ob es Sinn macht sei dahingestellt, aber es geht.

Erstellen von Datenbanken

Beim Controller vom Sequoia muss eine virtuelle Datenbank zum Beispiel die myDB angelegt werden. Auf jedem weiteren Datenbanknode (Datenbankserver 1, 2 und 3) muss auch eine Datenbank angelegt werden. Da reicht einfaches CREATE DATABASE und man hat die gewünschte Datenbank.

Starten des Controllers und man kann normal auf seine virtuelle Datenbank zugreifen.

Also mit:

USER myDB;

SELECT * FROM table;

Ganz simple.

Schreiben von Datenbankeinträgen (INSERTs, UPDATEs)

Nun kommt das Enttäuschende. Wird nun ein INSERT getätigt, so wird dieser INSERT an jeden einzelnen Backend Server geleitet. Fällt euch was auf? Genau - wenn ich viele Schreibzugriffe habe, dann ist mein Cluster so stark wie das schwächste Glied und auch wenn das schwächste Glied ein Dual Quad Core Xeon mit 16GB Ram oder noch viel besser ist, bin ich irgendwann am Ende. Sprich es gibt keine Endlosskalierung der Schreibzugriffe.

Verwendung von InnoDB, MyISAM,...

Nachdem mein ganzes Cluster eigentlich nur aus einem intelligenten Skript besteht, welches die SQL Queries wie ein Proxy weiterleitet, kann ich im Hintergrund InnoDB, MyISAM, oder egal was sonst noch verwenden. Ich kann die Engines sogar mischen. Es ist nur ein Proxy.

Zugriff auf die virtuelle Datenbank

Lange Zeit hatte ich die Befürchtung, dass ich meine Applikationen auf einen JDBC Treiber umbauen muss, was natürlich für Hosting oder herkömmliche Applikationen total uninteressant wäre. Mit Myosotis bringt die Community einen Connector, der vor den Controller geschaltet wird, dass man herkömmlich über seinen Port 3306 zugreifen kann.

Anlegen von virtuellen Datenbanken

Das Gesamte System besteht aus virtuellen Datenbanken. Ein CREATE DATABASE ist nicht vorhanden. Um eine Datenbank anzulegen muss man die Konfiguriationsdatei vom Controller editieren und dort die Datenbank eintrage und den Controller neu starten.

Praxitext mit diversen Skripten

phpMyAdmin: Loggt man sich mit phpMyAdmin ein, so erscheint nicht die virtuelle Datenbank, sondern die Backend Datenbank. Von der virtuellen Datenbank keine Spur. Will man auf die anderen Datenbanken zugreifen, die am Backend Server liegen, erhält man keinen Zugriff. Ein SHOW PROCESSLIST bringt nur die Last der einzelnen Backend Server, es gibt keine wirklichen Analysefunktionen direkt über die SQL Befehle und ein SHOW DATABASES zeigt keine virtuelle Datenbank.

phpBB3: Dieses Board bringt ein umfangreiches Installationsskript und vor allem viele Datenbanktests mit. Es ist recht komplex aufgebaut, hin und wieder auch etwas langsam, eignet sich aber als nettes Testskript. Eine Installation verlief nicht wirklich erfolgreich, da offenbar Queries fehlgeschlagen sind, die aber auf den normalen Datenbankservern sehrwohl funktioniert haben. Weiters ist mir aufgefallen, dass trotz abgeschalteten Loggings das System sehr langsam war. Als phpMyAdmin die SQL Daten eingespielt hat, dauerte dies ca. 30 Sekunden! Man muss bedenken, dass Controller, MySQL Connector und beide Datenbanken auf ein und dem selben System lagen. Der Server lief auf volle 100% (P4 mit 2,4 GHz, 1 GB RAM). Freilich der Server ist kein starkes Ding, dennoch hätte es aber schneller gehen müssen.

Wordpress: Die Wordpress Installation ist sehr simple (datenbanktechnisch gesehen) und war auch erfolgreich, auch wenn Sequoia ein paar Fehler auswarf, offenbar funktionierte aber alles.

Fazit

Im Allgemeinen war meine Euphorie sehr schnell vorbei. Das System ist langsam, fehleranfällig und bringt weniger Vorteile als ein MySQL Proxy (der mir wenigstens die Readonly-Slaves bei einem Schreibzugriff nicht belastet bzw. nicht so stark, denn die Replikation arbeitet ein wenig anders). Ich habe sehr schnell aufgehört zu testen, nachdem sich das System sehr schnell aus unbrauchbar herausgestellt hat.

Interessant ist das System sicherlich für die ein oder andere Hochverfügbarkeitsanwendung oder bietet sich vielleicht als etwas schwächere Variante für einen MySQL Proxy an, wenn man viele Lesezugriffe hat.

Ich muss sagen, dass ich die Entwicklung weiter verfolgen werde, aber aktuell ist die Software noch lange nicht so weit, um es beispielsweise mit einem Orcale Cluster aufzunehmen.

23Jul/080

Von der Idee…bis zur Verwirklichung

Typischer Ablauf, wenn man wie auch immer auf eine Idee kommt, die interessant ist:

[22:11:30] Alexander Windbichler : das machen wir

[22:01:00] schoash : jop :)

[22:18:35] Jürgen Jaritsch : kenn i, is aber unintressant

Jürgen diese Euphorie Bremse :(

Filed under: Uncategorized No Comments
19Jul/080

Unsere zwei Katzen

Hier mal unsere beiden Katzen, die auch mal unbedingt ins Web müssen. Die eine kennt ihr ja bereits, die ist etwas über ein Jahr alt.

Luna (ca. 1 Jahr alt):

dsc00028.JPG

und Jenny (ca. 15 Jahre):

dsc00029.JPG

und nein: ich verkleinere meine Fotos nicht - so viel Zeit investiere ich in mein Blog nicht ;)

Filed under: Uncategorized No Comments
18Jul/081

HDL Song – Das Internet macht dich berühmt

Aktuell gibt es wieder einen jungen Deutschen bei dem es scheint, dass er bald in Talkshows auftreten wird: Der Jasper. Viele kennen das Youtube Video vielleicht auch jetzt schon. Allein in dieser Woche tauchte dieses Video mehrmals in verschiedenen IM Konferenzen auf, als auch in im einen oder anderen Blog auf.

Ich glaube nicht, dass sich der Jasper gedacht hätte, dass dies so schnell geht. Aktuell gibt es bei dem Lied nur knappe 200.000 Zuseher, was für's Internet reichlich wenig ist, aber in ein paar Wochen oder vielleicht wenigen Monaten wird er meiner Meinung sicher mal in der einen oder anderen Talkshow auftreten. Davon abgesehen wäre er ein würdiger DSDS Kandidat, da er wirklich singen kann, was man von den ganzen Kandidaten nicht immer behaupten kann.

Hier der HDL Song:

Filed under: Uncategorized 1 Comment
17Jul/083

HTC – Reiner Schrott

Ich benutzte seit ca. einem halben Jahr ein Handy von HTC.  Nachdem dieses Handy Exchange Anbindung bietet war es für mich eine super Lösung.

Nun habe ich wirklich sehr viele Handies ausprobiert:

- Nokia E50

- Blackberry

- etc. etc. etc.

Das HTC ist heute schon quer durch das Büro geflogen, weil:

1) Ich bekomme eine SMS

2) Ich antworte

3) 10 Minuten später komme ich drauf, dass sich das Handy in einer Endlosschleife befindet

4) Handy reagiert nicht mehr

5) Werfe es durch das Büro

6) Startet neu

7) SMS weg

Weiters:

- HTC startet durchgehend immer neu

- Auf einmal war der Bildschirm defekt zumindest ein Teil

- Das HTC ist derart LANGSAM dass ich meine SMS per Post versende

NIE WIEDER kaufe ich ein HTC!

Filed under: Uncategorized 3 Comments
16Jul/081

Internet Explorer, Sessions/Cookies und Unterstriche in Hostnamen

Gerade beschäftigte uns ein dummes Problem, dass bei einer Development Seite keine Cookies im IE angenommen werden. Wir schrieben alles um, testeten dann auch noch am selben Server alles durch.

Keine Chance - der Internet Explorer nimmt keine Cookies an. Am Live System nimmt er die Cookies aber an. Firefox, etc. funktioniert tadellos.

Nach ca. 6 Stunden Fehler suchen, googlen, umprogrammieren, Tests, etc. kamen wir auf den Fehler drauf:

Alter Host: http://prj_summer...

Neuer Host: http://prj-summer...

Was fällt euch auf? Genau! Der neue Host hat keinen Unterstrich, sondern einen Bindestrich und siehe da es funktioniert.

Laut RFC 1738 sind diese nicht exakt als Host freigegeben. Es dürfen nur Kleinbuchstaben (a-z), Zahlen, +, ., und - vorkommen. Interessant ist auch: Großschreibung ist auch nur eine Empfehlung und gar kein MUSS. Also aufpassen ;)

Filed under: Uncategorized 1 Comment
14Jul/080

Donner löst Alarmanlage aus

Grade eben donnerte es bei uns derart stark und der Regen war auch nicht ohne, dass Jürgen ins Büro kam und mir mitteilte, dass bei meinem Auto die Alarmanlage anging.

Nicht schlecht :D

Filed under: Uncategorized No Comments
7Jul/082

Eigentlich, nur wegen des Namens

Irgendwie schon komisch, wenn man einen Auftrag nicht bekommt, weil man keinen "bekannten" Namen hat und nur anhand dessen beurteilt wird und nicht anhand des eigentlichen Knowhows und der Erfahrung.

Naja kann man nichts machen, nur gerade mal wieder erlebt.

Beste Aussage bisher: "Soll ich etwa meinem Investor sagen, dass ein 20 Jähriger die Hand über mein ganzes Business hat?" - den Kunden bekamen wir übrigens und ich glaube er hat es nicht bereut ;)

Filed under: Uncategorized 2 Comments
7Jul/080

Telefonieren – irgendwie erschreckend

Irgendwie schon erschreckend, als ich meine letzte Telefonrechnung kontrolliert habe:

- knapp 2.000 Gespräche

- knapp 45 Stunden telefoniert

Die 45 Stunden erschrecken mich gar nicht, aber die 2.000 Gespräche irgendwie...

Filed under: Uncategorized No Comments