[vz-dev] Datenbankabstraktion

Steffen Vogel info at steffenvogel.de
Thu Jun 3 21:12:40 CEST 2010


Hallo Liste,

ich habe die letzten Tage noch mal etwas Arbeit in die Datenstrukturen
und die Datenbankabstraktion gesteckt:

http://github.com/steffenvogel/volkszaehler.org/tree/newbackend
(haupsächlich im /lib Verzeichnis)

Die /lib/db Verzeichnis liegt die Datenbank Abstraktion mit
Schnittstellen zu MySql, PostgreSql und SqLite.

Die abstrakte Klasse DatabaseObject ist ein Grundgerüst für alle in der
Datenbank vorhanden Daten. Die User, Channel, Group Klassen erben von
ihr.

Das hält die Datenabstraktion schön übersichtlich. Eine Hand voll SQL
Statements in der Klasse DatabaseObject genügen.

Jetzt meine Frage:

Am Montag, den 31.05.2010, 10:39 +0200 schrieb Philipp Neuhaus:
> BTW: http://de3.php.net/manual/en/book.pdo.php
> 
> PDO ist meiner Erfahrung nach weitgehend unbekannt, sollte aber alle 
> Probleme erschlagen... ;-)
> 
> Grüße
> Philipp

Ich habe mir PDO mal etwas näher angesehen und dessen Performance
verglichen. Mit den richtigen Parametern kommt PDO knapp an die
Performance der nativen Schnittstellen (mysql_query etc.) heran.
Darüber hinaus besitzt PDO einige sehr nützliche Funktionen
(Transactions, Prepared Statements).
Und es besitzt eine sehr konsistente und einheitliche Oberfläche für
eine Vielzahl von Datenbanken.

Ich habe zwar schon ein DAL für uns implementiert (/lib/db). Dabei bin
ich auf einige Probleme gestoßen, die PDO sehr schön löst. Nachdem ich
mir PDO angeschaut habe, würde ich jedoch meinen Code wieder über den
Haufen werden und zu PDO wechseln. Die Anpassungen wären minimal.

Was haltet ihr davon?

gruß Steffen

PS: hab mein AVR-NET-IO gerade bestellt :p

-- 
Steffen Vogel
Roonstraße 106
Köln

Cell: +49 (176) 96978528
Web: http://www.steffenvogel.de
Mail & MSN: info at steffenvogel.de
ICQ: 236033

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: Dies ist ein digital signierter Nachrichtenteil
Url : http://volkszaehler.org/pipermail/volkszaehler-dev/attachments/20100603/645a5327/attachment.pgp 


More information about the volkszaehler-dev mailing list