문제

XML에 관심이 있습니다. Google의 CSE에서 알고 있습니다.

3000 줄 XML 파일을 조작하는 것은 종종 고통입니다. 이것은 질문을 제기합니다.

Google이 큰 XML -Files를 조작 해야하는 MySQL이 아닌 XML을 사용하는 이유는 무엇입니까?

도움이 되었습니까?

해결책

XML은 데이터 교환 목적으로 SQL에 비해 이러한 장점이 있습니다.

  • 이것의 자기 설명, 당신은 그것을 구문 분석하기 위해 추가 정보가 필요하지 않습니다.
  • 진정한 표준입니다. 보편적으로 상호 운용 가능합니다.
  • 예를 들어 표지 지향 데이터에만 국한되지 않습니다. 예를 들어이를 사용하여 계층을 모델링 할 수도 있습니다.

아마도 SQL로 할 수있는 최선은 소스 코드 형식의 선박 테이블, 즉 테이블 문을 작성하고 많은 삽입 문을 작성하는 것입니다. 호환 데이터베이스가있는 경우에는 괜찮지 만 SQL은 표준으로 실제로 결정화되지 않았 으므로이 수준의 상호 운용성은 매우 열악하며 Google은 여러 방언 (아마도 동일한 DBMS의 호환되지 않는 버전의 경우도)을 제공해야합니다.

다른 팁

XML은 대부분 인간 읽기 가능하고 크로스 플랫폼입니다. Google은 MySQL에서만 데이터를 어떻게 보낼까요? 그들이 당신이 당신에게 그것을 삽입 할 적절한 데이터베이스가 있다고 가정하는 이진 블로브를 보내겠다고 기대하십니까? MySQL이 설치되지 않았거나 다른 버전의 MySQL이 Google보다 시스템에 설치된 경우 어떻게 해당 블로브를 사용 하시겠습니까?

XML은 종종 시스템 간 전송 형식으로 사용됩니다. CSE에서는 Google이 많은 시스템을 사용할 수있는 형식으로 많은 데이터를 귀하에게 전송하고 있다고 생각합니다. 그들이 MySQL을 사용했다면 나는 그것에 대해 아무것도 모르기 때문에 나에게 쓸모가 없을 것입니다. 그러나 거의 대부분의 최신 소프트웨어 프레임 워크는 XML에서 작동 할 수 있습니다.

추가의

또한 CSE (Customized Search Engine)는 아마도 XML에 대한 많은 조작을 수행 할 필요가 없으며 웹 페이지로 렌더링 할 경우 변환 할 것으로 예상합니다. XML 파일로 XSLT (확장 가능한 스타일 시트 언어 변환)를 쉽게 수행하여 웹 사이트에서 사용할 HTML 조각으로 변환 할 수 있습니다.

MySQL은 특정 SQL 데이터베이스 엔진입니다. 하나는 매우 큰 데이터 세트에 대한 백엔드를 제공하기에 적합하지 않습니다. Google의 인프라가 시작하는 방법에 대한 정보를 파헤칠 수 있다고 확신합니다. 여기

MySQL과 같은 특정한 것을 의존하고 노출시키는 것은 인터넷을 통해 데이터를 교환 할 때 원하는 것이 아닙니다.

XML 반면, 일반 및 텍스트 마크 업 언어가되는 것은 시스템 간 데이터를 인터페이스하고 교환해야 할 때 이상적입니다. 따라서 Google CSE와 같은 서비스를 인터페이스하는 이상적인 방법을 제공합니다. Google은 데이터를 제공 해야하는 특정 구현에 신경을 줄 필요가 없으며 Google은 데이터를 조작하는 데 사용하는 특정 기술에 신경 쓰지 않아도됩니다.

@jared 외에도 XML 데이터베이스가 있습니다. 데이터가 XML에 저장되면 쿼리, 즉시 HTML로 변환하거나 데이터를 감싸지 않고 응용 프로그램에 사용할 수 있습니다.

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