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

StackOverflow https://stackoverflow.com/questions/1749885

Вопрос

согласно документации Berkeley по транзакционной (TS) и параллельной версии хранилища данных базы данных, несколько потоков могут обращаться к базе данных (и изменять).

Означает ли это также, что я могу иметь 2 программы, связанные с "клиентом" berkely, и предоставлять им доступ к одному и тому же файлу базы данных без каких-либо проблем?

(Я спрашиваю, поскольку для отдельного сервера базы данных это, конечно, не было бы проблемой, но в случае Berkeley database engine давно связан с вашей программой)

Спасибо!

R

Это было полезно?

Решение

Некоторая документация похоже, вы думаете, что вы можете использовать одну и ту же базу данных одновременно из нескольких процессов, а также из нескольких потоков.В частности:

"Несколько процессов или несколько потоков в одном процессе могут использовать базу данных одновременно, поскольку каждый из них использует библиотеку Berkeley DB.Низкоуровневые сервисы, такие как блокировка, ведение журнала транзакций, управление общим буфером, управление памятью и так далее, - все это прозрачно обрабатывается библиотекой ".

Беглое чтение не пролило никакого света на то, что BDB использует для управления доступом из нескольких процессов, но если используются блокировки файловой системы, доступ из нескольких процессов в сетевых файловых системах вполне может быть проблематичным.

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top