2017-10-05 12 views
1

관계형 데이터베이스의 메타 데이터 관리를 지원하는 XML 스키마를 만들었습니다. 시나리오에는 여러 운영 체제, 운영 데이터 저장소 및 데이터웨어 하우스가 모두 ETL 프로세스로 연결되어 있습니다. 또한 스키마를 사용하여 유효성을 검사하는 더미 메타 데이터가 포함 된 XML 파일을 생성했습니다. 저는 MarkLogic 초보자입니다. XML Schema와 XML 데이터 파일을 MarkLogic에로드 할 수 있고, 분석을 위해 XQuery 코드를 생성 할 수 있다고 확신합니다.XQuery를 사용하여 XML 문서의 내용 찾아보기

하지만이 방법을 사용하여 주요 요구 사항을 달성 할 수 있는지 여부는 확실하지 않습니다. 사용자가 메타 데이터를 탐색 할 수 있어야한다는 것입니다. 예를 들어, 데이터베이스를 클릭하고 테이블 목록을보고, 테이블 중 하나를 클릭하고 열 목록을보고, 열을 클릭하고 데이터 유형, 정의, 주요 정보 등을 얻습니다. XQuery, 또는 Node.js 또는 다른 도구를 사용해야합니까?

이 시스템에서 실제 메타 데이터를 수집하고 MarkLogic 개발 작업을 병행하는 방법에 관해서는 올바른 방향으로 가고 싶습니다.

미리 조언 해 주셔서 감사합니다.

+2

유권자를위한주의 사항 : 질문에 대한 대답은 분명합니다 (적어도 2 명이 답변을 제공 할만큼 명확한 것으로 나타났습니다). 그리고 시스템 아키텍처에 대한 모든 질문이 프로그래밍에 관한 질문으로 간주하기에는 너무 광범위하다면 세계는 심하게 구조화 된 시스템으로 운명 지워질 것입니다. 주제는 광범위하지 않고 고급입니다. 그들은 같은 것이 아닙니다. –

답변

1

Node.js와 같은 클라이언트는 궁극적으로 서버 측 호출을 MarkLogic 함수 라이브러리 (XQuery와 Server-Side JavaScript에서 모두 노출됨)로 실행하게됩니다.

따라서 정의상 서버 측 코드는 클라이언트 코드가 수행 할 수있는 것의 상위 집합을 수행 할 수 있습니다.

취할 접근법을 확인하려면 어떤보기를 지원하기 위해 백엔드에서 실행해야하는 쿼리를 결정하십시오. 일치하는 문서 세트와 문서의 일부를 추출하는 조합은 매우 유연합니다.

가장 좋은 방법은 각 응집력있는 엔티티에 대해 하나의 문서를 모델링하는 것입니다.

쿼리를 구동하고 응답을 반환하는 UI의 경우 서버에서 구현할 수 있지만 더 일반적인 방법은 MarkLogic을 쿼리하는 Node.js 또는 Java 중간 계층에 UI를 제공하는 것입니다. (더 복잡한 경우 데이터 처리)는 MarkLogic에서 서버 측 코드를 실행합니다.

,이 도움이 어떤 조언에 미리

+0

사려 깊은 답변에 감사드립니다. 좋은 생각. 그것들을 내 솔루션에 통합하고 어떻게 진행되는지 알려 드리겠습니다. –

0

감사를 기대.

RESTful 디자인의 원칙을 약간 읽으십시오. browseability에 대한 당신의 욕망은 그것과 잘 어울립니다. 설명을 위해 RESTful 디자인의 가장 중요한 원칙은 다음과 같습니다. 사용자가 볼 수있게하려면 URI가 있어야합니다. 사용자가 테이블 목록을 볼 수 있어야합니까? 테이블 목록에 대한 URI를 지정하십시오. 테이블 선택은이 정보 나 해당 정보에 의존해야합니다. URI를 매개 변수화하십시오. 이 목록을 통해 사용자는 하나의 테이블에 대한 메타 데이터를 볼 수 있어야합니다. 각 테이블의 메타 데이터에 대한 URI를 지정하십시오. 테이블 목록에 누가 그 URI에 대한 링크를 포함했는지 (누가 알았겠습니까?)

지난 몇 년 동안 나타난 RESTful 디자인 책의 작은 눈사태 중 Richardson과 Ruby의 RESTful 웹 서비스 (O'Reilly)를 추천 할 수 있습니다. 의심 할 여지없이 좋은 사람들도 있습니다.

XQuery 백엔드에서 이런 종류의 디자인을 구현할 때 겪었던 단점은 항상 쿼리가 너무 단순해서 마치 서버의 힘을 적절히 사용하지 않는 것처럼 느껴진다는 것입니다. 나는 XQuery 엔진이 지루해질 것을 두려워한다.

+0

XQuery 엔진을 사용하고 싶습니다. 지금까지 그것은 지루함보다 더 당혹 스럽습니다. : D 사려 깊은 대답에 감사드립니다. 당신이 제안한 것은 제 능력입니다. 나는 그것을 줄 것이다. –