반구조화 데이터

Semi-structured data

반구조화[1] 데이터는 관계형 데이터베이스 또는 다른 형식의 데이터 테이블과 관련된 데이터 모델의 표 구조를 따르지 않는 구조화된 데이터의 한 형태이지만, 그럼에도 불구하고 의미 요소를 분리하고 데이터 내의 레코드 및 필드의 계층을 적용하기 위한 태그 또는 기타 마커를 포함합니다.그래서 자기 기술 구조라고도 합니다.

반구조화 데이터의 경우, 같은 클래스에 속하는 엔티티는 함께 그룹화되어 있어도 다른 속성을 가질 수 있으며, 속성의 순서는 중요하지 않습니다.

인터넷의 등장으로 반구조화된 데이터는 점점 더 많이 발생하고 있습니다.인터넷의 등장으로 풀텍스트 문서와 데이터베이스만이 유일한 데이터 형식이 아니며 다양한 애플리케이션에서 정보를 교환하기 위한 매체가 필요합니다.객체 지향 데이터베이스에서는 종종 반구조화된 데이터를 찾을 수 있습니다.

종류들

XML

XML,[2] 기타 마크업 언어, 이메일EDI는 모두 반구조화된 데이터 형식입니다.OEM(Object Exchange Model)[3]은 XML 이전에 데이터 구조를 자기 기술하기 위한 수단으로 작성되었습니다.XML은 SOAP 원칙을 사용하여 개발된 웹 서비스에 의해 대중화되었습니다.

여기서 "반구조적"으로 기술된 일부 데이터 유형(특히 XML)은 관계형 테이블 및 행과 동일한 기능 수준에서 구조적으로 엄격할 수 없다는 인상을 받습니다.실제로 XML을 본질적으로 반구조화(이전에는 "비구조화"라고 불림)라고 보기 때문에 광범위한 데이터 중심 애플리케이션에 XML을 사용할 수 없게 되었습니다.보통 반구조의 대명사로 여겨지는 문서조차도 XML 스키마에 의해 강제되고 상용 및 커스텀 소프트웨어 프로그램에 의해 처리되는 데이터베이스 스키마와 거의 동일한 엄격함으로 설계될 수 있으며, 인간 독자에 의한 사용성을 감소시키지 않습니다.

이러한 관점에서 XML은 인간 중심의 흐름과 계층, 그리고 매우 엄격한 요소 구조와 데이터 입력이 가능한 "유연한 구조"를 가지고 있다고 할 수 있습니다.

그러나 XML의 개념은 "인간이 읽을 수 있는" 개념입니다.Office 2007 이후 버전에서 구현된 Microsoft Word 문서 내용의 XML 표현과 같은 XML 구현/변어 중에는 특정 문제 영역을 반영하는 수십 또는 수백 가지 종류의 태그가 사용됩니다.Word의 경우 문자 및 문단 및 문서 수준에서 포맷됩니다.스타일 수, 따옴표 포함 등 복잡한 방식으로 서로 중첩되어 있습니다.이러한 XML 문서의 일부라도 읽음으로써 이해하는 것은 물론 구조상의 오류를 포착하는 것은 특정 XML 구현에 대한 깊은 사전 이해와 함께 사용된 XML 스키마를 이해하는 소프트웨어의 지원이 없으면 불가능합니다.이러한 텍스트는 스와힐리어로 쓰여진 책이 스와힐리어의 단어를 모르는 미국이나 서유럽인에게 주어지는 것과 같이 "인간이 이해할 수 있는" 것이 아니다: 태그는 그 도메인에 익숙하지 않은 사람에게 의미가 없는 기호이다.

JSON

JSON 또는 JavaScript 객체 표기법은 사람이 읽을 수 있는 텍스트를 사용하여 속성-값 쌍으로 구성된 데이터 개체를 전송하는 개방형 표준 형식입니다.XML 대신 주로 서버와 웹 애플리케이션 간에 데이터를 전송하기 위해 사용됩니다. JSON은 REST 원칙을 사용하여 개발된 웹 서비스에 의해 널리 보급되었습니다.

MongoDB Couchbase와 같은 새로운 유형의 데이터베이스가 있습니다. 이 데이터베이스는 반구조화 데이터 아키텍처의 장점을 활용하여 데이터를 기본적으로 JSON 형식으로 저장합니다.

장점과 단점

이점

  • 응용 프로그램에서 데이터베이스로 객체를 유지하는 프로그래머는 객체-관계 임피던스 불일치를 걱정할 필요가 없지만 종종 경량 라이브러리를 통해 객체를 직렬화할 수 있습니다.
  • 중첩된 데이터 또는 계층형 데이터를 지원하면 종종 엔티티 간의 복잡한 관계를 나타내는 데이터 모델을 단순화할 수 있습니다.
  • 오브젝트 리스트를 지원함으로써 리스트가 관계형 데이터 모델로 번잡하게 변환되는 것을 방지하고 데이터 모델을 심플화합니다.

단점들

  • 기존의 관계형 데이터 모델에는 널리 사용되는 기성 쿼리 언어인 SQL이 있습니다.
  • 데이터 모델에서 제약을 제거함으로써 데이터 애플리케이션 운영에 필요한 사전 고려가 줄어듭니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Peter Buneman (1997). "Semistructured data" (PDF). Symposium on Principles of Database Systems.
  2. ^ Penn 데이터베이스 그룹에는 준구조화 XML 데이터 프로젝트가 있습니다.
  3. ^ 스탠포드 대학의 Lore DBMS

외부 링크