티스토리 뷰

안녕하세요. 오늘은 다양한 데이터베이스에 관해서 무엇 무엇들이 있는지에 대해 포스팅하려고 합니다.


1. 데이터베이스의 종류


DBMS는 데이터 저장 방법에 따라 몇 가지로 분류할 수 있습니다. 지금부터 오래된 순서로 몇몇 DBMS를 소개합니다.


- 계층형 데이터베이스 : 역사가 오래된 DBMS로, 폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식의 데이터베이스입니다. 하드디스크나 DVD 파일 시스템을 이러한 계층형 데이터베이스라고 할 수 있습니다. 하지만 현재 DBMS로서 채택되는 경우는 많지 않습니다.


- 관계형 데이터베이스 : '관계 대수'라는 것에 착안하여 고안한 데이터베이스입니다. 즉, 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스를 가리킵니다. 여기서 표 형식의 데이터란 2차원 데이터를 말하며, 가로 방향으로는 '열'을 세로 방향으로는 '행'을 나열합니다.

유사한 이미지로 엑셀 시트를 떠올리면 되고, 관계형 데이터베이스에는 이러한 표를 잔뜩 저장해두고, 각각의 표에 이름을 붙여 관리합니다.


- 객체 지향 데이터베이스 : 자바나 C++를 객체지향 언어라고 합니다. '객체(Object)'라는 것을 중심으로 프로그래밍 하는 언어이고, 가능하면 객체 그대로를 데이터베이스의 데이터로 저장하는 것이 객체 지향 데이터베이스입니다.


- XML 데이터베이스 : XML이란 자료 형식을 가리키는 용어로, 태그를 이용해 마크업 문서를 작성할 수 있게 정의된 것입니다. 태그는 <data>데이터</data>와 같은 형식으로 표현하며, 마치 HTML과 흡사합니다. XML 데이터베이스는 이처럼 XML 형식으로 기록된 데이터를 저장하는 데이터베이스입니다. XML 데이터베이스에는 SQL 명령을 사용할 수 없고, 대신 XML 데이터를 검색할 때는 XQuery라는 전용 명령어를 사용합니다.


- 키-밸류 스토어(KVS) : 키(key)와 그에 대응하는 값(value)이라는 단순한 형태의 데이터를 저장하는 데이터베이스입니다. key-value 조합은 연상배열이나 해시 테이블에서 자주 볼 수 있습니다. NoSQL(Not only SQL)이라는 슬로건으로부터 생겨난 데이터베이스로 열 지향 데이터베이스라고 불리기도 합니다.



2. 데이터베이스 제품


RDBMS라는 용어는 관계형 데이터베이스를 관리하는 소프트웨어를 일컫는 말이며, 실제로 시중에 판매되거나 오픈소스로 자유롭게 다운로드할 수 있는 제품으로 다음과 같은 것이 있습니다.


- Oracle : Oracle 데이터베이스는 오라클에서 개발한 RDBMS입니다. 역사가 깊은 만큼 많은 시스템에서 채택해 사용 중입니다. 현재 가장 많이 쓰이는 RDBMS 중 하나로, RDBMS의 사실상 표준이라고 해도 문제없을 정도로 유명합니다.


- DB2 : IBM이 개발한 DB2는 Oracle처럼 역사가 오래된 RDBMS입니다. 다만 오라클이 유닉스 워크스테이션 중심이었던 것과 달리, DB2는 발표된 이래 한동안 IBM컴퓨터에서만 구동되었습니다. 이후 유닉스나 윈도우 등의 플랫폼에서도 DB2를 구동할 수 있게 되었지만 시장 점유율을 확대할 수 없었습니다.


- SQL Server : SQL Server는 윈도우를 개발한 마이크로소프트가 새발한 RDBMS로, 윈도우 플랫폼에서만 동작합니다. 앞에서 언급한 RDBMS에 비해 비교적 새로운 제품으로, 윈도우가 서버 분야로 영역을 넓히면서 SQL Server를 사용하는 시스템도 많이 증가했습니다.


- PostgreSQL : PostgreSQL은 오픈소스 커뮤니티가 개발한 RDBMS입니다. 무료 소프트웨어인 만큼 자유롭게 사용할 수 있습니다. 기반이 되는 RDBMS는 캘리포니아 대학교 버클리 캠퍼스에서 탄생했는데, 그 때문인지 몰라도 실험적인 기능이 포함되어 있거나 독특한 구조를 가지기도 합니다.


- MySQL : MySQL은 PostgreSQL과 마찬가지로 오픈소스 커뮤니티에서 태어난 RDBMS입니다. 세상에 나올 당시만 해도 경량 데이터베이스라는 점을 강조하다 보니 필요한 최소한의 기능만을 갖추었습니다. 하지만 기능이 확장되면서 지금은 다른 RDBMS와 비교해도 부족하니 않을 정도입니다.


- SQLite : 오픈소스 커뮤니티에서 태어난 SQLite는 임베디드 시스템에 자주 쓰이는 작은 RDBMS입니다.


이처럼 오늘은 다양한 데이터베이스 및 RDBMS의 종류에 대해서 알아보았습니다. 이것으로 포스팅을 마치도록하겠습니다. :)