2010-06-18 3 views
12

여러 소스 (수백만 개의 XML)에서 XML을 가져와 XML과 같은 데이터베이스에 넣을 시스템을 개발할 권한이있었습니다. 비록 그들이 같은 출처에서 나온다 할지라도 콘크리트 구조. 이런 이유로 나는 RDMS를 제안 할 수없고 현재 NoSQL 데이터베이스를보고 있다고 생각한다. 우리는 CRUD를 할 수 있고 읽기가 빠르지 않은 시스템이 필요합니다.최상의 XML 기반 데이터베이스

저는 XML 기반 NoSQL 데이터베이스 인 MarkLogic과 eXist를 보았습니다. 누구도 그 경험이 있었습니까? 및 다른 제안? 감사합니다.

+5

비슷한 주제로 직면하고있는이 토론 주제는 건설적입니다. 커뮤니티의 다른 부분을 포함하지 않는 코드 원숭이에게는 건설적이지 않았습니다. 왜 검열? – Boltimuss

답변

5

나는 비슷한 것을 찾고 있습니다. 그리고 거기에 특별한 XML 데이터베이스가 있다는 것을 알게되었습니다.

여기 봐 : 바로 RDBMS가 목적에 부합하지 않을 것이라고 말하는 당신은 http://exist.sourceforge.net/

+0

감사합니다. – monmonja

0

XML에 특정 구조가 없더라도 유효성을 검사하는 XML이라면 DOM을 기본적으로 작성하여 기존 SQL 데이터베이스에 저장할 수 있습니다. 요소와 속성에 대한 테이블이 있습니다. 요소와 속성에는 부모 요소에 대한 외래 키 열과 이름에 대한 열이 있습니다.

빠른 읽기가 필요하다고 말합니다. 정확히 무엇을 읽고 있니? 특정 태그를 찾고 있다면 기존의 SQL 데이터베이스로도 매우 신속하게 쿼리 할 수 ​​있습니다.

+0

그/그녀의 세부 정보를 많이 가진 사람의 XML 파일을 것이라고,이 XML은 XML 당 12 킬로바이트 - 50 킬로바이트에서 올라갈 수, XML 자체에서 뭔가를 검색해야합니다. 나는 XML 필드에 넣고, "% <사람 정보> % '와 같은 세부 사항이 특히 수백만 건의 레코드에 도달하면 느려지는 테이블에서 선택 *을 수행한다고 생각하고있었습니다 (2-3 개월 후 실제로 그렇게 될 것입니다) ?이 바로 내가 맞습니까? 감사합니다 – monmonja

+0

XML에 대한 일관된 구조가 있습니까? 모든 파일간에 동일한 하나 또는 두 개의 태그가 있어도 열 사이의 데이터를 분리하고 쿼리를 더 빠르게 만드는 데 도움이됩니다. 이 두 개의 "여러 소스"입니까? – Reinderien

+0

하나 또는 두 개의 태그를 구분하는 것이 좋은 생각입니다. 여러 소스에서 우리가 데이터를 가져 오는 여러 회사의 사람 XML이 있습니다.이 XML은 회사마다 다를 수 있습니다. 회사가 한 회사에 더 많이 있습니다 (국가 별 지점에서 국가 별 지점까지). 어쨌든 전통적인 데이터베이스를 고집하는 것이 무엇을 제안합니까? 고마워요. – monmonja

0

실용적인 경험이 없지만 IBM DB2는 special XML capabilities입니다.

SQL Server에는 xml 필드 형식이 있지만 테이블에 이러한 필드가 있으면 몇 가지 제한 사항이 있습니다. 짜증나는 (나를 위해), 당신은 연결된 서버에서 그러한 테이블을 사용할 수 없다는 것입니다.

3

이 프로젝트를 살펴 보자 : Wikipedia

내가이 일이 꽤 좋은 것으로 나타났습니다 요즘 XML 데이터 형식을 지원하더라도 마찬가지입니다. MarkLogic에서 광범위하게 작업했으며, 지금까지 최고의 noSQL XMl DB를 보유하고 있습니다. 나는 또한 eXist를 시도했지만, 프로덕션 사용에 대해서는 확장 성이별로 없다. MarkLogic은 통합 된 응용 프로그램 서버 및 검색 엔진을 사용하여 개발에 민첩성을 부여합니다. 현재 일부 거대한 출판사에서 테라 바이트 급의 XML 데이터를 제공하고 있습니다.

관련 문제