데이터 분류
온라인 소매 비즈니스에는 다양한 형식의 데이터가 있습니다. 데이터 형식마다 이점이 있는 스토리지 솔루션이 다를 수 있습니다.
애플리케이션 데이터는 구조적, 반구조적, 비구조적이라는 세 가지 방법 중 하나로 분류할 수 있습니다. 여기서는 데이터 유형에 적절한 스토리지 솔루션을 선택할 수 있도록 데이터를 분류하는 방법을 알아봅니다.
클라우드에서 데이터를 저장하는 방법
다음 비디오에서는 클라우드에 데이터를 저장하는 옵션을 소개합니다.
정형 데이터
관계형 데이터라고도 하는 구조적 데이터에서는 모든 데이터에 동일한 필드 또는 속성이 있습니다. 모든 데이터에는 동일한 조직과 셰이프 즉, 스키마가 있습니다. 공유 스키마를 사용하면 SQL(Structured Query Language)과 같은 쿼리 언어로 이러한 유형의 데이터를 쉽게 검색할 수 있습니다. 이 기능 때문에 이 데이터 스타일은 CRM 시스템, 예약 및 재고 관리와 같은 애플리케이션에 적합합니다.
구조적 데이터는 종종 행, 열 및 키와 함께 데이터베이스 테이블에 저장됩니다. 테이블에서 키 열은 테이블의 한 행이 다른 테이블의 다른 행에 있는 데이터와 어떤 관계가 있는지 표시합니다. 다음 이미지에서 성적 데이터가 있는 테이블은 키 열을 사용하여 학생 이름 테이블과 수업 데이터 테이블에서 데이터를 가져옵니다.
정형 데이터는 입력하고 쿼리하고 분석하기가 쉽다는 점에서 간단합니다. 모든 데이터는 같은 형식입니다. 그러나 일관된 구조를 강제한다는 것은 데이터의 발전이 더 어렵다는 의미이기도 합니다. 데이터 필드를 추가하거나 제거하는 경우 새 구조에 맞도록 각 레코드를 업데이트해야 합니다.
반정형 데이터
반구조적 데이터는 구조적 데이터보다 덜 조직적입니다. 반구조적 데이터는 필드가 테이블, 행 및 열에 잘 맞지 않으므로 관계형 형식으로 저장되지 않습니다. 반구조적 데이터에는 데이터의 계층과 조직을 명백하게 하는 태그가 포함됩니다. 한 가지 예는 키/값 쌍입니다. 반구조적 데이터는 비관계형 또는 NoSQL(not only SQL) 데이터라고도 합니다.
데이터 serialization 언어는 반구조화된 데이터를 정의합니다. 데이터 분류에서 serialization이란 데이터를 전송하거나 저장할 수 있는 형식으로 변환하는 프로세스입니다.
소프트웨어 개발자의 경우, 데이터 serialization 언어를 사용하여 메모리에 저장된 데이터를 파일에 작성하여, 다른 시스템으로 전송하고, 구문을 분석하고 판독할 수 있습니다. 보낸 사람과 받은 사람은 다른 시스템의 세부 사항을 알 필요가 없습니다. 동일한 serialization 언어를 사용하면 두 시스템 모두 데이터를 이해할 수 있습니다.
일반적인 serialization 언어
세 가지 일반적인 serialization 언어는 XML, JSON 및 YAML입니다.
XML
XML(Extensible Markup Language)은 널리 사용되는 첫 번째 데이터 언어 중 하나입니다. XML은 텍스트 기반이므로 사람과 머신이 쉽게 읽을 수 있습니다. XML 파서는 거의 모든 인기 개발 플랫폼에서 사용할 수 있습니다.
XML을 사용하여 관계를 표현할 수 있습니다. XML은 스키마, 변형 및 웹에 표시하기에 대한 표준도 있습니다.
다음은 XML로 표현된 사람의 이름, 나이 및 취미의 예입니다.
<Person Age="23">
<FirstName>Quinn</FirstName>
<LastName>Anderson</LastName>
<Hobbies>
<Hobby Type="Sports">Golf</Hobby>
<Hobby Type="Leisure">Reading</Hobby>
<Hobby Type="Leisure">Guitar</Hobby>
</Hobbies>
</Person>
XML은 꺾쇠 괄호 안에 정의된 태그를 사용하여 데이터의 모양을 표현합니다. 이러한 태그는 두 가지 형태, 즉 요소(예: <FirstName>
) 및 텍스트로 표현할 수 있는 특성(예: Age="23"
)이 있습니다. 요소에는 관계를 표현하는 자식 요소가 있을 수 있습니다. 예를 들어 <Hobbies>
태그는 Hobby
요소의 컬렉션을 표현합니다.
XML은 유연하며 복잡한 데이터를 쉽게 표현할 수 있습니다. 하지만 그만큼 장황해지기 쉽고, 네트워크를 통해 저장, 처리, 전달하는 과정에서 부하가 늘어나게 됩니다. 그 결과, 다른 형식이 점점 인기를 얻게 되었습니다.
JSON
JSON(JavaScript Object Notation)은 간단한 사양이며 중괄호를 사용하여 데이터 구조를 표시합니다. XML과 비교해 JSON은 덜 자세하고 사람이 더 쉽게 읽을 수 있습니다. JSON은 웹 서비스에서 데이터를 반환하는 데 자주 사용됩니다.
JSON으로 표현된 동일한 사람의 이름, 나이 및 취미는 다음과 같습니다.
{
"firstName": "Quinn",
"lastName": "Anderson",
"age": "23",
"hobbies": [
{ "type": "Sports", "value": "Golf" },
{ "type": "Leisure", "value": "Reading" },
{ "type": "Leisure", "value": "Guitar" }
]
}
JSON 형식은 XML만큼 형식적이지 않습니다. 형식적인 데이터 식보다는 키/값 쌍 모델에 더 가깝습니다. 이름에서 알 수 있듯이 JavaScript 프로그래밍 언어가 이 형식을 기본적으로 지원하므로 웹 개발에서 매우 인기가 있습니다. XML처럼 다른 언어에도 이 데이터 형식으로 작업하는 데 사용할 수 있는 파서가 있습니다. JSON의 단점은 프로그래머 중심적이라 기술자가 아닌 경우 읽고 수정하기가 더 어렵다는 것입니다.
YAML
YAML(Ain't Markup Language)은 최근에 개발된 데이터 serialization 언어입니다. YAML을 사용하는 이점 중 하나는 다른 언어보다 사람이 더 쉽게 읽을 수 있다는 것입니다. 줄 구분과 들여쓰기는 데이터 구조를 정의합니다. YAML 형식은 괄호, 쉼표, 대괄호 등의 구조적 문자에 대한 종속성을 줄여줍니다.
다음은 동일한 데이터를 YAML로 표현한 것입니다.
firstName: Quinn
lastName: Anderson
age: 23
hobbies:
- type: Sports
value: Golf
- type: Leisure
value: Reading
- type: Leisure
value: Guitar
이 형식은 JSON보다 가독성이 좋습니다. 사용자가 작성하지만 프로그램에서는 구문 분석하는 구성 파일이 일반적인 용도입니다. YAML은 이러한 데이터 형식의 최신 형식입니다.
이는 사용자가 작성하지만 프로그램에서 구문 분석하는 구성 파일에 자주 사용됩니다.
반구조적 또는 NoSQL 데이터란?
다음 비디오에서는 반구조적 데이터 및 NoSQL 데이터 스토리지 옵션에 대해 설명합니다.
비정형 데이터
비구조적 데이터의 조직은 정의되지 않습니다. 비구조적 데이터는 사진 또는 비디오 파일과 같은 파일 형식으로 전달되는 경우가 많습니다. 비디오 파일 자체는 전체적인 구조를 보유하며 반구조적 메타데이터와 함께 제공될 수 있지만 비디오 자체를 형성하는 데이터는 비구조적입니다. 따라서 사진, 비디오 및 기타 유사한 파일은 비구조적 데이터로 분류됩니다.
비구조적 데이터의 예는 다음과 같습니다.
- 사진, 동영상, 오디오 파일 등의 미디어 파일.
- Word 문서와 같은 Microsoft 365 파일.
- 텍스트 파일.
- 로그 파일
데이터 분류: 데이터 형식 평가
데이터는 구조적, 반구조적, 반구조적이라는 세 가지 방법 중 하나로 분류할 수 있습니다. 차이점을 이해하여 데이터를 분류할 수 있으면 적합한 스토리지 솔루션을 선택하는데 도움이 됩니다.
구조적 데이터는 데이터의 테이블 또는 열에 잘 맞게 구성된 데이터입니다. 반구조적 데이터도 잘 구성되어 있으며 명확한 속성과 값을 가지고 있지만 데이터에 다양성이 있습니다. 비구조적 데이터는 테이블이나 열에 잘 맞지 않으며 균일한 스키마가 없습니다.
온라인 소매 비즈니스에서 사용되는 데이터 세트를 살펴보고 분류해 보겠습니다.
제품 카탈로그 데이터
온라인 소매 비즈니스의 제품 카탈로그 데이터는 본질적으로 반구조적입니다. 각 제품에는 제품 SKU, 설명, 수량, 가격, 크기 옵션, 색상 옵션, 사진 및 동영상이 있습니다. 우선 이러한 데이터는 모두 구조가 동일하므로 관계형으로 표시됩니다. 그러나 새 제품 또는 다른 종류의 제품을 도입하고 시간이 지남에 따라 다른 필드를 추가하고 싶을 수 있습니다. 예를 들어 취급하는 새 테니스 신발에 Bluetooth가 지원되어 신발의 센서 데이터를 사용자의 휴대폰에 있는 피트니스 앱으로 릴레이할 수 있습니다. 이 기능은 증가하는 추세입니다. 고객에게 “Bluetooth 지원” 신발 필터링 옵션을 제공하려고 하는데 모든 기존 신발 데이터를 Bluetooth 지원 속성으로 업데이트하고 싶지는 않고 새 신발에만 이 새 속성을 추가하려고 합니다.
Bluetooth 지원 속성을 추가하면 더 이상 신발 데이터의 유형이 균일하지 않게 됩니다. 스키마에 차이점이 도입되었기 때문입니다. 발생한 예외가 이러한 변경만이라면 모든 제품에 “Bluetooth 지원” 필드를 포함시켜 구조적 관계형 조직을 보유하도록 기존 데이터를 정규화할 수 있습니다. 하지만 이 데이터가 나중에 지원하려고 구상 중인 여러 전문 필드 중 하나일 뿐이라면 이 데이터의 분류는 반구조적입니다. 태그는 데이터를 구성하지만 카탈로그의 각 제품에는 고유한 필드가 포함될 수 있습니다.
제품 카탈로그 데이터의 분류는 반구조적입니다.
사진 및 비디오
제품 페이지에 표시되는 사진 및 비디오는 비구조적 데이터입니다. 미디어 파일에 메타데이터가 포함될 수 있지만 미디어 파일의 본문은 비구조적입니다.
사진 및 비디오에 대한 데이터 분류는 비구조적입니다.
비즈니스 데이터
비즈니스 분석가는 비즈니스 인텔리전스를 구현하여 재고 파이프라인 평가 및 판매 데이터 검토를 수행하려고 합니다. 이러한 작업을 수행하려면 여러 달의 데이터를 집계한 다음, 쿼리해야 합니다. 비슷한 데이터를 집계해야 하므로 이 데이터는 한 달을 다음 달과 비교할 수 있도록 구조적이어야 합니다.
비즈니스 데이터에 대한 분류는 구조적입니다.