2008-09-18 4 views
2

우리 회사는 교육 업계에 종사하고 있으며 XML을 사용하여 코스 내용을 저장합니다. 우리는 또한 관계형 데이터베이스에 코스 관련 정보 (주로 metainfo)를 저장합니다. 현재 독점적 인 XML 스키마에서 DocBook 5로 전환하는 중입니다. 스위치와 함께 데이터베이스에서 XML 파일로 코스 관련 정보를 이동하려고합니다. 그 이유는 모든 강좌 데이터를 한 곳에서 가지고 Subversion에 넣기 위해서입니다. 그러나 관계형 데이터베이스의 유연성을 유지하고 XML 문서에서 코스에 대한 특정 정보를 쉽게 추출 할 수 있습니다. XQuery는이 작업을 지원하는 데이터베이스를 연구 중이지만 지금까지 내가 필요한 것을 찾을 수 없었습니다. 기본적으로 원하는 것은 XML 파일을 특정 디렉토리 구조에 포함시킨 다음 파일의 색인을 생성하고 XQuery를 사용하여 파일을 선택하도록하는 시스템을 갖고 싶습니다. 이렇게하면 "내 케이크를 먹을 수도 있고 먹을 수도 있습니다."XQuery 인터페이스가 있고 파일을 일반 텍스트로 유지하고 버전을 유지합니다. 적어도 원격으로 맘에 드는 것과 비슷한 것이 있습니까?기존 XML 파일에 XML XQuery 인터페이스가 있습니까?

내가 뭘 말하고있는 것이 난센스라고 생각한다면 다른 제안을하십시오.

관련 메모 : 어떤 XML 데이터베이스 (기본 및 공개 소스가 좋음)를 사용해 본 경험이 있으며 무엇을 권하고 싶습니까?

+1

VTD-XML은 XML 텍스트를 손상시키지 않으면 서 원시 XML 인덱싱을 지원하는 유일한 XML 엔진 일 것입니다 ... 또한 가장 빠르고 강력합니다, 단점 : XPath 1.0 (일부 2.0 기능 추가) 만 지원됩니다 ... –

답변

1

exist에서 살펴보면 XQuery를 지원하는 오픈 소스 XML 데이터베이스입니다.

+0

eXist doe는 데이터를 XML 일반 텍스트로 저장하지 않지만 영구 DOM에 저장합니다. –

1

네이티브 XML 데이터베이스의 경우, 오라클에 의해 유지 관리되고 있지만 오픈 소스 인 Berkeley XMLDB을 사용해 볼 수 있습니다.

진정한 강력한 솔루션을 원할 경우 MarkLogic Xml Server을 사용할 수 있습니다. 비용이 든다.

1

문서를 색인화하고 파일 시스템에 두는 XQuery 구현에 대해 잘 모릅니다.

그러나 소량의 데이터가있는 경우 파일 시스템을 사용하고 XQuery 구현에 Saxon을 사용하여 문서를 쿼리 할 수 ​​있습니다. Saxon은 매우 유연한 방식으로 treat any directory as a "collection"을 사용할 수 있습니다. 즉, 여러 문서를 동시에 쿼리 할 수 ​​있습니다.

적당한 크기의 데이터가 있고 (파일 시스템 접근 방식이 너무 느리다면) eXist은 제가 사용했던 좋은 오픈 소스 옵션입니다. 한 가지 장점은 WebDAV 인터페이스가있어서 파일을 편집하고 다른 디렉토리로보기가 매우 쉽다는 것입니다. eXist는 history trigger을 가지고 있으며, 이전 버전의 문서는 교체 될 때 저장됩니다. 나는 그것을 사용하지 않았지만 필요한 버전 제어를 제공 할 수있는 무언가를 만들 수 있습니다. 또한 eXist 데이터베이스를 파일로 백업 할 수도 있습니다. 그러면 Subversion을 사용하여 버전을 제어 할 수 있습니다.

많은 양의 데이터 또는 eXist가 충분히 강력하지 않은 경우 MarkLogic Server은 업계 선두의 상용 XML 데이터베이스이며 내부적으로 버전 관리를 지원한다고 생각합니다.

0

필자는 작년에 버클리 XMLDB와 많은 것을 섞어서 사용했다.

장점 : 빠른, xquery 및 xupdate, 오라클은 잘 유지하고 있으며 많은 언어는 인터페이스, 작은 임프린트, 임베디드, 파일 기반 (어쩌면 일부는 죄수로 보입니까?), 어떤 사악한 굉장한 쿼리에 대해 매우 융통성이있다.

단점 : 상황의 동시성 유형을 다루는 경우 엉덩이에 버그가 생기고, 환경은 매우 민감한 어떤 관계형 데이터베이스 사용자도 이상한 개념이다. 일반적이고 행복하지 않다면 segfault 경향이 있습니다.

다른 포스터와 동의하십시오.보다 견고한 상황으로가는 것은 대개 속도면에서 큰 비용입니다. 만약 내가 다른 것을 시도한다면, 그것은 존재할 것이지만 나는 자바 패키징의 오버 헤드에 의해 저지된다.

개념적으로 xmldbs는 매우 강력합니다. 그 구현은 다소 미숙하고 경쟁이 부족하며 업계에서 부족한 점을 알고 있습니다.

0

MarkLogic XML 데이터베이스 서버 (4.x)에는 몇 가지 좋은 기능이 있습니다.

  1. xml 문서를 쿼리 할 수있는 훌륭한 기본 Xquery 구현이 있습니다.

  2. inbuild 검색 엔진/검색 구문 분석기가 있으며 문서를 빠르게 색인 할 수있는 XQuery 확장이 있습니다.

  3. 외부 시스템과 대화하고 동작 할 수있는 간단한 REST 기반 프로토 콜 지원이 있습니다.

0

MarkLogic은 XSLT와 함께 v4.2를 출시했습니다. 이는 XML 변환에 매우 유용합니다. 좋은 점은이 버전에서 XQuery와 XSLT 코드를 섞어 두 세계를 최대한 활용할 수 있다는 것입니다.

+0

감사합니다. 나는 확실히 그것을 체크 아웃 할 것이다. –