2011-02-15 3 views
0

저는 최근 XSLT에 대해 템플릿 엔진 (PHP의 경우)에 대해 배우기 시작했으며 궁금해했습니다. 어떻게 데이터를 저장해야합니까?XSLT를 사용하는 경우 어떻게 데이터를 저장해야합니까?

  • XML이 - 때문에 DB에 저장하거나
  • 원시 데이터 파일의 크기면 아마도 성능 (에 비효율적 인 것 같다 - 때문에 전에 XML로 변환하기위한 요구 사항의 시스템 자원을 씹을 것 같다 XSLT 엔진으로 보내기. 크기면에서 훨씬 작음.

내 질문은 : 무엇을 사용해야합니까 (또는 무엇을 사용하고 있습니까? - XML, 원시 데이터, 다른 옵션을 인식하지 못합니다. of)?

EDIT : 1. "원시 데이터"에서 나는 상점 문자열을 의미합니다 (D B) 예 : 전체 XML 문서를 저장하는 것에 대해
2. 토론은 데이터를 HTML/RSS/JSON/XML로 변환해야하는 MVC 패턴의보기입니다.

+1

전체 시나리오를 제공해야합니다. 즉, 프리젠 테이션, 비즈니스 및 데이터 계층에 대한 제약 조건은 무엇입니까? –

+0

혼란스러워 보입니다. XML과 원시 데이터의 차이점은 무엇입니까? –

+0

유스 케이스가 없다면, 이런 종류의 질문은 주관적입니다 (* 비효율적 인 것 같습니다 * 주관의 종류) ... –

답변

1

XML 문서를 파일 저장소에 파일로 저장하는 많은 응용 프로그램이 완벽하게 적절한 성능을 제공합니다.

마찬가지로, XML 문서를 관계형 데이터베이스에 모양으로 저장하는 일부 응용 프로그램의 경우 충분히 잘 작동합니다.

성능을 극대화하려면 eXist 또는 MarkLogic과 같은 XML 데이터베이스를 사용하는 것이 가장 좋습니다.

시스템에서 제공해야하는 성능에 대한 명확한 기준이 없어도 성능에 대해 걱정할 필요가없는 것 같습니다.

0

액세스 방법에 따라 다릅니다. 데이터. 데이터의 일부를 별도로 액세스 (또는 수정)하려는 경우 원시 형식으로 저장하는 것이 더 나을 것입니다. 인덱스는 그런 방식으로 작성하는 것이 더 쉽습니다.

시스템의 나머지 부분에서 데이터를 블랙 박스로 처리하는 경우 데이터를 XML 형식으로 저장하는 것이 좋습니다.

세 번째 방법은 인덱스를 작성하고 XML 데이터 일부분에 대한 효율적인 쿼리를 수행 할 수있는 XML 인식 (또는 원시 XML) 저장소를 사용하는 것입니다.

그러나 이는 단지 일반적인 지침 일 뿐이며 사례별로 결정해야합니다.

+1

True. 같은 것을 쓰고있다. XML 인식 데이터베이스의 예로 eXist를 사용할 수 있습니다. –

0

정보가 없으면 대답을하기가 어렵습니다. 어떤 종류의 데이터인지, 어떻게 액세스 할 수 있습니까? 양식도 여기 기능을 따릅니다.

관계형 데이터베이스와 XML은 매우 다른 모델 (관계형과 계층 구조)을 가지고 있으며 주요 차이점은 반드시 성능 (둘 다 효율적이거나 비효율적 일 수 있음)이 아니라 사용 및 액세스 패턴입니다. 그리고 "원시"데이터가 무엇을 의미하는지 확신 할 필요가 없습니다. 아마도 플랫폼 기본 직렬화입니까?

XML 저장소의 단점 : XML은 압축이 잘되므로 상당한 크기의 XML 문서를 저장할 때 gzip 등을 사용하여 직접 압축을하는 것이 좋습니다. 압축 비율은 높을 수 있습니다. 나는 XML로 쓰여진 로그 파일에 대해 30 대 1 압축을 가졌다.

관련 문제