può un database Berkeley essere aperto e accessibile da più programmi allo stesso tempo?
-
20-09-2019 - |
Domanda
in base alla documentazione di Berkeley il Transazionale (TS) e la versione Concurrent Datastore del database, più thread possono accedere (e modificare) il database.
Questo significa anche che posso avere 2 programmi legati al 'cliente' Berkely e li hanno accedere allo stesso file di database senza problemi?
(chiedo, dal momento che per un server di database separato questo sarebbe nessun problema, naturalmente, ma nel caso di Berkeley motore di database è collegata lungo con il vostro programma)
grazie!
R
Soluzione
Alcuni documentazione sembra pensare è possibile utilizzare lo stesso database contemporaneamente da più processi, nonché da più thread. In particolare:
"processi multipli, o thread multipli in un unico processo, possono tutti utilizzare il database, allo stesso tempo, come ognuno utilizza la libreria Berkeley DB. Servizi di basso livello come il bloccaggio, la registrazione delle transazioni, gestione del buffer condiviso, gestione della memoria, e così via sono tutti gestiti in modo trasparente dalla libreria ".
Una lettura superficiale non versò luce su ciò BDB utilizza per controllare l'accesso da più processi, ma se le serrature file system, l'accesso da più processi su un file system di rete potrebbe essere problematico.
Altri suggerimenti
Capitolo 16: Il blocco Subsystem dal guida di riferimento sembra essere molto promettente.