데이터와 데이터베이스
※DB의 가장 중요한 목적은 데이터를 모아두는 것이다. 나에게 맞는 데이터를 수집하기 위해서는 먼저 수집 대상이 되는 데이터의 유형을 파악하고 있어야 한다. 그리고 유형별로 저장 및 처리 기술을 적합하게 선택하는 것이 중요하다. 일반적으로 데이터는 형태에 따라 정형 데이터, 반정형 데이터, 비정형 데이터로 분류할 수 있다.
정형 데이터
미리 정해진 구조에 따라 저장된 데이터를 정형 데이터라고 한다. 표 안에서 행과 열에 의해 지정된 각 칸에 데이터를 저장하는 엑셀의 스프레드시트, 관계 DB의 테이블이 정형 데이터를 담고 있는 대표적인 예이다. 데이터 구조에 대한 설명과 데이터 내용은 별도로 유지된다. 또한 미리 정해진 데이터 구조를 스키마(schema)라 한다.
반정형 데이터
구조에 따라 저장된 데이터이지만 정형 데이터와 달리 데이터 내용 안에 구조에 대한 설명이 함께 존재한다. 따라서 데이터 내용에 대한 설명, 즉 구조를 파악하는 파싱(parsing) 과정이 필요하고, 보통 파일 형태로 저장된다. 웹에서 데이터를 교환 하기 위해 작성하는 HTML, XML, JSON 문서나 웹 로그, 센서 데이터 등이 반정형 데이터에 속한다. 데이터 구조를 스키마(schema)라고도 하지만 메타 데이터(metadata)라고도 한다.
비정형 데이터
정해진 구조가 없이 저장된 데이터다. 소셜 데이터의 텍스트, 영상, 이미지, 워드나 PDF 문서와 같은 멀티미디어 데이터가 대표적인 예다. 최근에는 스마트 기기의 활성화로 SNS 이용자가 크게 늘면서 많은 비정형 데이터가 생성되고 있다. 그로인해 그 증가 속도는 예측하기 어려울 정도다.
XML 데이터베이스와 멀티미디어 데이터베이스
앞서 살펴본 DB는 문자나 숫자로 구성된 정형 데이터를 담고 있는 보편적인 DB다. 하지만 DB의 오랜 역사만큼이나 반정형, 비정형 데이터 같은 다른 유형의 데이터를 위주로 저장하는 DB를 구축하기 위해 오랫동안 다양한 시도가 있어왔다. 대표적인 예로 XML DB와 멀티미디어 DB가 있다.
먼저 XML DB는 웹에서 시스템 간의 데이터 교환을 위해 작성된 XML 문서를 효율적으로 저장하고 검색할 수 있도록 개발되었다. 기존 DB에 XML 문서 자체를 하나의 단위로 저장하는 방법과 XML 문서의 계층적 구조를 그대로 유지하면서 효율적인 관리가 가능하도록 XML 전용 DB를 따로 구성하는 방법으로 나뉜다. XML 전용 DB를 구성하는 경우 데이터 처리를 위해 XQuery 라는 언어를 사용한다.
멀티미디어 DB는 문자나 숫자뿐 아니라 이미지, 영상 등이 조합된 멀티미디어 데이터를 효율적으로 저장하고 검색할 수 있도록 개발되었다. 다양한 형태의 데이터를 저장하고 처리하기 위해 객체지향적 접근이 필요하다. 멀티미디어 데이터는 일반 데이터보다 용량이 크다는 점을 고려해야 한다. 또한 실시간으로 저장된 멀티미디어를 읽어내고 전송할 수 있어야 하며 멀티미디어 데이터의 특징을 고려한 검색이 이루어지도록 하는 기능 등이 추가로 필요하다.