[storm] ORM choice discussion at work
Brad Allen
ballen at zeomega.com
Sat Jul 5 17:54:58 BST 2008
Stormers,
The choice between Storm and SQLAlchemy has just become a major topic at
my place of work. I don't want to start a flame war on this list, so if
you are interested in this discussion please respond to me off-list by
mailing me directly.
We are using Storm in a pilot project, using the MS SQL backend we
created; it is branched at
<https://code.launchpad.net/~zeomega/storm/storm_ms_sql_2005>. It has
specific support for mxODBC but is designed with a separate module to
allow registering different connectors such as pyodbc, etc. ZeOmega has
released it to the community under the same license as Storm.
So far, Storm with the custom backend is working fine for our project,
though it still doesn't pass all the Storm unit tests; I still have some
work to do on unicode support and correcting some of the test setups.
That's why I haven't yet submitted the branch for review to be added to
Storm trunk.
However, we don't need unicode support for our application (yet!) and
the priority has been supporting our existing (non unicode) MS SQL 2005
database.
As our pilot project has gotten underway, with additional developers
learning to use Storm, our company leadership has started a discussion
with the premise that we should standardize on a single ORM--either
Storm or SQLAlchemy. They don't want to spend company training and
development resources to support different ORMs for different projects.
We have about 80 Python/Zope/Plone developers, with three main platforms
for application development:
* Zope 2 (our main product development) uses MS SQL 2005 for db layer
* Plone (for numerous consulting jobs) usually uses Postgres for db layer
* plain Python libraries/scripts
This last is the area where we've started using Storm in a pilot
project; this project targets the same database main Zope 2 app. One of
our clients has lots of external integration points and we have built a
set of Python libraries to support external integration.
Two of those Python packages now have Storm dependencies, and are
beginning to show why an ORM approach results in very manageable code.
The next step will be to consider how we can replace the zsql approach
used in our Zope 2 and Plone applications.
Naturally our company leadership is now questioning the choice of Storm,
given that it is not as mature as SQLAlchemy. In particular, they want
to know if it will be a good fit for Plone, and if anyone is willing to
do work to create a Storm storage for "Plone AT" (ATypes?). I don't know
much about Plone, but if anyone is doing any Plone/Storm work please let
me know.
Any insights or contributions to this discussion would be appreciated,
and we are open to hiring consultants as well.
Thanks!
--
ZeOmega
Open Minds' Open Solutions
2591 Dallas Parkway #408
Frisco TX, 75034
http://www.zeomega.com
Brad Allen
214-618-9880 (ext. 8006)
More information about the storm
mailing list