ORM - SQLAlchemy vs. Storm vs. Autumn

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

BlackJack hat geschrieben:Bis jetzt wurde glaube ich `Elixir` hier noch nicht erwähnt -- ein ORM, das auf SQLAlchemy aufbaut um das, was hier als "Setup-Overhead" bezeichnet wurde, zu beseitigen.
Auch wenn es in SQLAlchemy mittlerweile ein deklaratives Vorgehen gibt, empfand ich Elixir da deutlich angenehmer, auch beim Erstellen von n:m-Relationen; nur zusätzliche Attribute bei n:m habe ich nie wirklich hinbekommen.

Ich würde aber mal sagen, dass es sich lohnt, sich einen ORM wie SQLAlchemy mal anzugucken und sich auch mal durch den Overhead durchzuquälen. Ohne sich wirklich mit etwas befasst zu haben, kann man den (Mehr-)Wert immer schlecht einschätzen.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

Update:

habe mich mal ein bisschen mit SQLAlchemy beschäftigt (der Mensch ist doch ein Herdentier ;-) ). Es ist gar nicht so kompliziert, wie es zuerst wirkt. Und die Doku ist auch ziemlich verständlich geschrieben.

Ob ich es am Ende wirklich einsetze, d.h. brauche weiß ich auch noch nicht. Mal schauen. :-)

Gruß, noisefloor
lunar

noisefloor hat geschrieben:Es ist gar nicht so kompliziert, wie es zuerst wirkt.
Das gilt jetzt so ziemlich für fast alles, mit dem man sich näher beschäftigt hat ... ;)
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Das gilt jetzt so ziemlich für fast alles, mit dem man sich näher beschäftigt hat ...
Ja, bekannte Ausnahmen sind:
  • Inhaltsverzeichnisse für PDFs mit ReportLab erstellen
  • Windows API
  • Weltfrieden
  • Frauen
:D

Gruß, noisefloor
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

noisefloor hat geschrieben: [*]Frauen[/list]
Das ist aber alternierend ;-) Oder zumindest schwankend...

Prinzipiell kommt es im Python-Umfeld aber schon auch auf die API / das Modul an. Manche sind einfach schlecht designed und deshalb kompliziert; wenn dann noch die Doku mau ist, wirds nur dadurch besser, indem man sich damit nicht näher befasst und sich Alternativen sucht ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

kurzer Status meinerseits: SQLAlchemy ist toll! :-) (Im Ernst!)

Angefangen habe ich über den "Umweg" SqlSoup, worauf ich nur per Zufall gestoßen bin, weil das ja hier nie einer erwähnt. ;-) Für Legacy-DBs aber IMHO genau das richtige.

Vor kurzem habe ich dann auch ein "richtiges Mapping (via declarative_base) gemacht. Schon alles sehr cool. Und einfacher, als es auf den ersten Blick aussieht. :-)

Gruß, noisefloor
vocoder
User
Beiträge: 13
Registriert: Samstag 2. April 2011, 00:37

Also ich benutze Storm und es funktioniert super, ist einfach zu bedienen. Leider ist die Dokumentation bisher unvollständig: Nachholbedarf bei Canonical!

Wenn ihr Fragen zu Storm habt könnt ihr sie mir gerne stellen. :-)
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Alles, was ich als Greenhorn zu diesem Thema sagen kann:

Die Leute von SQLAlchemy verdienen ein dickes Lob für ihre Dokumentation!!
Sowohl das Tutorial als auch der Doku-Teil sind richtig gut gemacht. Oft habe ich ja nach dem Lesen einer Doku mehr Fragen als zuvor... Bei SA wird man sehr ausführlich und umfassend informiert!
Auch die Möglichkeit, sich die zugrunde liegenden SQL-Befehle anzeigen zu lassen, finde ich Klasse.

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

die Doku von Storm ist auch gut, also die Teile, die fertig sind. Es fehlt halt nur was - und das schon länger.

Wenn man das so sieht, dann könnte man denken, Canonical hätte Storm in erster Linie für sich selber geschrieben und lässt den Community-Teil nur so "nebenbei" laufen...

Gruß, noisefloor
vocoder
User
Beiträge: 13
Registriert: Samstag 2. April 2011, 00:37

Hast Recht, eine weitere Quelle für Storm Dokumentation ist die Community Mailingliste: http://news.gmane.org/gmane.comp.python.storm
mpathy
User
Beiträge: 48
Registriert: Montag 17. September 2007, 12:29

noisefloor hat geschrieben:Hallo,

die Doku von Storm ist auch gut, also die Teile, die fertig sind. Es fehlt halt nur was - und das schon länger.

Wenn man das so sieht, dann könnte man denken, Canonical hätte Storm in erster Linie für sich selber geschrieben und lässt den Community-Teil nur so "nebenbei" laufen...

Gruß, noisefloor
So sah das für mich auch aus.
Und die Annahme, das außer SQLalchemy eigentlich nur noch Storm aktiv und regelmäßig weiterentwickelt wird, ist auch richtig, oder?
So sah es für mich aus, als ich mir die Websites angeschaut habe, deren News, deren letzte Commits, die Häufigkeit...

Da Canonical aber nicht so sehr dran interessiert ist, gute Doku zu produzieren - dieses under construction steht dort seit die Website existiert - bleibt wohl echt nur SQLalchemy und Djangos DB-Zeug wenn mann den Django nutzt.
Antworten