une base de données peut être ouvert berkeley et accessible à partir de plusieurs programmes en même temps?

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

Question

selon la documentation Berkeley le Transactionnelle (TS) et la version concurrente de Datastore la base de données, plusieurs threads peuvent accéder (et changer) la base de données.

Est-ce que cela veut dire aussi que je peux avoir 2 programmes liés à la berkely « client » et les ont accès au même fichier de base de données sans aucun problème?

(je demande, puisque pour un serveur de base de données séparée ce serait pas un problème bien sûr, mais dans le cas de Berkeley le moteur de base de données est liée à long avec votre programme)

merci!

R

Était-ce utile?

La solution

Certains documents semble penser que vous pouvez utiliser la même base de données simultanément à partir de plusieurs processus, ainsi que de plusieurs threads. Plus précisément:

"processus multiples, ou plusieurs threads dans un seul processus, peut utiliser la base de données en même temps que chacun utilise la bibliothèque Berkeley DB. Services de bas niveau comme le verrouillage, la journalisation des transactions, la gestion de la mémoire tampon partagée, la gestion de la mémoire, et ainsi de suite sont tous gérés de manière transparente par la bibliothèque. "

Une lecture superficielle ne nous éclairer sur ce que BDB utilise pour contrôler l'accès à partir de plusieurs processus, mais si les verrous du système de fichiers sont utilisés, l'accès à partir de plusieurs processus sur un systèmes de fichiers réseau pourrait bien être problématique.

Autres conseils

Chapitre 16: Le sous-système de verrouillage de la guide de référence semble prometteur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top