2015-01-07 2 views
2

RCP 애플리케이션에 EMF를 사용하고 있습니다. 모델은 꽤 복잡하고 큰 xml 파일을 가지고 있으므로 모델을로드하는 데 더 많은 시간이 걸립니다. EMF와 함께 Eclipse CDO Model Repository를 사용하여 모델을 데이터베이스에 저장함으로써 로딩 시간을 단축하는 것이 좋은 선택일까요?Eclipse CDO 모델 저장소의 성능

는 CDO 모델 저장소의 사용과 성능 향상을합니까? 이미 CDO를 사용하는 사람들은 귀중한 피드백을 제공합니다.

답변

4

는 CDO는 성능을 향상시킬 수 있지만 모두가 사용하고 응용 프로그램에서이 데이터 액세스 패턴에 따라 달라집니다.

CDO는 요청이 작은 데이터 블록을 사용 특히, 응답 성을 증가시킬 수 게으른 로딩을 지원합니다. 당신이 잠재적으로 대기 시간을 증가, 따라서 대량의 데이터 블록을로드하고 또한 당신의 응용 프로그램과 데이터 소스 사이에 추가 계층을 소개하고 알고 있어야하려고하면

에서 또한 성능이 저하 될 수 있습니다.

실제로 EMF 메모리 내 모델을 기반으로하는 응용 프로그램이있는 경우 응용 프로그램 코드에 적응하지 않고 단순히 CDO로 이동하면 성능이 저하 될 수 있습니다. CDO 및 데이터가 지연되어로드되고 있다는 사실.

인수는 확장 성, 동시성 및 트랜잭션 지원과 더 관련되어 있어야 CDO를 사용하도록 선택할 수 있습니다. 설명하는 문제에서 큰 모델에 확장 성 문제가있을 수 있습니다. 그러나 그렇지 않은 경우 CDO가 도움이되지 않습니다. 생성 된 EMF 코드는 메모리 내 데이터에 액세스 할 수 있도록 최적화되어 있으므로 CDO와 같은 추가 레이어를 도입하면 성능을 향상시키는 것이 어려울 수 있습니다.

는 EMF도 (기본 생성 패턴을 사용하여) CDO를 사용하지 않고 자원의 게으른로드를 지원 기억하십시오. 작은 리소스를 정의하고 리소스 (프록시) 간 상호 참조가 필요합니다. 말했다 silmarx 모든 무엇

+0

귀중한 의견을 보내 주신 Silmarx에게 감사드립니다. – Santhosh

2

는 "EMF는 자원의 게으른로드를 지원"것을 포함 사실이다. 그러나 상호 연결된 자원을 언로드하는 것은 CDO가 없으면 매우 문제가됩니다. 이유를 이해하려면 내 기사 How Scalable are my Models?을 읽고 싶을 수 있습니다.

BTW. 당신은 프리 페치 옵션을 구성하여 깊은 오브젝트 나무 ("데이터의 큰 블록"이라 silmarx 것)의 로딩을 최적화 할 수 있습니다 CDO와 함께.