Можно ли использовать rsync для репликации изменений блоков в файле БД Berkeley? - PullRequest
1 голос
/ 29 сентября 2011

У меня есть файл Berkeley DB, который довольно большой (~ 1 ГБ), и я хотел бы реплицировать небольшие изменения, которые происходят (еженедельно), в альтернативное местоположение без необходимости перезаписи всего файла в целевом местоположении.

Правильно ли обрабатывает rsync Berkeley DBs по уровню блока?

У кого-нибудь есть альтернатива, чтобы изменения записывались только в файлы Berkeley DBs, являющиеся объектами репликации?

Спасибо!

1 Ответ

3 голосов
/ 29 сентября 2011

Rsync отлично обрабатывает файлы на уровне блоков.Проблема с базами данных может войти в игру несколькими способами.

  1. Кэширование
  2. Блокировка файлов
  3. Синхронизация / журналы транзакций

Если вы можете гарантировать, что в период rsync, нетприложения имеют открытую базу данных Berkeley, тогда rsync должен нормально работать и обеспечивать значительное преимущество перед копированием всего файла.Однако, в зависимости от конфигурации и версии bdb, существуют журналы транзакций.Возможно, вы захотите изучить те же механизмы, которые используются для резервного копирования и оперативного резервного копирования.У них также есть функция «моментального снимка», которая может облегчить работу рабочего решения.

Вероятно, вам следует внимательно прочитать это: http://www.cs.sunysb.edu/documentation/BerkeleyDB/ref/transapp/archival.html

Я также рекомендовал бы рассмотреть возможность использования репликации в качестве альтернативы.решение, которое благословлено BDB https://idlebox.net/2010/apidocs/db-5.1.19.zip/programmer_reference/rep.html

Теперь они называют это Высоким Доступностью -> http://www.oracle.com/technetwork/database/berkeleydb/overview/high-availability-099050.html

...