Seite 1 von 2

Re: FIAE - Python Projektantrag

Verfasst: Dienstag 13. Februar 2007, 09:52
von gerold
de_master hat geschrieben:was habe ich denn bei PostgreSQL für Vorteile?
Hi Michael!

Die meisten Unterschiede kommen erst bei größeren Anwendungen zum Tragen. Das fängt damit an, dass die Unicode-Unterstützung bei psycopg2 spitzenmäßig funktioniert und das schon seit mehreren Versionen. Die Lizenz bei PostgreSQL ist einfach und durchschaubar. Bei MySQL weiß ich immer noch nicht, ab wann ich Lizenzgebühren an MySQL-AB zahlen muss. PostgreSQL kann schon lange mit Transaktionen, Triggern, Prozeduren, Views und Foreign Keys umgehen. Bei MySQL wurden einige dieser Dinge erst viel später und das auch nicht zu jedem Tabellentyp hinzuprogrammiert.

PostgreSQL beherrscht die eingebaute Sprache PL/PGSQL, was der Sprache von Oracle ziemlich nahe kommt. Es gibt sogar Projekte, die sich erfolgreich zum Ziel gesetzt haben, PostgreSQL so umzuprogrammieren, dass es sich nach ausen wie Oracle anfühlt.

Es gibt von psycopg2 auch ein officielles Release für Windows und Python 2.5: http://www.stickpeople.com/projects/pyt ... index.html

Sinnvolle Erweiterungen gibt es bei psycopg2 auch: http://www.initd.org/tracker/psycopg/wi ... umentation

Dann sollte man nicht vergessen, dass der PostgreSQL-Server, verbundene Clients über Ereignisse benachrichtigen kann. Auch das wurde in psycopg2 umgesetzt, auch wenn ich es noch nie eingesetzt habe.

Wenn man ORMs einsetzt, dann kann man von vielen dieser Features wahrscheinlich nicht profitieren. Dann ist es auch ziemlich egal, welches Datenbanksystem man verwendet.

Und zum Abschluss noch ein Auszug aus Wikipedia:
PostgreSQL ist eines der ältesten und am weitesten fortgeschrittenen objektrelationalen Datenbanksysteme (ORDBMS) im Bereich der freien Software.

PostgreSQL ist weitgehend konform mit dem SQL92/SQL99/SQL2003-Standard, d. h. alle in dem Standard geforderten Funktionen stehen zur Verfügung und verhalten sich so wie vom Standard gefordert; dies ist bei manchen kommerziellen sowie nichtkommerziellen SQL-Datenbanken bisweilen nicht gegeben.
mfg
Gerold
:-)

PS: Nein, ich wollte eigentlich nicht so viel dazu schreiben. :-)

Verfasst: Dienstag 13. Februar 2007, 09:58
von de_master
Ich schau mir das ganze mal an :).
Jedoch werd ich wohl entweder Oracle under MySQL benutzen. Im geschäft habe ich genügend Oracle u. MySQL Profis :). Für das Abschlussprojekt reicht eigentlich eine MySQL Datenbank.

Gruss Michael

Verfasst: Dienstag 13. Februar 2007, 10:37
von jens
Also ich würde einfach SQLAlchemy nutzten und somit unabhängig von der DB bleiben.

IMHO muss man eine Anwendung nur dann gezielt auf der DB zuscheiden wenn sie sehr groß ist und damit die Performances eine große Rolle spielt.

Verfasst: Dienstag 13. Februar 2007, 15:09
von Leonidas
jens hat geschrieben:IMHO muss man eine Anwendung nur dann gezielt auf der DB zuscheiden wenn sie sehr groß ist und damit die Performances eine große Rolle spielt.
Meist muss man eine Applikation auf eine Datenbank zuschneiden, wenn eine Datenbank etwas bietet, was ORMs nicht tun. Und PostgreSQL bietet viele Sachen, die ORMs nicht unterstützen.
Ist nur die Frage - braucht mans?

Verfasst: Dienstag 13. Februar 2007, 15:41
von jens
Leonidas hat geschrieben:Ist nur die Frage - braucht mans?
Genau das meine ich. IMHO braucht man all diese tollen Features nur dann, wenn man die Performance steigern möchte. Das braucht man aber eigentlich erst dann zu machen, wenn diese nicht ausreicht.

Im Grunde ist es das selbe wie [wiki]Python Performance[/wiki]

Verfasst: Dienstag 13. Februar 2007, 16:43
von Masaru
Hallo de_master,

mich würde einmal interessieren, ob du schon den Projektantrag abgeschickt hast.

Ich habe meine FIAE Abschlussprüfung Winter 2006 in Hamburg absolviert und wundere mich nur über ein paar Dinge.

Es hat nicht speziell etwas mit Python an sich zu tun, sondern mehr mit dem Umfang und der Form des Antrags selbst.

Letztendlich nämlich ist gar nicht einmal die tatsächlich Implementierung das Hauptaugenmerk der Prüfer, sondern vielmehr das ganze um einen Software/Lösungs-Schaffungsprozesses drum herum (also mehr die Punkte "wie, warum und womit", als das letztendliche "was").

Z.B. vermisse ich bei dem Kapitel "Projektphasen" Punkte wie:
- Evaluierung von Alternativen
- Kosten- Nutzenanalyse
- Qualitätssicherung
- etc.

Bei der Erstellung des Projektantrages findet man zudem recht gute Hilfestellungen unter: http://www.fachinformatiker.de/

Im dortigen Forum hat man auch die Möglichkeit seinen Projektantrag zu posten, und ihn den kritschen Blicken der Mitglieder (worunter Auszubildende, aktuelle und ehemalige Prüflinge, Ausbilder wie auch Prüfer von Handelskammern sich drunter befinden) auszusetzen.

Achja, ich habe auch Projekte gesehen, bei denen die Absolventen nicht einen Brocken "Code" entwickelt ... und sehr erfolgreich sogar bestanden haben ;).

Die Einholung von "pythonischen Tipps und Meinungen" :D ist eine gute Sache, jedoch hat der tatsächliche Implementierungsabschnitt einen eher kleinen Stellenwert in der Abschlussprüfung zum Fachinformatiker für Anwendungsentwicklung.

Gruß und auf jeden Fall viel Erfolg bei deinem Abschluss,
>>Masaru<<

Verfasst: Dienstag 13. Februar 2007, 16:47
von Leonidas
jens hat geschrieben:IMHO braucht man all diese tollen Features nur dann, wenn man die Performance steigern möchte.
Nein - Trigger, Views, Stored Procedures, Foreign Keys haben wenig mit Performance zu tun. Das ist ja so als würde man sagen, dass man OOP nutzt, weil die Programme dann schneller laufen.