2017-11-29 35 views
0

우리는 OrientDB 그래프 데이터베이스와 Java API를 사용하여 데이터베이스에 대용량 삽입을 수행하는 일일 스케줄러를 가지고 있습니다. 이러한 이유로 삽입을 수행 할 때 Java 코드에서 WAL을 사용하지 않으려 고합니다. 그렇지 않으면 WAL 파일의 크기가 매우 짧아집니다.Java API를 통해 OrientDB에서 WAL 사용 안 함

일부 OrientDB 구성을 편집하여 WAL을 영구적으로 비활성화 할 수 있음을 이미 알고 있지만 선택하지 않으려합니다.

우리는 다음과 같은 솔루션을 제안 OrientDB의 GitHub의 저장소에 폐쇄 문제가 있음을 보았다 :

private void reopenWithWALSetTo(final boolean useWAL) { 
    db.getStorage().close(true, false); 
    db.close(); 
    OGlobalConfiguration.USE_WAL.setValue(useWAL); 
    db = new ODatabaseDocumentTx(dbURL); 
    db.open("admin", "admin"); 
} 

문제와의 연결을 열 때 우리가 ODatabaseDocumentTx의 인스턴스를 사용하지 않는 것입니다 데이터베이스 우리는 그래프 DB를 사용하고 있기 때문에 사실, 우리는 다음과 같은 방법으로 OrientGraphFactory를 사용

factory = new OrientGraphFactory("url", "username", "password"); 
graph = factory.getTx(); 

다음과 같은 방법으로 ODatabaseDocumentTx의 인스턴스를 얻을 수있다 : 다음

db = graph.getRawGraph(); 

하지만를, ODatabaseDocumentTx의 인스턴스를 닫은 후에는 그래프 DB와의 연결을 다시 열 수 없습니다.

제안 사항?

답변