COUNT(*) oder doch lieber COUNT(foo)?

Sicherlich haben sich viele Entwickler schon gefragt ob es eigentlich einen Unterschied zwischen COUNT(*) und COUNT(foo) gibt. Antwort auf diese Frage findet man, wie könnte es anders sein, im MySQL Performance Blog. Da mir gerade die Zeit fehlt das ganze auf deutsch nieder zu schreiben müsst ihr euch mit der englischen Originalversion abfinden. ;-)

MySQL Datenback Backup wieder einspielen

Nachdem ich letztens ja schon berichtet habe wie man ein Backup (sofern man Shell-Zugriff hat) einer MySQL Datenbank macht sollte man natürlich auch wissen wie man das ganze wieder importieren kann.

mysql -u BENUTZERNAME -p DATENBANK < BACKUP.SQL

Einfach BENUTZERNAME mit dem entsprechendem Benutzernamen für den Datenbankzugang, DATENBANK mit dem Namen der Datenbank und BACKUP.SQL mit einem Wunsch-Dateinamen ersetzen und schon kanns los gehen!

MySQL Datenbank Backup

Da ich hin und wieder mal gefragt werden wie man eigentlich ein Backup einer MySQL Datenbank machen kann ohne phpMyAdmin oder andere web-basierte Software einzusetzen, hier die Antwort:

mysqldump

Beispiel:

mysqldump -u BENUTZERNAME -p DATENBANK > BACKUP.SQL

Einfach BENUTZERNAME mit dem entsprechendem Benutzernamen für den Datenbankzugang, DATENBANK mit dem Namen der Datenbank und BACKUP.SQL mit einem Wunsch-Dateinamen ersetzen und schon kanns los gehen!

mysqldump kann natürlich noch viel mehr, weitere Informationen über mögliche Aufrufparameter findet ihr auf der in der MySQL Dokumentation.

PHP Sessions – MySQL -> Datei basiert

Wer sich schon immer gefragt hat wo die Vor-/Nachteile von Datei bzw. Datenbank basierten Sessions liegt sollte mal einen Blick ins MySQL Performance Blog werfen, hier findet sich ein wirklich guter Tipp wie man möglichst unproblematisch von Datenbank basierten Sessions zurück zu Datei basierten Sessions wechseln kann.

MySQL und Ubuntu

Laut Pro-Linux will [tag]MySQL[/tag] in Zukunft in Sachen [tag]OpenSource[/tag]-Entwicklung mehr fördern und mit der [tag]Linux[/tag] Distribution Ubuntu kooperieren. Ich weiß ja nicht was die Leute an [tag]Ubuntu[/tag] so toll finden, irgendwie nicht mein Ding aber das ist wie fast alles im Leben reine Geschmackssache.

Neue MySQL Datenbank Engine

Wie man auf internetnews.com nachlesen kann plant [tag]MySQL[/tag] wohl die Entwicklung einer weiteren hoch skalierbaren Engine.

Auch wenn die Zukunft von InnoDB nicht gefährdet zu sein scheint, entwickelt MySQL mit [tag]Falcon[/tag] (Name der neuen Engine) eine weitere Engine mit der Unterstützung für Transaktionen. Optimiert werden soll Falcon vor allem für hoch skalierbare Web-Anwendungen. Die momentanen Engines wie [tag]MyISAM[/tag] oder eben InnoDB arbeiten momentan noch mit Sperren (LOCKS) um den gleichzeitigen Zugriff mehrere Anwender auf Datenbanken zu gewährleisten. Mit steigender Zahl der Anwender steigt hier natürlich auch der Overhead. Laut Jim Starkey will er hier die Leistung von neueren CPUs ausnutzen um so die Sperren zu minimieren und somit weitaus mehr gleichzeitige Zugriffe auf die Datenbank zu ermöglichen.
Falcon soll vor allem für hoch skalierbare Web-Anwendungen optimiert werden. Bisherige Engines wie MyISAM (die Standardeinstellung) oder [tag]InnoDB[/tag] arbeiten mit Sperren, um den gleichzeitigen Zugriff von mehreren Anwendern auf die Datenbank zu ermöglichen. Der Overhead hierfür wächst mit der Zahl der Anwender. Jim Starkey soll im Begriff sein, die Leistung moderner CPUs auszunutzen, um die Sperren zu minimieren und mehr gleichzeitige Zugriffe auf die Datenbank zu ermöglichen.

Ich bin gespannt wie es in Sachen MySQL Engines weiter geht, laut Aussagen von MySQL soll es ja neben Falcon auch noch einige andere Storage Engines geben. Falcon soll übrigends noch dieses Jahr mit der Version 5.1 des OpenSource [tag]SQL[/tag] Servers MySQL erscheinen.

MySQL 5.1 Beta

Wie ich eben im PHP-Center gelesen habe wurde mit Version 5.1.7 das Alpha-Stadium für [tag]MySQL 5.1[/tag] beendet.

Neues gibt es natürlich auch einiges in der kommenden Version, neben Tabellen- und Indexpartitionierungen, Row-Basierten Replikationen, [tag]Cluster[/tag]-Replikationen, einer erweiterten Volltextsuche, ein Event-Scheduler sowie [tag]XML[/tag] und [tag]XPath[/tag] Unterstützung.

IHK Veranstaltung – Open-Source-Software

Am Dienstag findet bei der [tag]IHK[/tag] [tag]Würzburg[/tag], die nur wenige Meter von mir entfernt ist, eine Veranstaltung über Open-Source-Software in Unternehmen statt. Hier werde ich natürlich anwesend sein und mir anhören was diverse Leute dazu zu sagen haben, auch wenn ich im eigentlichen bereits seit Beginn meiner Selbständigkeit auf [tag]Open-Source-Software[/tag] wie z.B. Linux, PHP oder MySQL setze.

Update: Wie in meinem Kommentar bereits erwähnt war die Veranstaltung selber für meine Wenigkeit eigentlich völlige Zeitverschwendung, dennoch gab es das eine oder andere nette Gespräch mit anderen Unternehmern. Ich bleibe bei der Meinung das die Veranstaltung für Firmen die bisher auf Software aus Redmond setzen sicherlich interessant gewesen ist, für jemanden der aber bereits das Open-Source Prinzip vertritt eben weniger interessant.

IRC Bot mit PHP entwickeln

Einen wirklich interessanten (zumindestens für manche) IBM developerWorks Artikel versteckt sich hinter “How to turn your PHP application into a bot“. Wie der Titel schon vermuten lässt ist der Artikel erstens auf englisch verfasst und zweitens geht es darum wohl um die Entwicklung eines Bots mit Hilfe von PHP. Im genauen geht es in diesem Artikel um die Entwicklung eines IRC Bots mit Hilfe des PEAR Paketes Net_SmartIRC. Sofern man denkt man müsste einen derartigen IRC Bot mit Hilfe von PHP entwickeln ist dieser Artikel sicherlich mehr als hilfreich.

Wer überhaupt nicht weiter kommt kann sich bei be|script ein unverbindliches Angebot anfordern.

MySQL XML Funktionen

Demnächst soll die Alpha Version 5.1.5 von MySQL erscheinen die erstmals Funktionen zum Umgang mit XML beinhalten soll. Ich bin gespannt wie das Performance mäßig so sein wird, es wird auf jedenfall stellenweise sicherlich die Arbeit um einiges erleichtern.