[SQL첫걸음] 2강 다양한 데이터베이스

다양한 데이터베이스

1. 데이터베이스 종류

계층형 데이터베이스

: 역사가 오래된 DBMS로, 폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식의 DB이다(트리 구조겠네). 하드디스크나 DVD 파일 시스템이 이러한 계층형 DB이다. 하지만 요즘에는 DBMS로서 채택되는 경우가 거의 없다.

관계형 데이터베이스(RDBMS)

: ‘관계 대수(relational algebra)’라는 것에 착안하여 고안한 DB. 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 DB를 가리킨다.
표 형식 데이터란 2차원 데이터를 말한다. 가로 방향으로 ‘행’(Row), 세로 방향으로 ‘열’(Col)을 나열한다. RDBMS는 이러한 표를 잔뜩 저장해두고, 각각의 표에 이름을 붙여 관리(구별)한다. 이때 DB안의 데이터는 SQL 명령어로 조작가능하다.

객체지향 데이터베이스

: 자바나 c++이 객체지향(Object - Oriented)인데, ‘객체(Object)’라는 것을 중심으로 프로그래밍하는 언어이다.
객체지향 DB는 ‘가능하면 객체 그대로를 DB의 데이터로 저장하는 것’ 이다.
=> 크… 마치 Packet 과 같네.

XML 데이터베이스

: XML이란 자료 형식을 가리키는 용어로, 태그를 이용해 마크업 문서를 작성할 수 있게 정의한 것인데, XML 데이터베이스는 이처럼 XML 형식으로 기록된 데이터를 저장하는 데이터베이스이다.

키-밸류 스토어(KVS)

: 키(Key)와 그에 대응하는 값(밸류,Value)이라는 단순한 형태의 데이터를 저장하는 데이터베이스이다. 키와 밸류의 조합은 연상배열(== Map, Dictionary)이나 해시 테이블(hash table)에서 자주 볼 수 있다. NoSQL(Not noly SQL)이라는 슬로건으로부터 생겨난 DB로, 열 지향 데이터베이스라고 불린다.

2. RDBMS 사용 시스템

3. 데이터베이스 제품

  1. Oracle
    - Oracle Database. 오라클 회사에서 만든 데이터베이스. 역사가 깊고, 현재 가장 많이 쓰이는 RDBMS 중 하나로, RDBMS 의 표준이라고 해도 문제없을 정도로 유명하다.

  2. DB2
    - IBM이 개발한 DB2는 Oracle처럼 역사가 오래된 RDBMS이다. 다만 오라클이 유닉스(UNIX) 워크스테이션 중심이었던 것과 달리, DB2는 한동안 IBM 컴퓨터에서만 구동되었고, 이는 다른 플랫폼에서 사용할 수 없다는 불편함 때문에 시장 점유율을 많이 가져가지 못했다. 이후 유닉스나 윈도우에서도 DB2가 구동가능해졌지만 시장 점유율은 확대되지 못했다.

  3. SQL Server
    - SQL Server는 윈도우를 개발한 Microsoft 가 개발한 RDBMS로, 윈도우 플랫폼에서만 동작한다. 윈도우가 서버분야로 영역을 넓히면서 SQL Server를 사용하는 시스템이 많이 증가함.

  4. PostgreSQL
    - PostgreSQL은 오픈소스 커뮤니티에서 개발한 RDBMS로, 무료다. 기반이 되는 RDBMS 는 캘리포니아 대학 버클리캠퍼스에서 탄생했고, 그래서인지 실험적인 기능도 포함되어 있거나 독특한 구조를 가지기도 한다.

  5. MySQL
    - PostgreSQL처럼 오픈소스 커뮤니티에서 탄생한 RDBMS. 이후 썬이 가지고 이후 오라클이 소유하고 있다. 처음 나올땐 경량 DB로서 최소한의 기능만을 갖추었지만, 지금은 다른 RDBMS와 비교해도 부족하지 않다.

  6. SQLite
    - 오픈소스 커뮤니티에서 태어난 SQLit는 임베디드 시스템에 자주 쓰이는 작은 하드웨어용으로 경량화한 RDBMS이다.

4. SQL의 방언과 표준화

SQL을 여러 RDBMS 회사가 사용하면서 자연스레 특정 데이터베이스 제품에만 통용되는 고유 명령어, 즉 고유 방언이 생겨났다. 고유 방언을 사용하면 다른 데이터베이스에는 적용되지 않으므로 SQL 표준어(표준 명령어)를 사용하도록 하자.