5

ZODB blobstorageディレクトリには、文字列'lawn'、'bushy'の.layoutファイルが含まれています。

さまざまなBLOBストレージディレクトリ形式の違いは何ですか?

4

2 に答える 2

7

ここで説明されています:https ://github.com/zopefoundation/ZODB/blob/master/src/ZODB/tests/blob_layout.txt

FTA:

======================Blobディレクトリのレイアウト

blobディレクトリの内部構造は、いわゆる。によって管理され layoutsます。現在のデフォルトレイアウトはと呼ばれbushyます。

元のblob実装は、現在呼び出されているレイアウトを使用してlawnいましたが、下位互換性のために引き続き使用できます。

レイアウトは2つの方法を実装します。1つはOIDの相対パスを計算するためのもので、もう1つは相対パスをOIDに戻すためのものです。

私たちの用語は、で使用されているものとほぼ同じDirectoryStorageです。

また、フォーマットについても詳しく説明しています。

于 2011-02-01T18:54:03.087 に答える
1

通常、レイアウトについて心配する必要はありません。lawn下位互換性のためだけにあります。

レイアウトblobstorageがあり(ある場合lawnはログに警告が表示されます)、bushyレイアウトに移行する場合は、migrateblobsスクリプトを使用します。スクリプトを作成するためのビルドアウトパーツは次のとおりです。

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

インスタンスとZEOサーバーをシャットダウンし、blobストレージをバックアップして、blobstorageディレクトリでスクリプトを実行します。

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

var/blobstorage次に、レイアウトを使用して移行されたBLOBが含まれbushyます。

于 2011-04-09T13:48:20.200 に答える