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, [...]
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 [...]
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. [...]
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 [...]
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 [...]
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 [...]
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 [...]
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 [...]
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 [...]
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 [...]