Thursday, March 26, 2009

The PrimeBase BLOB Streaming (PBMS) engine alpha version 5.08 is ready

Alpha version 5.08 of the BLOB streaming engine for MySQL has been released. You can download the source code from The documentation has also been updated.

What's new in 5.08:
  • All PBMS data is stored under a 'pbms' directory in the MySQL server's data directory rather than in the database directories them selves.
  • This version now builds with Drizzle and can be loaded as a 'Blobcontainer' plug-in.
  • Added the possibility of storing BLOB metadata along with the BLOB in the repository.
  • Added the possibility of assigning an alias to a BLOB, which can then be used to retrieve the BLOB instead of using the engine generated URL.
  • Added an updateable system table 'pbms_metadata_header' to control which HTTP headers are stored as metadata.
  • Added an updateable system table 'pbms_metadata' that contains all the metadata associated with the BLOBs.
  • New PBMS API functions have been added to set and get BLOB metadata.
  • A new PBMS API function has been added to allow applications to get the BLOB metadata with out getting the actual BLOB.
  • Added some new fields to the 'pbms_repository' system table.
  • Removed the raw BLOB data from the 'pbms_repository' system table and placed it in its own table, 'pbms_blob'.
  • Dropping a database containing PBMS BLOBS referenced from non-PBXT tables no longer requires special handling.
  • System tables can now be selected with an 'order by' clause.
As you can see a lot of work has been done on it and a lot of things have changed. I have already talked about most of the major changes in my previous 2 BLOG postings but I recommend having a look at the documentation for more details.

A few things to watch for in the new version:

  • The location and format of the BLOB repository files has changed. This means that if you are using an older version you will need to import the data from the server using the older version of PBMS into tables on a server running the new version. Feel free to contact me if you have any questions about this. I will try to maintain backward compatibility with older versions of PBMS but until the code is no longer alpha I can not guarantee this.
  • A patch was added to the PBXT engine to prevent a crash when shutting down MySQL. The PBXT version '1.0.07m-rc' contains this patch and is available for download with the the PBMS engine.
  • There remains an unsolved problem that can lead to PBXT hanging when a PBXT table containing longblobs is dropped and the PBMS engine is being used for BLOB storage.
As usual if you have any questions about PBMS and BLOB storage please send them to me and I will do my best to answer them.


No comments: