데이터 교환
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
데이터 교환은 데이터를 주고받는 방식과 데이터의 표현 방식을 포괄하는 개념이다. 데이터 교환 방식에는 모든 참여자에게 동시에 데이터를 전송하는 브로드캐스트 방식과 특정 수신자에게만 데이터를 전송하는 피어 투 피어(유니캐스트) 방식이 있다. 데이터 교환 언어는 데이터의 구조와 의미를 정의하며, XML, JSON, YAML, REBOL, Gellish 등이 널리 사용된다. 특정 도메인 내에서 다양한 데이터 형식을 상호 변환하기 위해 단일 도메인 데이터 교환 형식이 사용되기도 한다.
데이터 교환에는 브로드캐스트 방식과 유니캐스트 방식 두 가지 유형이 있다.[1]
데이터 교환 언어/포맷은 도메인 의존 언어이며 어떠한 종류의 데이터에 대해서라도 사용이 가능하다.[13] 모델링 언어도 참고할 수 있다.
2. 데이터 교환 방식
2. 1. 브로드캐스트 방식
브로드캐스트 네트워크에서는 데이터가 모든 참여자에게 동시에 전송된다. 컨퍼런스 콜과 마찬가지로 모든 참여자가 발신자로부터 정확히 동일한 정보를 동시에 얻는다.[2]
2. 2. 유니캐스트 (피어 투 피어) 방식
유니캐스트 데이터 교환 모델에서는 특정 주소로 정의된 대상 수신자에게만 데이터가 전송된다. 전화 통화나 이메일과 마찬가지로 정보는 두 네트워크 참여자 간에만 흐른다.[3]
3. 데이터 교환 언어
데이터 교환 언어/형식은 도메인에 독립적이며 모든 종류의 분야의 데이터에 사용될 수 있는 언어이다.[4] 정보의 구조적 속성을 설명하는 메타데이터의 인코딩을 추가로 지원하기 위해 마크업 및 표시 지향에서 진화했다.[5]
특정 유형의 형식 언어는 특정 소프트웨어 구현 요구 사항이 아닌 공식적인 프로세스에 의해 사양이 결정되기 때문에 이 작업에 더 적합하다는 것이 실제 사용을 통해 입증되었다. 예를 들어, XML은 방언(도메인별 하위 언어 정의)을 생성하도록 설계된 마크업 언어이다.[6] 그러나 도메인별 사전이나 사실 유형을 포함하지 않는다. 신뢰할 수 있는 데이터 교환에 도움이 되는 것은 파서, 스키마 검증기, 변환 도구와 같은 표준 사전-분류 및 도구 라이브러리의 가용성이다.
3. 1. 데이터 교환 언어의 종류
데이터 교환 언어/포맷은 도메인 의존 언어이며 어떠한 종류의 데이터에 대해서라도 사용이 가능하다.[13]
| 스키마 | 유연함 | 시맨틱 확인 | 사전 | 정보 모델 | 동음이의어, 유의어 | 방언 | 웹 표준 | 변환 | 가벼움(Lightweight) | 인간이 읽을 수 있음 | 호환성 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RDF | 시맨틱 웹의 부분집합 | |||||||||||
| XML | SGML, HTML의 하위집합 | |||||||||||
| 아톰 | XML 방언 | |||||||||||
| JSON | YAML의 부분집합 | |||||||||||
| YAML | JSON의 확대집합 | |||||||||||
| REBOL | ||||||||||||
| Gellish | ISO | SQL, RDF/XML, OWL |
데이터 교환 언어/형식은 도메인에 독립적이며 모든 종류의 분야의 데이터에 사용될 수 있는 언어이다.[4]
3. 2. 주요 데이터 교환 언어 상세
데이터 교환 언어/포맷은 도메인에 의존적이며, 모든 종류의 데이터에 사용될 수 있다.[13] 데이터 교환에 사용되는 주요 언어는 다음과 같다.| 이름/약어 | 스키마 | 유연성 | 의미 검증 | 사전 | 정보 모델 | 동의어 및 동음이의어 | 방언 | 웹 표준 | 변환 | 경량 | 사람이 읽을 수 있음 | 호환성 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RDF | 예[13] | 예 | 예 | 예 | 예 | 예 | 예 | 예 | 예 | 예 | 부분적 | 시맨틱 웹의 하위 집합 |
| XML | 예[13] | 예 | 아니오 | 아니오 | 아니오 | 아니오 | 예 | 예 | 예 | 아니오 | 예 | SGML, HTML의 하위 집합 |
| 아톰 | 예 | 알 수 없음 | 알 수 없음 | 알 수 없음 | 아니오 | 알 수 없음 | 예 | 예 | 예 | 아니오 | 아니오 | XML 방언 |
| JSON | 아니오 | 알 수 없음 | 알 수 없음 | 알 수 없음 | 아니오 | 알 수 없음 | 아니오 | 예 | 아니오 | 예 | 예 | YAML의 부분집합 |
| YAML | 아니오[13] | 알 수 없음 | 알 수 없음 | 알 수 없음 | 아니오 | 알 수 없음 | 아니오 | 아니오 | 아니오[13] | 예 | 예[13] | JSON의 상위 집합 |
| REBOL | 예[13] | 예 | 아니오 | 예 | 아니오 | 예 | 예 | 아니오 | 예[13] | 예 | 예[13] | |
| Gellish | 예 | 예 | 예 | 예[13] | 아니오 | 예 | 예 | ISO | 아니오 | 예 | 부분적[13] | SQL, RDF/XML, OWL |
- 스키마: 언어 정의가 컴퓨터로 해석 가능한 형식으로 제공되는지 여부
- 유연성: 언어가 스키마를 수정하지 않고 의미 표현 기능을 확장할 수 있는지 여부
- 의미 검증: 언어 정의가 언어 표현식의 정확성에 대한 의미 검증을 지원하는지 여부
- 사전-분류법: 언어에 상속이 있는 개념의 사전과 분류법(하위 유형-상위 유형 계층)이 포함되어 있는지 여부
- 동의어 및 동음이의어: 언어에 표현식에서 동의어와 동음이의어의 사용이 포함되고 지원되는지 여부
- 방언: 언어 정의가 여러 자연어 또는 방언으로 제공되는지 여부
- 웹 또는 ISO 표준: 언어를 표준으로 승인한 조직
- 변환: 언어에 다른 표준으로의 변환이 포함되어 있는지 여부
- 경량: 전체 버전 외에 경량 버전이 제공되는지 여부
- 사람이 읽을 수 있음: 언어의 표현식이 훈련 없이 사람이 읽을 수 있는지 여부[7]
- 호환성: 언어를 사용할 때 사용할 수 있거나 필요한 다른 도구
3. 2. 1. XML
XML이 월드 와이드 웹에서 데이터 교환에 널리 사용되는 데에는 몇 가지 이유가 있다. 우선, 기존의 표준인 SGML(Standard Generalized Markup Language, 표준 범용 마크업 언어) 및 HTML(Hypertext Markup Language, 하이퍼텍스트 마크업 언어)과 밀접한 관련이 있으며, 이러한 두 언어를 지원하도록 작성된 파서는 XML도 쉽게 지원하도록 확장할 수 있다. 예를 들어, XHTML은 공식적인 XML 형식으로 정의되었지만 대부분의(전부는 아니더라도) HTML 파서에서 올바르게 이해된다.[6]3. 2. 2. YAML
YAML은 사람이 읽기 쉽도록 설계된 언어이며(따라서 표준 텍스트 편집기로 쉽게 편집할 수 있다), reStructuredText 또는 위키 구문과 유사한 개념을 가지고 있어 사람과 컴퓨터 모두 읽을 수 있다. YAML 1.2는 JSON과 호환되는 축약형 개념을 포함하여, 모든 JSON 문서는 유효한 YAML 문서이다. 그러나 그 반대는 성립하지 않는다.[8]3. 2. 3. REBOL
REBOL은 모든 표준 텍스트 편집기를 사용하여 사람이 읽고 편집하기 쉽도록 설계된 언어이다. 이를 위해 최소한의 구두점과 풍부한 데이터 유형을 갖춘 간단한 자유 형식 구문을 사용한다. URL, 이메일, 날짜 및 시간 값, 튜플, 문자열, 태그 등과 같은 REBOL 데이터 유형은 일반적인 표준을 준수한다. REBOL은 메타순환 방식으로 설계되어 추가 메타 언어가 필요하지 않도록 설계되었다. 언어의 메타 순환성은 예를 들어 REBOL 방언의 정의 및 변환에 (배타적으로는 아님) 사용되는 Parse 방언이 자체적으로 REBOL의 방언이기도 한 이유이다.[9] REBOL은 JSON의 영감의 원천으로 사용되었다.[10]3. 2. 4. Gellish
젤리쉬 영어는 자연 영어의 형식화된 하위 집합으로, 단순한 문법과 일반 및 도메인별 용어(개념에 대한 용어)를 정의하는 크고 확장 가능한 영어 사전-분류법을 포함한다. 여기서 개념은 지식과 요구 사항의 상속을 지원하는 하위 유형-상위 유형 계층(분류법)으로 배열된다. 이 사전-분류법에는 표준화된 사실 유형(관계 유형이라고도 함)도 포함되어 있다. 용어와 관계 유형을 함께 사용하여 사실, 지식, 요구 사항 및 기타 정보의 표현을 생성하고 해석할 수 있다. 젤리쉬는 SQL, RDF/XML, OWL 및 기타 다양한 메타 언어와 함께 사용할 수 있다. 젤리쉬 표준은 ISO 10303-221(AP221)과 ISO 15926의 조합이다.[11]4. 단일 도메인 데이터 교환
어떤 도메인에서는 수십 개의 서로 다른 소스 및 대상 스키마(독점 데이터 형식)가 존재할 수 있다. "교환" 또는 "상호 교환 형식"은 종종 단일 도메인에 대해 개발되며, 상호 교환 형식을 중간 단계로 사용하여 모든 소스 스키마를 모든 대상 스키마로 (간접적으로) 변환/번역하는 데 필요한 루틴(매핑)이 작성된다. 이는 모든 소스 스키마를 모든 대상 스키마로 직접 변환하는 데 필요한 수백 개의 서로 다른 루틴을 작성하고 디버깅하는 것보다 훨씬 적은 작업을 필요로 한다.
4. 1. 단일 도메인 데이터 교환 형식의 예
어떤 도메인에서는 수십 개의 서로 다른 소스 및 대상 스키마(독점 데이터 형식)가 존재할 수 있다. "교환" 또는 "상호 교환 형식"은 종종 단일 도메인에 대해 개발되며, 그런 다음 상호 교환 형식을 중간 단계로 사용하여 모든 소스 스키마를 모든 대상 스키마로 (간접적으로) 변환/번역하는 데 필요한 루틴(매핑)이 작성된다. 이는 모든 소스 스키마를 모든 대상 스키마로 직접 변환하는 데 필요한 수백 개의 서로 다른 루틴을 작성하고 디버깅하는 것보다 훨씬 적은 작업을 필요로 한다.이러한 변환적 상호 교환 형식의 예는 다음과 같다.
참조
[1]
논문
Optimal exchange of data over broadcast networks with adversaries
https://ieeexplore.i[...]
2017-03-30
[2]
웹사이트
What is a Broadcast?
https://www.ionos.ca[...]
2024-04-03
[3]
웹사이트
Unicast
https://www.ionos.ca[...]
2024-04-03
[4]
논문
General Data Interchange Language
http://www.isprs.org[...]
2018-05-25
[5]
논문
Comparison of JSON and XML Data Interchange Formats: A Case Study
[6]
서적
AdvancED CSS
https://books.google[...]
APress
2018-05-25
[7]
웹사이트
human-readable
https://web.archive.[...]
Oxford University Press
2018-05-29
[8]
웹사이트
JSON is YAML, but YAML is not JSON
https://eli.thegreen[...]
2018-05-29
[9]
논문
The REBOL Scripting Language
http://www.drdobbs.c[...]
2018-05-29
[10]
웹사이트
On JSON and REBOL
http://www.rebol.com[...]
2018-05-29
[11]
논문
A Taxonomy of Functions in Gellish English
https://www.designso[...]
2018-05-29
[12]
서적
Principles of data integration
https://books.google[...]
Morgan Kaufmann
[13]
저널
General Data Interchange Language
http://www.isprs.org[...]
2018-05-25
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com