В чем разница между различными макетами блогов ZODB? - PullRequest
5 голосов
/ 01 февраля 2011

Каталог блогов ZODB содержит файл .layout со строкой 'lawn', 'bushy'.

В чем разница между различными форматами каталогов хранилища BLOB-объектов?

Ответы [ 2 ]

7 голосов
/ 01 февраля 2011

Объясняется здесь: http://svn.zope.org/ZODB/trunk/src/ZODB/tests/blob_layout.txt?rev=101802&view=markup

FTA:

=====================

Макеты каталогов BLOB-объектов

Внутренняя структура каталогов BLOB-объектов определяется так называемым layouts.Текущий макет по умолчанию называется bushy.

В исходной реализации BLOB-объекта использовался макет, который мы теперь называем lawn и который все еще доступен для обратной совместимости.

Макеты реализуют два метода:один для вычисления относительного пути для OID и один для превращения относительного пути обратно в OID.

Наша терминология примерно такая же, как в DirectoryStorage.

Itтакже подробно объясняет форматы.

1 голос
/ 09 апреля 2011

Как правило, вам не нужно беспокоиться о макете;lawn существует только для обратной совместимости.

Если у вас есть хранилище макетов lawn (в этом случае вы получите предупреждение в журнале) и хотите перейти на макет bushyиспользуйте скрипт migrateblobs;Вот часть сборки для создания сценария:

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

Завершите работу всех экземпляров и серверов ZEO, создайте резервную копию хранилища больших двоичных объектов и запустите сценарий в каталоге большого хранилища:

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

var/blobstorage будет содержать перенесенные BLOB-объекты с использованием макета bushy.

...