Shane Hathaway on December 27th, 2008

For those just tuning in: RelStorage is an adapter for ZODB (the database behind Zope) that stores data in a relational database such as MySQL, PostgreSQL, or Oracle.  It has advantages over FileStorage and ZEO, the default storage methods.  Read more in the ZODB wiki.
Download this release from PyPI.  As I mentioned in another post, [...]

Continue reading about RelStorage 1.1.1 Released

 

Shane Hathaway on December 22nd, 2008

I’ve been working on packing a 6.5GB production database based on RelStorage and MySQL 5.0.  It contains 6.4 million objects, meaning “select count(1) from current_object” returns 6426879.  I would call this a moderately sized database.  When I first approached it, it had not been packed for at least 3 months.  At first, I could not [...]

Continue reading about Packing With MySQL

Shane Hathaway on December 21st, 2008

After a lot of testing and performance profiling, on Friday I released RelStorage 1.1.  On Saturday, I was planning to blog about the good news and the bad news, but I was unhappy enough with the bad news that I decided to turn as much of the bad news as I could into good news.  [...]

Continue reading about RelStorage 1.1.1 Coming Soon

Shane Hathaway on December 18th, 2008

I said earlier that before I release RelStorage 1.1, I wanted to set up thorough automated testing of RelStorage with different combinations of ZODB versions, RelStorage versions, Python versions, and platform types.  I originally intended to use hand crafted scripts to run the tests, but this past week I learned Buildbot’s model through experience working [...]

Continue reading about RelStorage 1.1: All Green

Shane Hathaway on December 8th, 2008

I would like to advise all users of RelStorage to run the RelStorage test suite on their staging and production servers before running any application that uses RelStorage.  There are a number of ways to misconfigure the database and the tests will reveal many kinds of issues.  The test suite is in very good shape [...]

Continue reading about Always Run the RelStorage Tests

Shane Hathaway on November 18th, 2008

I’ve been writing code for the family history department of the Church of Jesus Christ of Latter-day Saints for the last 4+ years.  It has been a good experience and I feel like I’ve contributed and learned a lot, but now I have a new opportunity with my family that I shouldn’t pass up.  My [...]

Continue reading about Back to Python, Zope, and Plone

Shane Hathaway on October 13th, 2008

Before I release RelStorage 1.1, I believe I should set up a complete test environment.  The test environment will test different versions of Python, ZODB, the supported databases, and the supported database adapters.
I started by installing buildbot, hoping it would solve most of the problem for me.  However, I wanted a builder that would check [...]

Continue reading about RelStorage Test Plan

Shane Hathaway on October 12th, 2008

If you study RelStorage a bit, you’ll discover that every object it stores is accompanied by an MD5 sum of the object state.  Then you’ll probably wonder why, since MD5 computation is cheap but not free.  We do it to support undo.
ZODB expects the storage to check whether an undo operation is safe before actually [...]

Continue reading about RelStorage: MD5 sums

Shane Hathaway on May 1st, 2008

This release has greatly optimized packing. This time for real, I hope!
At this point, I am confident in the correctness of the pack algorithm. Version 1.0 had it right as well. However, version 1.0 was naive about just how many object states might be packed all at once. It [...]

Continue reading about RelStorage 1.1 beta 1

Shane Hathaway on March 4th, 2008

RelStorage 1.0 is out!
To celebrate, I thought I’d post some measurements. They are the results of a speed test I’ve been running on RelStorage. I created the speed test for the purpose of identifying performance problems. The test certainly helped, but I found that the results varied dramatically between runs, so don’t [...]

Continue reading about RelStorage 1.0 and Measurements