This article is obsolete. Please refer to the following articles for up do date instructions: Ruby/Rails and DB2 | Python/Django and DB2. Thank you!
Python 3000’s first alpha release was made available last week, and as to be expected, it gathered a lot of interest from the development community. With Python on everyone’s lips, let’s talk about Python in this post as well.
Python and DB2
Back in March we gathered an overwhelming amount of feedback in regards to IBM’s interest in developing a reliable driver and adapter for Python and Django, just like we did for Ruby and RoR. We considered your feedback and took action. I’m glad to be able to “leak” some news to you: our team in the States has been working hard on an advanced driver whose initial development is about to be completed. A closed beta is expected to take place relatively soon, but not immediately.
The Python DB2 driver will be the stepping stone and we have decided to proceed with the creation of an adapter for SQLAlchemy first, and for the default Django ORM next. Enabling SQLAlchemy and DB2 means going further than just Django. It means automatically providing support for any framework that builds on top of it. The development of these adapters should not require too much time. Building a modern, fast and reliable driver was our number one priority and the most challenging part, but now that that component is almost complete, the rest should be smooth sailing from here on out.
Pythonistas’ reactions
In the last few weeks I’ve received many emails in regards to requests about Python and DB2. I have yet to finish replying to everyone, so I thought I would proceed with a public update. Some of these emails are very interesting because they come from very prepared programmers who are willing to help and have good ideas for creating plugins that exploit the unique features of DB2 like pureXML, DB2 Spatial Extender, and so on. Many people see the big potential of having DB2 working with Python, SQLAlchemy and Django, and are really looking forward to it.
The Rails community seems to be more oriented towards MySQL while the Django/Python one leans towards the historically more feature-rich PostgreSQL. I wonder if this difference explains the wider interest amongst pythonistas in seeing a best-selling, high-quality database like DB2 become available.
DB2 Express-C
As a remainder, for those of you who may not be in the loop, DB2 Express-C is an awesome free version of DB2 that doesn’t pose any limits on your database size, connections or users. You can run it on any server with up to 4GB of RAM and 4 CPU cores (the limit is in the license; the code is essentially the same as that of the more expensive versions). You also get native XML storage and querying, high performances and endless scalability. It won’t cost you a cent, but should you require it, you can optionally purchase one year support and get High Availability Disaster Recovery as well at a very competitive price per server.
There is a bigger surprise in the making, and this should be available in a month or so. However I’m absolutely not able to talk about it for the time being, so I’ll have to leave you hanging. As usual, it will be covered in this blog in due time, and it’s sure to please many people, so please feel free to subscribe to this blog by feed or by email if you haven’t done so already.
Get more stuff like this
Subscribe to my mailing list to receive similar updates about programming.
Thank you for subscribing. Please check your email to confirm your subscription.
Something went wrong.
hi Antonio –
that is great news ! We have a trac ticket (#567) regarding a DB2 driver contribution, but that patch is against 0.3 and is looking for help (it would be best for a SQLAlchemy contribution to be against version 0.4 which is near its first non-beta release).
It would also be nice if someone with DB2 access also could at some point run a buildbot, i.e. like http://pylonshq.com:8012/ so that the DB2 dialect could participate in continuous testing against SQLAlchemy revisions.
– mike
Please, a question regarding “the limit is in the license”. What does it mean exactly? That if you put DB2 Express-C in an i.e. 8GB Ram machine it will work and you will break que license? Or DB2 Express-C will only use 4GB from 8Gb??
The last is what Oracle Express and others say about their “free” versions…. What is exactly for DB2 Express-C ??
Thanks in advance and regards…
DB2 Express-C is restricted by its license agreement, not by technical restrictions. This means that DB2 Express-C will work on a server with 8GB, just like the commercial versions do. However, please note that this will break the agreement as it is a violation of the license.
OK, thanks for the info. I am not interested on breaking any licese, but in the information.
Thanks.
Absolutely Alej. You may also be interested in knowing that, with virtualization, you can still legally run DB2 Express-C on a server with specs above the ones outlined in the license. You just need to ensure that the virtual machine you define has 4GB of memory and uses no more than two double-core CPUs.
Indeed interested. Thanks.
I work for a city government and we run DB/2 on OS/390. Will the Python DB2 Connector work with this version of DB/2 as well? I’d love to be able to build some Django apps for work that connected to our legacy data.
@Jeff Self: The Ruby DB2 driver works with LUW, iSeries, z/OS and Informix IDS. The Python one should not be any different.
Any news on a release date for the python DB2 driver? It’s pretty important to us…
Any updates on this? We are considering python for our main app but need DB2 support.
David, you can obtain the latest Python and DB2 driver here.