Nudge am 28.01.2013

DB-Performance von Zend

in MySQL, PHP | Tags: MySQL, Performance, PHP, Zend

Ich wollte das schon immer mal loswerden, habe aber bisher nie die Zeit dazu gefunden: Zend_Db und vor allem Zend_Db_Table  sind lame. So. Früher habe ich schon oft überlegt, warum tust du dir diesen ganzen SQL-Kram immer noch an? Es gibt doch angefangen von PDO auch so bequeme Frameworks wie Zend, CakePHP oder Symfony mit Doctrine. Niemand muss doch mehr diesen Quatsch selbst hacken. Aber am Ende steht manchmal noch die Frage im Raum, ob man nun eine komplexe Infrastruktur benötigt oder einfach mal ein bisschen schnelleren Code verwenden sollte. Zu der Zeit, als ich die Überlegungen traf, kam es halt (in meiner Situation) auf jede Millisekunde an.

Weiter lesen »

Nudge am 17.09.2011

MySQL: Die soziale Schere geht auf

in MySQL, Open Source | Tags: Community, LibreOffice, MySQL, OpenOffice, Oracle

Es war zu erwarten. Aber das es so deutlich wird, hat mich dann doch etwas schockiert. Oracle beschert der Open-Source-Datenbank zwar hier und da neue Features, aber die eigentliche Arbeit der Enterprise-Variante. Damit ist das geschaffen, was wohl Sinn und Zweck des Kaufs war: Wer im High-Performance-Bereich auf Datenbanken baut, wird wohl oder übel tief in die Tasche greifen müssen, Community-Editionen bringen die Leistung nicht. Vielen Dank, Oracle, das war kein Beitrag zu MySQL.

Dabei war MySQL seit Jahren berühmt für seine unkomplizierte, initiale Geschwindigkeit, die andere Datenbanken erst durch einen ganzen Beraterstab und viel Cluster-Foo erreichten. In diesem Sinne hat auch MySQL zum Erfolg des Internet beigetragen: Wieviele Foren, Blogs, Boards und Websites laufen nicht auf einer kleinen MySQL? Wenn MySQL später als Version Oracle 13m erscheinen wird, hat diese Linie ein Ende gefunden.

Die verschiedenen Clones dagegen kämpfen derweil mit organisatorischen Schwierigkeiten oder dem zerrissenen Publikum. Jedes der Projekte bietet eine eigene Welt von Vor- und Nachteilen. Damit ist keine gesunde Community vorhanden, die die Software zum Wachsen braucht. Es wäre Zeit, diese zu einem freien Pendant wieder zusammenzuführen. Dass es funktionieren kann, zeigt LibreOffice: Mit zügigen Releases wurde auf technischen Vorteil gesetzt, während in Villa Bajo noch Aktien gezählt wurden. Ich bin überzeugt, OpenOffice wird eines Tages wieder in LibreOffice eingegliedert.

PS: Wer das maximale aus seiner MySQL herausholen will, sollte sich unbedingt meinen Buch-Tipp hier rechts anschauen. Dieses dicke Ding ist voll von Erleuchtungen für den Performance-Jünger!

Nudge am 17.11.2010

Varchar Länge in MySQL

in MySQL, Tipp | Tags: MySQL, Performance, Unicode, varchar

Früher war es sehr oft üblich, varchar(255) an jede Hauswand zu sprühen, wo Text in MySQL zu speichern war. In letzter Zeit sehe ich häufig varchar(32), varchar(64) und so weiter in verschiedenen Datenbank-Layouts. Ist das besser? Welche Länge ist eigentlich gut? In diversen Foren wird über varchar diskutiert, denn es ist oft ein entscheidendes Performance-Kriterium.

Weiter lesen »

Nudge am 02.06.2010

MySQL: Join über verschiedene Datenbanken

in MySQL | Tags: Datenbank, Join, MySQL

Sicherlich wusstet ihr das alle schon seit Jahren. Ich hab’s heute für mich herausgefunden: Einen Join kann man also auch über mehrere Datenbanken (auf demselben MySQL-Server) machen. Ich finde, das Feature verdient einen kräftigen Applaus! <rauschendesGeräusch> 🙂

Man muss eigentlich nur den Datenbank-Namen vor die Tabelle schreiben. Also

1
... <DB1>.<Tabelle1> INNER JOIN <DB2>.<Tabelle2> ON ...
... <DB1>.<Tabelle1> INNER JOIN <DB2>.<Tabelle2> ON ...

oder ähnlich.

Nudge am 14.03.2010

CLT: Datenbanken

in Events, Linux, MySQL, Open Source | Tags: Chemitzer Linux-Tage, MySQL, Postgresql

Moin moin,

heute habe ich mir vorgenommen, die Datenbank-Schiene in voller Länge mitzunehmen. Los gings es mit Neuigkeiten in Postgresql 8.5, welches nun auch als Version 9.o firmiert. Da die Zeit mit 30 Minuten sehr kurz angesetzt war, ging es Schlag auf Schlag um neue Features, Bugfixes und Erweiterungen.

Nun läuft gerade “Sphinx- Improving weaknesses in MySQL”, welches auf Englisch gehalten wird. Ich müsste mich also konzentrieren statt zu bloggen, aber was tut man nicht alles für seine Community. 🙂

Daneben habe ich kurz den FSFE-Stand besucht und meine Shopping-Lüsten gepflegt und werde nachher noch LAX und weitere Stände anlaufen. Während eines Tee-Gespräches mit einem Hannoveraner Linux-Freak habe ich von einem Leipziger Hackerspace in Plagwitz (Westwerk) erfahren – sehr witzig. 😉

Nudge am 24.01.2010

Oracle bekommt MySQL

in MySQL | Tags: MySQL, Oracle, Politik, Sun

Oracle darf Sun kaufen und Hotels bekommen die günstigere Mehrwertsteuer. Das alles lässt stutzig werden, ob das vom Wähler so gewollt war.

Nudge am 20.12.2009

Ein klares Statement

in MySQL, PHP, Web | Tags: CalDAV, DAViCal, Kalender, Linux, MySQL, Postgresql, WebDAV, Windows

Auf der Suche nach einem zentralem Kalender bin ich auf das Projekt DAViCal gestoßen. Auf dessen Homepage steht dieses schöne Zitat:

“We use Debian GNU/Linux for this, but other people use various different versions of Linux, FreeBSD, Mac OSX and even Microsoft Windows. We definitely do not recommend using Windows for this unless you are completely hobbled by silly internal IT policies and have to do so.”

🙂

PS: Jetzt würde ich mir nur noch wünschen, dass es auf MySQL statt Postgresql läuft – wobei ich mir vorbehalte, diese Meinung nach dem Oracle-Sun-Deal zu überdenken…

Nudge am 04.12.2009

MySQL 5.1: Index vs Partition – ein Performance-Vergleich

in MySQL | Tags: Index, MySQL, Partition, Performance, Vergleich

Ich habe mich auf MySQL 5.1 schon länger gefreut, vor allem, weil Merged Tables und Partitionen auf dem Programm standen. Irgendwie habe ich allerdings nie die Zeit gefunden, diese neuen Features auszuprobieren. Nun ist es soweit, sich den Partitionen zu widmen. Sind sie wirklich so viel schneller als ein Index?

Weiter lesen »

Nudge am 01.12.2009

MySQL mit Two-Way-Synchronization ohne Replikation

in MySQL, Tipp | Tags: MySQL, Primary Key, Synchronisation

Anbei eine kleine Idee für alle, die verteilte Datenhaltung haben, und dazu eine architektonisch recht einfache Synchronisation brauchen. Manchmal kommt aus diversen Gründen ein Replikationsmechanismus nicht in Frage. Dafür nun die folgende Idee. Wir nutzen dabei aus, dass MySQL bei zusammengesetzten Indizes einen AUTO_INCREMENT-Wert pro distinktem Schlüsselpräfix zählt.

Weiter lesen »

Nudge am 28.07.2009

phpmyadmin – Indizes verwalten

in MySQL | Tags: Indizes, MySQL, phpmyadmin, UNIQUE

Was mich am meisten in den letzten phpmyadmin-Versionen stört, ist die Verwaltung von Indizes. Das war früher irgendwie einfacher.

Allein die Tatsache, dass man explizit Tabellen-Details anklicken muss, um die Indizes zu sehen, nervt einen zeitarmen DB-Admin schon nach kurzer Zeit. Desweiteren die Macke, standardmäßig “UNIQUE” auszuwählen. Man sagt “Erstelle einen neuen Index aus zwei Feldern” und schwupps, beschwert sich MySQL, dass die Contraints verletzt wurden. Das ist aber noch der bessere Fall, denn man kann es gleich verbessern. Läuft die Index-Anlage leise durch, hat man auf einmal einen UNIQUE drin, der dort nix zu suchen hat. Später wundert man sich, dass die DB-App nicht wirklich das tut, was sie soll. Das ist noch ärgerlicher.

Ich hoffe, dass die Autoren von phpmyadmin ihr Tool intensiv selbst benutzen und diese Verschlimmbesserungen ihren wohlverdienten Weg ins Klo finden werden. Natürlich könnt ihr jetzt mit einem stilechten “Das ist Open Source – mach es selbst!” kontern, aber ich kann mich wirklich nicht um alles kümmern! 😉