반응형

관계형 데이터베이스 (RDB ; Relational DataBase)

글을 적기에 앞서 우선, RDB 가 무엇인지부터 얘기해 보려고 한다. RDB 란 Relational DataBase 즉, 관계형 데이터 모델에 기초를 둔 데이터베이스이다. 여기서 관계형 데이터 모델이란, 자료를 2차원 구조의 테이블 형태로 표현하는 것을 말한다.

 

간단한 예로, 학생들의 정보를 저장한다고 할 때 다음과 같이 표현을 할 수 있다.

학생 번호 이름 성별 나이 소속 학교
A0001 김갑수 남자 19 감수고등학교
A0002 나고수 남자 15 한동중학교
A0003 한경자 여자 17 한서고등학교

 

이러한 관계형 데이터 모델에서 사용되는 용어는 다음과 같다.

 

- 릴레이션 (Relation) : 데이터들을 2차원 테이블의 구조로 저장한 것.

- 속성 (Attribute) : 릴레이션의 열(=Column), 개체를 구성하는 속성들.

- 튜플 (Tuple) : 릴레이션의 행(=Row), 속성들의 집합이며 레코드(Record) 라고도 부름.

- 차수 (Degree) : 릴레이션을 구성하는 속성 수(열의 개수)

- 카디널리티 (Cardinality) : 릴레이션에 입력된 튜플의 수

 

RDBMS 는 이런 RDB 를 관리하기 위한 소프트웨어라 정의할 수 있다. SQL 이라는 구조화된 질의어를 사용해 RDB 를 생성하고, 관리할 수 있는데 대표적으로 MySQL, Oracle DB, Maria DB 등이 있다.

 

MySQL

우선, MySQL 은 세계적으로 널리 사용되는 오픈 소스 DBMS 이다. 오픈 소스이기 때문에 무료로 사용이 가능하고, 다양한 운영체제에서 여러 가지의 프로그래밍 언어와 사용할 수 있다. 널리 알려진 표준 SQL 형식을 사용하며 크기가 큰 데이터의 집합도 빠르고 효과적으로 처리가 가능하다.

MySQL 은 CLI 를 통해 사용할 수도 있고, MySQL 에서 공식적으로 개발/지원하는 MySQL Workbench 를 사용해 GUI 를 활용할 수도 있다.

 

Oracle DB

Oracle DB 는 오라클 사의 관계형 데이터베이스 관리 시스템의 이름이다. 현재 유닉스 환경에서 가장 널리 사용되는 RDBMS 라고 한다. 검색이나 업데이트를 위한 언어로 SQL 과 PL/SQL 을 지원한다.

* PL/SQL 은 오라클 DB 에서 SQL 언어를 확장하기 위해 사용하는 컴퓨터 프로그래밍 언어 중 하나이다. 주로 자료 내부에서 SQL 명령문만으로 처리하기에 복잡한 자료의 저장이나 프로지서 / 트리거 등을 작성하는 데 쓰인다고 한다. 

 

MySQL vs. Oracle DB

MySQL 과 Oracle DB 중 무엇을 사용할 것인가?

오라클은 일반적으로 충분히 큰 예산과 복잡한 비즈니스적 요구, 기업 고객을 위해 설계되었다. 반면, MySQL 은 가장 일반적으로 데이터베이스 기반 웹 사이트나 Non-Critical 애플리케이션을 위해 사용되는 저가의 데이터베이스이다.

 

Oracle DB 의 특징

오라클 DB 의 특징은 아래와 같이 크게 5가지로 표현할 수 있다.

  • Oracle Management Server
    • 오라클 DB 는 중앙 집중 방식으로 Administration Monitoring 이 가능하고, Multiple Database 를 튜닝할 수 있다.
    • 다른 Admin User 들과 공유가 가능하다.
  • Oracle Change Manager
    • 변경 Plan 을 작성하고 실제로 구현하기 전에, 변경 사항의 효과를 볼 수 있다.
    • 생산 시스템을 방해하지 않는다.
  • Administrative Alerts
    • 오류 발생 시 오라클은 이메일이나 설정되어 있는 계정으로 연락을 줄 수 있다.
    • 경고는 예정된 정지 시간동안 차단될 수 있다.
  • Capacity Planning
    • 업그레이드 관리자의 계획을 돕기 위해 사용 패턴의 추적이 가능하다.
    • 병목 현상을 쉽게 파악할 수 있다.
  • Query Optimizer
    • 쿼리 최적화 프로그램으로 오라클은 SQL 문을 실행하는 가장 효율적인 방법을 선택한다.
    • Cost 비용의 최소화를 위해 테이블 / 인덱스를 분석한다.

MySQL 의 특징

MySQL 의 특징은 다음과 같다.

  • 사용이 타 RDBMS 에 비해 쉽다.
  • 무료로 사용 가능한 GUI Tool 이 많다.
  • Device 에 적은 Overhead 가 가해진다.
  • 버전이 업그레이드됨에 따라 고급 기능을 지원하기 시작했다.

MySQL 과 Oracle DB 는 목적에 맞게 적절한 사용이 필요할 것으로 보인다. 작은 프로젝트나 데이터를 많이 저장하지 않는 시스템의 경우는 MySQL 을 사용하는 편이 좋을 수 있고, 데이터의 사용량이 매우 많고 고도화된 시스템의 경우에는 Oracle DB 를 사용하는 편이 좋을 것으로 생각된다.

 

'Study > Database' 카테고리의 다른 글

[DB] 키의 개념과 종류  (1) 2021.10.08
[DB] 정규화 (Normalization) 란?  (0) 2021.10.08
[DB] DB Index  (0) 2021.10.07
MySQL 8.0  (0) 2021.07.04

+ Recent posts