RelStorage

A backend for ZODB that stores pickles in a relational database.
Download

RelStorage Ranking & Summary

Advertisement

  • Rating:
  • License:
  • ZPL
  • Price:
  • FREE
  • Publisher Name:
  • Shane Hathaway
  • Publisher web site:
  • http://hathawaymix.org/Software/TCPWatch/

RelStorage Tags


RelStorage Description

A backend for ZODB that stores pickles in a relational database. RelStorage is designed to be a drop-in replacement for the standard ZODB combination of FileStorage and ZEO. Multiple ZODB clients can share the same database without any additional configuration. Supports undo, historical database views, packing, and lossless migration between FileStorage and RelStorage instances.The supported relational databases are PostgreSQL 8.1 and above (using the psycopg2 Python module), MySQL 5.0 and above (using the MySQLdb 1.2.2 Python module), and Oracle 10g (using cx_Oracle 4.3).A small patch to ZODB is required. See the patch files distributed with RelStorage. Requirements: · Python What's New in This Release: · Added the keep-history option. Set it to false to keep no history. (Packing is still required for garbage collection and blob deletion.) · Added the replica-conf and replica-timeout options. Set replica-conf to a filename containing the location of database replicas. Changes to the file take effect at transaction boundaries. · Expanded the option documentation in README.txt. · Revised the way RelStorage uses memcached. Minimized the number of trips to both the cache server and the database. · Added an in-process pickle cache that serves a function similar to the ZEO cache. · Added a wrapper module for pylibmc. · Store operations now use multi-insert and multi-delete SQL statements to reduce the effect of network latency. · Renamed relstorage.py to storage.py to overcome import issues. Also moved the Options class to options.py. · Updated the patch for ZODB 3.7 and 3.8 to fix an issue with blobs and subtransactions. · Divided the implementation of database adapters into many small objects, making the adapter code more modular. Added interfaces that describe the duties of each part. · Oracle: Sped up restore operations by sending short blobs inline. · Oracle: Use a timeout on commit locks. This requires installation of a small PL/SQL package that can access DBMS_LOCK. See README.txt. · Oracle: Used PL/SQL bulk insert operations to improve write performance. · PostgreSQL: use the documented ALTER SEQUENCE RESTART WITH statement instead of ALTER SEQUENCE START WITH. · Moved MD5 sum computation to the adapters so they can choose not to use MD5. · Changed loadSerial to load from the store connection only if the load connection can not provide the object requested. · Stopped wrapping database disconnect exceptions. Now the code catches and handles them directly. · Use the store connection rather than the load connection for OID allocation. · Detect and handle backward time travel, which can happen after failover to an out-of-date asynchronous slave database. For simplicity, invalidate the whole ZODB cache when this happens. · Replaced the speed test script with a separately distributed package, zodbshootout. · Added the zodbpack script.


RelStorage Related Software