Datenbank-McGyver in München

05 04 2006
Ich habe ja schon seit längerer Zeit eine gewisse Leidenschaft für Datenbanken aller Art - nicht zuletzt für Firebird und Interbase (hallo Patrick!). Aber auch zu Hause frickel ich mit DB2 und Oracle (und zuletzt mit MS Sql Server 2005) herum - letzlich sind sogar meine Blogs in einer MySQL Datenbank, die sich ja in der 5er Version auch tatsächlich mal mit Joins und Transactions angefreundet hat.

Und so kam es, dass ich letzte Woche in München bei Unilog Integrata auf einem Datenbank-Seminar war, um mich mal wieder auf den Stand der Tatsachen zu bringen.


Besonders im Fokus standen neben den alten hierachischen Datenbanken, natürlich die gängigen Relationalen (DB2, Oracle 10g) aber auch objektorientierte DBMS wie poet (hier ein interessanter Artikel) und jasmine. Vermutlich um sich vor dem weiter stetig abgrabenden Wasser der Open-Source Datenbanken zu wehren, bieten die kommerziellen Anbieter durchweg kostenlose Express-Datenbanken an: Oracle, IBM DB2, Microsoft SQL Server 2005.

Besonderes Augenmerk hat für mich die Firebird Datenbank, die sich schon seit der 1.5er Version längst von ihren Wurzeln aus dem Interbase RDBMS losgelöst hat. Meiner Meinung nach stand sie stets eine Stufe über MySQL und bietet in der kommenden Version 2.0 bahnbrechende Neuerungen. (Seit 30. März gibt es den ersten Release Candidate der 2er Version hier zum Download!)

Wie in einem Artikel von Der Entwickler schön zu lesen ist, gibt es folgende Neuerungen:

  • Die On-Disk-Structure (ODS) Version 11 bringt eine neue Indexstruktur und damit eine größere maximale Indexlänge sowie eine geringere CPU-Auslastung bei der Garbage Collection.
  • Es gibt eine Performance-Steigerung durch einen verbesserten Optimizer und Erhöhung der maximalen Cachegröße. Bei der SuperServer-Variante gibt es außerdem Verbesserungen im Lock- und Thread-Pool-Manager sowie der Garbage-Collection.
  • Spracherweiterungen sind vor allem “Derived Tables” (Unterabfragen in der FROM-Klausel) und “Expression-Indizes” (Ausdrücke im Index). Außerdem gibt es verschiedene Syntax-Erweiterungen, ein INSERT mit RETURNING-Klausel sowie Erweiterungen im PSQL (z.B. dynamisches SQL per “EXECUTE BLOCK”)
  • Es gibt benutzerdefinierte Kontextvariablen, die vom Entwickler definiert werden können und entweder session- oder transaktionsweit gelten. Praktisch ist dies zum Beispiel, um anwendungsspezifische Logins direkt in der Datenbank verfügbar zu haben.
  • Bei der Administration gibt es Unterstützung für inkrementelle Backups mit NBak/NBackup.


Gerade die abgeleiteten Tabellen sind interessant, bei denen Unterabfragen in der FROM-Klausel einer SQL-Anweisung möglich sind. Das folgende Listing zeigt ein einfaches Beispiel für eine Derived Table:

select min(sum_budget) from
(
select
department
, sum(budget) as sum_budget
from
department
group by
department
);



Hier
ist die Roadmap von Firebird - es wird also interessant - und da kann sich stellenweise MySQL wirklich eine Scheibe von abschneiden. :-)


Bundesliga live - kostenlos?

04 04 2006
Ich habe kein Premiere und möchte dennoch gerne die Fußball-Bundesliga gucken, ohne in eine Sportsbar gehen zu müssen. Mhh. So geht es einigen tausend anderen Sportguckern in Deutschland auch und ich kann nach eigenen Tests sagen - es geht jetzt auch von zu Hause - kostenlos (und legal).

Einzige Vorraussetzung ist ein flotter Breitband-Anschluß - und den hat ja mittlerweile schon jeder 4. Haushalt in Deutschland.
Möglich macht dies ein chinesischer Free-TV Sender. Da das Interesse im asiatischen Raum an der deutschen Bundesliga stark gestiegen ist, hat sich der Sender CCTV-5 (Chinese Central Television) eine Lizenz gesichert, um die deutsche Bundesliga übertragen zu dürfen - noch besser: mittlerweile zeigen auch andere Internetsender die Deutsche Bundesliga und andere europäische Fussballspiele.

Um diese in Deutschland empfangen zu können, einfach PPLive hier runterladen (alternative Downloadmöglichkeit hier, falls Link oben nicht erreichbar). Anschließend das Programm installieren und dann das PPLive TV Engine öffnen. Dort kann man über die Chanellist z.B. den Sender CCTV-5 auswählen, auf dem dann jedes Wochenende Bundesliga übertragen wird.

Danke an Tipp-Des-Monats, für diesen tollen Hinweis.


Deprecated: Assigning the return value of new by reference is deprecated in /var/www/arrogant.info/var/html/www/serendipity/include/plugin_api.inc.php on line 560

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/arrogant.info/var/html/www/serendipity/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php on line 464

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/arrogant.info/var/html/www/serendipity/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php on line 489

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/arrogant.info/var/html/www/serendipity/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php on line 533

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/arrogant.info/var/html/www/serendipity/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php on line 870

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/arrogant.info/var/html/www/serendipity/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php on line 388

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/arrogant.info/var/html/www/serendipity/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php on line 432

Deprecated: Function split() is deprecated in /var/www/arrogant.info/var/html/www/serendipity/plugins/serendipity_event_randomblogdescription/serendipity_event_randomblogdescription.php on line 81