문제

분명히 말 XML 주변에 있었기 때문에 적어도 2003 년 그러나 나는 최근에 그것을 우연히 오라클의 웹 사이트: Berkeley DB 를 XML.여기에 blurb:

오라클 Berkeley DB 를 XML 는 오픈 소스,임베디드는 XML 데이터베이스 XQuery 기반 액세스하는 문서 저장에 용기와 인덱싱 기반으로 콘텐츠를 보호할 수 있습니다.오라클 Berkeley DB 를 XML 의 상단에 내장되어 오라클 Berkeley DB 와 상속의 풍부한 기능과 특성이 있습니다.다음과 같 오라클 Berkeley DB 에서 실행 프로세스 응용 프로그램를 위한 필요 없는 인간의 관리.오라클 Berkeley DB 를 XML 추가 문서 파서,XML indexer 및 XQuery 엔진에는 최고의 오라클 Berkeley DB 를 사용하려면 가장 빠른,가장 효율적인 데이터를 검색할 수 있도록.

하는 기본 아이디어는 기술적으로 사운드와 아마 더 성숙한 보다는 더 새로운 문서를 기반 DBs 다음과 같 CouchDB 또는 MongoDB.그것은 지원 for C,C++,루비 및 Perl,멀리로 나를 확인할 수 있습니다.그것도 HA-기능과 같은 자동적인 복제를 사용하여 마스터/슬레이브의 모델로 자동적인 선거가 있습니다.

그러나 나는 찾을 수 없는 것 어떤 프로젝트는 그것을 사용합니다.뭔가 근본적으로 잘못 인가?라이센스는 너무 부담스러운?그것이 너무 복잡해?

왜 그것을 사용하지 않는?

도움이 되었습니까?

해결책

나는 사용이 제품 관리자를 위한 Berkeley DB 에서 제품을 수 있습니다.나는 주변에서 작업하는 이러한 참조 데이터베이스를 통해 여덟 년 이제 내가 쓴"선전"복사로 당신의 질문입니다.

는 상업적으로 우리에 사용되는(비-완전한 목록의 내 머리 위로):-Autodesk 사용 BDB XML 도 -Farelogix 사용 BDB XML 에 대한 예약 시스템 -이 스타우드 호텔들을 사용하 BDB XML 에 대한 정보를 관리할 수 있는 속성 관리 -Juniper 네트워크를 사용하 BDB XML 에 NetScreen 보안 관리자 -많은 나의 이름을 수는 없으로 인해 계약한 제한...-다.

Berkeley DB 를 XML 을 상대적으로 무시에서 오픈 소스의 세계,왜 나는 아무 생각이 없습니다.거기에 몇 가지 프로젝트가 사용되는,아무것도 모든 것을 공개하는 내가 알고 있습니다.나는 최근에 참조 멋진 블로그 게시물 을 사용하는 방법에 대해 BDB XML 내에서 Emacs.설치 후 실행할 수 있습니다 XQuery 문 XML 대화식으로 내의 텍스트 편집기입니다.는 말했다,그것은 매우 실현가능성에 대한 상업용과 오픈 소스 사용.

XQilla 프로젝트에 의해 만들어 BDB XML 엔지니어에서 몇 가지 다른 XML 프로젝트에 우리는 함께 뜨개질을 한다.우리는 오픈 소스(아파치 2.0 라이센스)XQilla 기 때문에 그것은 훌륭한 XQuery 와 XML 파싱 라이브러리입니다.우리는 데이터베이스의 회사,그래서 작품이 걸리는 XML 후에 그것의 분석과 조직으로 그것이 우리의 btree 데이터베이스 뿐만 아니라 작업에 대한 쿼리 최적화,indexing,통계,및 다른 코드는 아래에 앉아 XQilla 하지만 위 BDB 의 btree 접착 함께 두 가지로 해석한 XML.그것을 사용하여 주시기 바랍는 경우 그것은 당신의 문제를 해결하고,이러한 데이터베이스,거기에서 모두.

제품 구축을 위해 지상에서 XML 일반적으로 몇 가지는 트랜잭션 데이터 구조에서 핵심있는 정보를 관리 할 수 있는 디스크에 있습니다.많은 최적화 할 수있는 우리가 아직에서는 Berkeley DB 과에서 사용되는 Berkeley DB 를 XML.을 말하는 데이터베이스에서 구축까지 지상 관리 XML 는 것보다 훨씬 더 나은 BDB XML 을 말하는 뭔가가 있다는 누락에서는 Berkeley DB,지가 있다고 생각하지 않는 방어할 수 있는 인수 여기에서 그러나 나는 배우고자 하는 경우에는 사람에 대한 정보를 가지고있는 동시에,트랜잭션 데이터 구조에 중요한 효율적인 XML 저장을 뜻하지 않는 이미 구현할 수 있습니다.

이 존재하는 Java XML 데이터베이스에,우리는 Java JNI API 고 싶은 경우에는고 우리는 일반적으로 입에 존재하의 성능,안전성 및 확장성을 테스트합니다.

세드나 좋은 XML 데이터베이스에,그것은 아파치 2.0 그래서 그것 듀얼 라이센스의 치 소프트웨어입니다.나는 좋은 당신 벤치마크에 대해 해석한 XML,당신을 놀라게 될 수도 있습니다.

MarkLogic 한 XML/XQuery 데이터베이스는 서버,그들이 내장 된 매우 솔리드 제품입니다.그것은 소프트웨어 라이브러리,그것은 서버입니다.거기에 사이에 유의 한 차이 BDB XML 및 MarkLogic,하지만 그들은 모두 상업적으로 사용할 수 있만 BDB XML 은 오픈 소스 소프트웨어이다.

누군가가 언급된 리 녹슨 해럴드 블로그에서의 상태는 XML 데이터베이스,주의해야 그것은 2007 년경-hey,지기 전에는 어떤 NoSQL 에 데이터베이스에까요?;-)

을 살펴 Kimbro Staken 의 오래된하지만 아직도 관련 검토 (으로 설정 백서에 의해 Oracle),그것도 좋지만 날짜입니다."사용은 기본 XML 데이터베이스에 대한 XML 데이터:를 결정할 때 XQuery 기반 기본 XML 데이터베이스보다 더 나은 SQL 데이터베이스"

실제 기관에 관심을 가지고 있으며 론 Bourrett.그는 말을 많이 가지고 있습니다.

MongoDB 및 CouchDB 에 있는 다른 시장 세그먼트입니다.그들은 분산,분할,결과적으로 일관성 있는 기타(금산)데이터를 관리하고 몇 가지 생각한 그들은 그렇습니다.나는 생각한 그들은 젊은 심사위원은 여전히 있다.그들은 좋은 시작하고 나는 그들은 성장을 계속,데이터 저장이 힘든 것은 오른쪽 하나의 크기가 적합하지 않는 모든 사람의 문제 또는 필요합니다.BDB XML 의 분산기에 내장되어 하나의 마스터,다 복제본을 항상 일치(고 싶은 경우)는 로그 기반의 복제 및 PAXOS 기반 선거 알고리즘을 때 실패합니다.리지 않는 파티션,데이터는 모든 노드를 포함 같은 데이터(전체 데이터베이스)입니다.우리는 허용하지 않는 씁니다,모든 곳에서만 마스터입니다.우리가 지원하는 이상 TCP/IP 복제(도대체 당신이 사용할 수 있는 하드웨어버스 사용자 정의 서버로 원하는 경우).우리는 우리의 하에 제품을 해결하 읽 확장,시스템의 가용성 및 fault-tolerance.NoSQL 의 분산 시스템을 위해 설계되었 쓰 어디서나 파티션된 데이터를 관리할 수 있습니다.선택은 바로,좋은?:)

XML 데이터로 스키마 다양한 언어로 액세스하고 관리하는 XML 콘텐츠가 되고 계속해서 매우 성공적인 솔루션입니다.어쩌면 그렇게 많이에서 더 많은 대중을 사용하여 웹사이트 NoSQL 솔루션은 이러한 일(는 벌금,그리고 흥미로운 나)그러나 이렇게에서 문서 관리,금융,유전체학,bioinformatic,데이터 교환,메시징,그리고 훨씬 더 많은.XML 할 수 있는 틈새는 데이터베이스와 비교할 때 SQL/관계형 제품이지만 그것은 확실히 훨씬 보다 더 성공적인 개체를 데이터베이스는 모든 블록에 새로운 아이 NoSQL 에 데이터베이스 솔루션입니다.모든 스토리지 솔루션은 그 자리를 가지고 있으며,XML 에는 것을 계속 유용한 것들까지 있습니다.

에서 하루의 끝에,나는 당신을 선택하는 데이터베이스의 요구에 맞.

다른 팁

명심해야 할 한 가지는 버클리 DB의 라이센스입니다. 프로젝트를 오픈 소스하지 않으면 Oracle에서 라이센스를 구매해야하므로 더 많이 보지 못한다고 생각합니다. 모든 버클리 DB 데이터베이스는 그렇지 않으면 매우 우수합니다. 나는 (집 프로젝트에서) 배포하지 않을 것에 대해 그것들을 사용하는 경향이 있습니다.

내 경험에서 Berkeley DB XML에는 많은 약속과 관련 사용 사례가 많이 있습니다. 그러나 모든 경우에 작동하기를 기대하지 않도록주의해야합니다. 마지막 릴리스는 2009 년 12 월 22 일 Berkeley DB XML 2.5.16입니다.

Berkeley DB를 기반으로하는 기술은 사용 사례를 올바르게 구성하면 매우 강력하고 맹목적으로 빠릅니다. 올바르게 얻을 수있는 많은 세부 사항이 있습니다 (예 : 거래 활성화, 로깅, MVCC 작동에 필요한 모든 플래그 이해). 나는 대다수의 사람들 이이 복잡성 때문에 문제가 있다고 생각합니다.

그래도 몇 가지 다른 단점이 생겼습니다. 가장 큰 것은 쿼리 플래너가 정렬 할 때 인덱스를 사용하지 않는다는 것입니다. 이것은 당신이 다음과 같은 매우 일반적인 데이터 액세스 패턴을 수행 할 수 없다는 것을 의미합니다.

SELECT * FROM table ORDER BY time DESC LIMIT 100;

이 버클리 DB는 주문하기 전에 디스크의 모든 시간 값을 확인하여 수만 개의 노드를 넘어 서면 느리게 만듭니다. 다른 사람이 여기에 이것을보고했습니다.

https://forums.oracle.com/forums/message.jspa?messageid=9754987#9754987

인덱스를 직접 열거 할 수 있지만 임시 쿼리를 수행 할 수있는 기능을 잃습니다.

포럼에서도보고 된 인덱스 유형 및 성능과 관련된 이상한 행동이 있습니다.

https://forums.oracle.com/forums/message.jspa?messageid=9753022#9753022

따라서 키 기반 액세스가 빠르고 신뢰할 수 있지만 미성숙 한 쿼리 플래너에주의하십시오.

당신의 요구가 무엇인지에 따라 다릅니다. 나는 하나의 기본 XML DB를 다른 XML DB보다 추천하지는 않지만 출판 산업은 관계형 데이터베이스를 거의 버리고 출판물의 컨텐츠를 처리하기 위해 기본 XML 데이터베이스로 큰 시간을 이동 한 전체 부문의 예라고 말할 수 있습니다. . 가장 두드러진 (그리고 가장 비싼)은 Marklogic의 것입니다. ExthingDB는 약간의 견인력을 얻는 것처럼 보이는 OpenSource입니다.

다음은 탁월한 XML 전문가 중 하나 인 Elliot Rusty Harold 의이 주제에 대한 훌륭한 기사입니다.http://cafe.elharo.com/xml/the-state-of-native-xml-databases/

최고의 [*] XML 저장소는 XML을 지원하기 위해 처음부터 구축 된 저장소입니다. 마크 로그 또는 존재하다.

그러나 BDB-XML 용 저장 엔진은 가장 넓은 스프레드 데이터베이스 엔진 중 하나 인 베르클리 DB 엔진입니다. 작고 빠르며 안정적입니다.

BDB-XML 그 자체는 확실히 유능한 제품입니다. 이전에는 Sleepycat이라는 이름으로 판매되었으므로 참조를 찾는 데 도움이된다면. BDB 저장 엔진과 xqilla xquery 엔진.

또한 더 많은 정보를 찾을 수 있습니다 xqilla. 상당히 강력한 엔진이며 여전히 오픈 소스입니다.

*] "최고의"물론 주관적인 용어입니다.

결론적으로, 이것이 BDB-XML이 널리 사용되지 않는 이유입니다.

  • 내장 된 로컬 데이터베이스 만 허용합니다 (마스터 슬레이브 복제를위한 조항이 있지만)
  • 상업용 용도로는 무료가 아닙니다
  • XML을 지원하기 위해 처음부터 구축 된 많은 경쟁 제품

그것을 사용하지 않는 이유는 없지만 마찬가지로 경쟁에서 눈에 띄게 만드는 것은 많지 않습니다. 게다가, 최근의 경쟁에는 "오, 반짝임"이 더 많습니다. 호소 및 XML 데이터베이스 자체는 여전히 틈새 시장입니다.

나는 최근에 똑같이 있었고 sedna xml DBMS.

"근본적으로 문제가 있습니까?"

예. XML입니다.

불행히도 그것은 그것을 발명 한 사람들은 관계 대수와 관계형 미적분학과 같은 이미 존재하는 개념과 기술의 힘을 살펴 보지 않았다는 것을 의미합니다.

그것보다 더 잘하는 것은 사소한 일이 아니며 (그리고 그것은 정중하게 그것을 넣는 것입니다), 지금까지 시도한 모든 사람들은 실패했습니다.

그것은 당신에게 무언가를 말해야합니다.

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