문제

저는 XML 문서를 효과적으로 추가 쿼리하여 저장하기 위한 최적의 오픈 소스 솔루션을 고려 중입니다.데이터의 양은 작을 것입니다.내가 이해하는 한 기본 XML 데이터베이스는 내 경우에 적합한 솔루션을 형성할 수 있습니다.그들은 분명히 XML 문서를 매우 효율적인 방식으로 저장합니다.당신의 경험을 배우는 것이 좋을 것입니다.적절한 솔루션에 대한 제안이 있으십니까?귀하의 앱에서 XML 저장소 엔진을 사용해 본 경험이 있습니까?

도움이 되었습니까?

해결책

우리는 작업 시 기본 XML 서버를 사용하여 작업해 왔습니다.데이터가 100-200MB 이하이면 괜찮지만 그 이후에는 데이터를 처리할 수 있는 적절한 서버를 찾을 수 없습니다.나는 다음을 시도했습니다 :

  • 존재하다:Java 기반 기본 XML 서버(오픈 소스):대용량 파일의 경우 일반적으로 JVM의 메모리를 먹은 다음 메모리 부족 예외가 발생합니다.
  • 세드나:C 기반 기본 XML 서버(오픈 소스):대규모 데이터베이스를 처리할 수 있지만 데이터베이스에서 인덱싱되지 않은 데이터를 쿼리하려고 하면 세그폴트가 발생합니다.
  • Tamino XML 데이터베이스(독점):최초의 XML 데이터베이스 중 하나는 성숙했지만 xquery 지원이 형편없었고(적어도 우리가 사용하고 있는 최신 버전은 XQuery에 대한 지원이 매우 나빴습니다), 숙련된 전문가조차도 이를 제대로 설정할 수 없었습니다. 충분히 빠르다.

내 제안은 다음과 같습니다.

  • 작은 데이터와 Java 기반 시스템의 경우 eXist를 사용해 보세요.유용할 수 있는 SQLite와 유사한 파일 기반 데이터베이스 지원도 있습니다.
  • 성능이 중요한 중소 규모 데이터의 경우 sedna를 사용합니다.내 테스트에 따르면 세 가지 중에서 가장 빠릅니다.
  • 지원이 필요하면 Tamino를 사용하세요.최소한 지원이 있습니다.

대규모 데이터베이스(1GB 이상)의 경우 아직은 권장하지 않습니다.eXist는 일반적으로 200MB 크기의 데이터베이스로 인해 충돌이 발생합니다.sedna는 인덱싱되지 않은 항목을 쿼리할 때 1GB 크기의 데이터베이스와 충돌했으며 tamino는 전체 시스템이 충돌하기 전에 한 번의 실행으로 500MB의 데이터를 로드할 수도 없었습니다.물론 이러한 시스템은 모두 발전하고 있으므로 조금 후에는 안전하게 사용할 수 있을 것입니다. 하지만 기본 XML 데이터베이스는 불행하게도 아직 미성숙합니다.

다른 팁

다음과 같은 주요 공급 업체 제공 솔루션을 살펴 보셨습니까? 오라클 XML DB. 나는 그것을 시도하지 않았지만 당신이 그런 것들에 대한 예산을 제공하는 것을 제공하는 것은 확실히 평가할 가치가 있습니다!

또한 Wikipedia가 있습니다 XML DBS의 멋진 목록, 평가하고 싶을 수도 있습니다.

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