开发者

What is the difference between the various ZODB blobstorage layouts?

开发者 https://www.devze.com 2023-02-08 03:33 出处:网络
Th开发者_如何学编程e ZODB blobstorage directory contains a .layout file with the string \'lawn\', \'bushy\'.

Th开发者_如何学编程e ZODB blobstorage directory contains a .layout file with the string 'lawn', 'bushy'.

What is the difference between the various blob storage directory formats?


It is explained here: https://github.com/zopefoundation/ZODB/blob/master/src/ZODB/tests/blob_layout.txt

FTA:

====================== Blob directory layouts

The internal structure of the blob directories is governed by so called layouts. The current default layout is called bushy.

The original blob implementation used a layout that we now call lawn and which is still available for backwards compatibility.

Layouts implement two methods: one for computing a relative path for an OID and one for turning a relative path back into an OID.

Our terminology is roughly the same as used in DirectoryStorage.

It also explains the formats in detail.


You generally don't need to worry about the layout; lawn is there only for backwards compatibility.

If you do have a lawn layout blobstorage (you'll get a warning in the log if you do) and want to migrate to a bushy layout, use the migrateblobs script; here is a buildout part to create the script:

[migrateblobs]
recipe = zc.recipe.egg
eggs = ZODB3
entry-points = migrateblobs=ZODB.scripts.migrateblobs:main

Shut down any instances and ZEO servers, back up your blob storage and run the script on your blobstorage directory:

$ mv var/blobstorage var/blobstorage-lawn
$ bin/migrateblobs var/blobstorage-lawn/ var/blobstorage

var/blobstorage will then contain the migrated blobs using the bushy layout.

0

精彩评论

暂无评论...
验证码 换一张
取 消