버클리 데이터베이스를 여러 프로그램에서 동시에 열고 액세스 할 수 있습니까?

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

문제

버클리 문서에 따르면 트랜잭션 (TS) 및 동시 데이터 스토어 버전의 데이터베이스 버전에 따르면 여러 스레드가 데이터베이스에 액세스 (및 변경) 할 수 있습니다.

이것은 또한 Berkely 'Client'에 링크 된 2 개의 프로그램을 가질 수 있고 문제없이 동일한 데이터베이스 파일에 액세스 할 수 있다는 것을 의미합니까?

(별도의 데이터베이스 서버는 물론 문제가되지 않기 때문에 묻습니다. 그러나 버클리의 경우 데이터베이스 엔진이 프로그램과 오래 연결됩니다)

감사해요!

아르 자형

도움이 되었습니까?

해결책

일부 문서 여러 프로세스뿐만 아니라 여러 스레드에서 동시에 동일한 데이터베이스를 사용할 수 있다고 생각하는 것 같습니다. 구체적으로:

"단일 프로세스의 여러 프로세스 또는 여러 스레드는 각각 버클리 DB 라이브러리를 사용하는 것과 동시에 데이터베이스를 사용할 수 있습니다. 잠금, 트랜잭션 로깅, 공유 버퍼 관리, 메모리 관리 등과 같은 저수준 서비스 모두 도서관에 의해 투명하게 처리되었습니다. "

Cursory Read는 BDB가 여러 프로세스에서 액세스를 제어하기 위해 사용하는 내용에 대한 조명을 밝히지 않았지만 파일 시스템 잠금 장치를 사용하는 경우 네트워크 파일 시스템의 여러 프로세스에서 액세스 할 수 있습니다.

다른 팁

16 장 : 잠금 서브 시스템 참조 안내서에서 유망한 것처럼 보입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top