본문 바로가기

Languages/SQL

[SQL] 2. 여러가지 데이터베이스

728x90
반응형
SMALL

0. 여러 종류의 DBMS

DBMS의 종류와 그중 하나인 관계형 데이터베이스에 대해 알아보자. DBMS는 여러 종류가 있다. 데이터베이스의 사용 용도나 제어하는 프로그래밍 환경 등 다양한 조건에 맞는 DBMS가 고안되기 때문이다. 그중에서도 SQL로 데이터를 다루는 데이터베이스를 관계형 데이터베이스라고 한다. 

RDBMS를 표현한 사진

1. 데이터베이스 종류

DBMS는 데이터 저장 방법에 따라 몇 가지로 분류할 수 있다. 

 

계층형 데이터베이스

오래된 DBMS로 폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식의 데이터베이스이다. 하드디스크나 파일 시스템이 그러하다. 

 

관계형 데이터베이스

관계 대수에 착한하여 고안된 데이터베이스이다. 즉 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스이다. 표 형식 데이터란 2차원 데이터를 말하는데 가로 방향으로 열, 세로 방향으로 행을 나타낸다. 관계형 데이터베이스는 SQL을 통해 많은 표들을 저장하고 관리한다. 

 

객체지향 데이터베이스

가능한 객체 그대로를 데이터베이스에 저장하는 것이다. 

 

XML 데이터베이스

XML이란 자료 형식을 가리키는 용어로 태그를 이용해 마크업 문서를 작성할 수 있게 정의한 마크업 언어이다. XML 데이터베이스란 XML 형식으로 기록된 데이터를 저장하는 데이터베이스이다. XML 데이터베이스에서는 SQL 대신  XQuery라는 전용 언어를 사용한다. 

 

Key-Value 스토어

키와 그에 대응하는 값과 같이 한 쌍의 단순한 형태의 데이터를 저장하는 데이터베이스이다. NoSQL 데이터베이스이다. 열 지향 데이터베이스라고도 불립니다. 

 

2. RDBMS 사용 시스템

RDBMS는 오래된 만큼 다양한 시스템에서 사용됩니다. 메인프레임은 대부분 RDBMS로 사용한다. 또한 RDBMS는 기업의 기반 시스템으로 채택되는 것은 아주 일반적인 일이다. 다만 최근 들어 소형 워크스테이션으로 대체되면서 메인프레임 자체가 사라지고 있다. 그래도 여전히 데이터베이스 서버로는 RDBMS가 사용되며, 클라이언트/서버 구조도 유행하기 시작했다. 

 

일반적으로 인터넷을 인프라로 사용하며 웹 시스템과 연동하여 RDBMS를 사용하는 경우도 많아졌다. RDBMS는 대규모시스템부터 소규모 시스템까지 널리 사용되고 있다. 또한 하드웨어의 성능이 상당히 높아지면서 소형 기기에도 RDBMS가 내장되어 있다.

 

3. 데이터베이스 제품

다음은 RDBMS를 사용하는 데이터베이스 제품들이다. 

 

Oracle

Oracle 데이터베이스는 오라클에서 개발한 RDBMS이다. 역사가 깊은 만큼 많은 시스템에서 사용 중이다. 가장 많이 쓰이는 RDBMS 중 하나로 RDBMS의 표준이라고 할 수 있다. 

 

DB2

IBM이 개발한 오래된 RDBMS이다. 다만 DB2는 한동안 IBM 컴퓨터에서만 구동되었다. 이후 유닉스나 윈도우 등의 플랫폼에서도 구동 가능했지만 많이 쓰이지는 않았다. 

 

SQL Server

마이크로프트가 개발한 RDBMS로 윈도우 플랫폼에서만 동작한다. 비교적 새로운 제품으로 윈도우가 서버 분야로 영역을 넓히면서 사용량도 늘어났다. 

 

MySQL

오픈소스 커뮤니티에서 태어난 RDBMS이다. 처음 나올 때는 필요한 최소한의 기능만으로 갖추었지만 기능이 확장되면서 지금은 다른 RDBMS와 비교해도 부족하지 않다.

 

SQLite

오픈소스 커뮤니티에서 생겨났으며 임베디드 시스템에서 자주 쓰인다. 

 

4. SQL의 방언과 표준화

RDBMS는 처음부터 SQL 명령어를 이용해 데이터베이스를 조작하도록 설계된다. 하지만 각 데이터베이 제품 별로 기능 확장이 이루어지는 과정에서 비슷한 조작을 실행하더라도 서로 다른 명령어가 필요한 상황이 발생했다. 특정 제품에서만 사용되는 고유 방언이 생겨난 것이다. 

프로그래밍 언어에서 방언은 좋은 선택이 아니다. 방언을 없애기 위해 표준어를 사용하는 것을 추천한다.

728x90
반응형
SMALL

'Languages > SQL' 카테고리의 다른 글

[SQL] 6. 검색 조건  (0) 2021.03.10
[SQL] 5. 테이블 구조 참조하기  (0) 2021.03.02
[SQL] 4. SELECT * FROM 테이블명  (0) 2021.02.22
[SQL] 3. 데이터베이스 서버  (0) 2021.02.15
[SQL] 1. 데이터베이스  (0) 2021.02.07