Pergunta

De acordo com a documentação de Berkeley, o transacional (TS) e a versão simultânea do banco de dados do banco de dados, vários threads podem acessar (e alterar) o banco de dados.

Isso também significa que eu posso ter 2 programas vinculados ao Berkely 'Client' e fazer com que eles acessem o mesmo arquivo de banco de dados sem problemas?

(Peço, desde um servidor de banco de dados separado, isso não seria problema, é claro, mas no caso de Berkeley o mecanismo de banco de dados está vinculado por muito tempo ao seu programa)

obrigado!

R

Foi útil?

Solução

Alguma documentação Parece pensar que você pode usar o mesmo banco de dados simultaneamente de vários processos e de vários threads. Especificamente:

"Vários processos, ou vários threads em um único processo, podem usar o banco de dados ao mesmo tempo em que cada um usa a biblioteca Berkeley DB. Serviços de baixo nível, como bloqueio, registro de transações, gerenciamento de buffer compartilhado, gerenciamento de memória e assim por diante, são todos lidados de forma transparente pela biblioteca. "

Uma leitura superficial não lançou nenhuma luz sobre o que o BDB usa para controlar o acesso de vários processos, mas se os bloqueios do sistema de arquivos forem usados, o acesso de vários processos em um sistema de arquivos de rede poderá ser problemático.

Outras dicas

Capítulo 16: O subsistema de travamento Do guia de referência parece promissor.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top