본문 바로가기

데이터베이스

데이터의 종류

훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com

데이터의 종류에는 어떤 것들이 있을까?


일반적으로 알려진 데이터의 종류에는 3가지가 있습니다.

  1. 정형 데이터
  2. 반정형 데이터
  3. 비정형 데이터

오늘은 데이터 종류에 대해 공부하고 정리해보겠습니다.



스키마 (schema)


컴퓨터 과학에서 데이터베이스 스키마는

자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조이다. - 위키백과

 

간단히 생각해서 데이터의 구조와 제약 조건에 대한 것들을 정의한 것입니다.

정형 / 반정형 / 비정형 데이터를 구분할 때 스키마라는 용어에 대한 이해가 필요합니다.



정형 데이터 (Structured Data)


이런 형태로 가져와. 이런 형태 아니면 너 안 받아준다?

 

스키마를 철저히 따르는 데이터를 의미합니다.

앞서 말씀드렸듯 명확한 구조와 제약조건을 지켜야 하기 때문에 데이터의 자유도가 낮습니다.

 

대표적으로 RDBMS에 들어가는 형태의 데이터를 의미합니다.

 

정형 데이터의 간단한 예시로는 주민등록번호를 생각할 수 있습니다.

주민등록번호는 생년월일, 성별 등의 자료를 종합하여 13자리 번호를 만들어 낸 것입니다.

이런 형태를 엄격하게 지켜야 하고, 12자리나 14자리 주민등록번호는 존재할 수 없습니다. 또한 없을 수도 없습니다.



반정형 데이터 (Semi-Structured Data)


명확한 스키마가 없습니다. 아예 스키마 자체가 없는 것은 아니지만 정형 데이터에 비해 데이터의 자유도가 있습니다.

다시 말해서 대체로 비슷하지만, 모든 데이터가 완전히 동일한 구조를 할 필요는 없다는 것입니다.

 

반정형 데이터의 대표적인 예시가 바로 json입니다.

json-> key-value 형태의 자료형입니다. 코딩을 해보신 분이라면 무조건 써보셨을 데이터 형식입니다.

 

예시를 하나 보겠습니다.

[ {"name":"jeong", "age":25}, {"name":"kim", "age":30, "email":"kim@tistory.com"} ]

위처럼 하나의 json 배열에 json object가 두 개 들어있는데, 두 개의 형태가 조금 다릅니다.

 

공부를 하면서 조금 더 찾아보니 이런 반정형 데이터는 경우에 따라 정형이 될 수도, 비정형이 될 수도, 둘 다를 포함하는 경우 등 명확히 정의하기 애매한 경우가 많기 때문에 현업에서는 데이터를 주고받을 때 변경된 포맷 정도로 생각하는 경우가 많다고 합니다. 

 

하지만 확실한 것은 json과 같은 반정형 데이터는 요즘 쓰임이 매우 넓어지고 있고 RDBMS에서도 json형식을 지원하는 움직임을 보이고 있기 때문에. 공부하고 사용할 가치가 있다는 것입니다.



비정형 데이터 (Unstructured Data)


사실상 구조가 없는 데이터를 의미합니다.

 

구조가 없다니? 종류를 보겠습니다.

비디오, 오디오 등의 멀티미디어 데이터, 일반 텍스트, 웹자료 등이 있습니다.

 

사실 이것들도 깊게 파고 들어가면 각각의 형식이 있습니다.

간단히 생각했을 때 비디오도 당연히 자료의 형식이 있겠죠?

 

하지만 여기서 말하는 구조란, 데이터베이스 입장에서 바라봤을 때를 의미합니다.

데이터베이스에서 봤을 때 오디오 파일은 그냥 오디오 파일일 뿐, 멜로디가 어떻고 가사가 어떻고를 따질 수가 없습니다.

 

그래서 요즘은 이런 비정형 데이터를 정형 데이터처럼 처리하고자 하는 기술의 개발이 이슈입니다.

예를 들어 이미지를 통한 검색, 라임을 통한 힙합 음악 검색 등의 기술들을 말하는 것입니다.

 

텍스트에서는 역 인덱스 기법이라던지 하는 기술들이 있는데, 이는 공부해나가면서 채워보겠습니다.


 

'데이터베이스' 카테고리의 다른 글

MySQL Join 기본  (0) 2021.03.31
MySQL 기본 명령어  (0) 2021.03.31
(MySQL) Selection연산 기본과 Index Performance  (0) 2021.03.24
키, 외래 키, 참조 무결성 제약 조건  (0) 2021.03.17
데이터베이스 기본 개념  (0) 2021.03.11