본문 바로가기
책/DB

DBMS 종류 (Oracle, MySQL 등) 에 대한 이해

by 파이어볼러 2015. 3. 3.

기업에서 데이터베이스를 선정하는 기준은 여러가지가 있습니다.

하지만, 데이터베이스 선정 기준 중 하나로 높은 순위를 차지하는 비용일 것입니다.

MySQL은 Oracle과 비교하여 보면 매우 저렴한 가격으로 고객들에게 다가가고 있습니다.


실직적으로, 데이터베이스의 직접적인 비교는 올바르지 않습니다.

그 이유 중 처음으로는 Oracle과 MySQL은 서로 다른 시장을 구축하고 있습니다.

오라클은 충분한 큰 예산과 복잡한 비즈니스 요구와 기업 고객을 위해 설계되었습니다.

그에 반해, MySQL은 가장 일반적으로 데이터베이스 기반 웹 사이트 및 Non-Critical 애플리케이션에 사용되는 저가의 데이터베이스입니다.

동일한 기능이라 하더라도 서로 다르게 구현될 가능성이 많습니다. (예 : 행 수준의 Lock, Lock 알고리즘 등)

행 수준의 Lock은 행이 업데이트되는 동안되는 데이터에 액세스하는 다른 사용자를 방지하기 위해 쓰기 위해 잠겨 있습니다. 오라클과 여러 잠금에 대한 추가 오버 헤드가 없습니다. 

반면에 MySQL은 오버 헤드 잠금의 수에 올라갑니다. 그래서 MySQL은 잠금을 메모리 내 데이터 구조를 사용합니다.



오라클의 특징은 무엇일까요?

오라클의 특징이자 장점은 크게 5가지로 구분하고 있습니다.


1. Oracle Management Server

 - 중앙 집중 방식으로 Administration monitoring이 가능하고, Multiple databases를 튜닝 가능합니다.

 - 다른 Admin User들과 공유가 가능합니다.

2. Oracle Change Manager

 - 변경 Plan을 작성하고 실제 구현하기 전에 변경 사항의 효과를 볼 수 있습니다.

 - 생산 시스템을 방해하지 않습니다.

3. Administrative Alerts

 - 오류가 발생하면 오라클은 이메일이나 설정되어 있는 계정으로 연락을 줄수 있습니다.

 - 경고는 예정된 가동 정지 시간 동안 차단 될 수 있습니다. 

4. Capacity Planning

 - 업그레이드 관리자의 계획을 돕기 위해 사용 패턴을 추적할 수 있습니다.

 - 병목 현상을 쉽게 파악 할 수 있습니다.

5. Query Optimizer

 - 쿼리 최적화 프로그램으로 오라클은 SQL문을 실행하는 가장 효율적인 방법을 선택합니다.

 - Cost 비용을 최소화하기 위해 테이블과 인덱스를 분석 합니다. (Oracle 10g 이상부터는 Cost_Base)


MySQL의 특징은 무엇일까요?


1. 제일 큰 특징으로는 사용하기가 타 DBMS보다 쉽습니다.

2. PHPMyAdmin 같은 비용이 무료인 GUI 툴이 많습니다.

3. 매우 적은 오버헤드를 사용합니다.

 - MySQL은노트북에 단지 1Mb의 RAM만 사용합니다.

 - 오라클 9i를 설치하는 경우 128Mb를 사용합니다.

4. 고급기능을 지원하기 시작하였습니다.

 - Stored Procedures, Triggers, View, Sub-Queries, Transactional Table, Cascading Update & Delete

 - 타사 InnoDB Storage Engine을 사용할 수 있습니다.


회사의 규모에 따라 오라클 또는 MySQL DBMS를 선정하게 됩니다.

만약 마이그레이션 작업을 하더라도 Oracle Migration Kit을 제공하고 있습니다. 

또한, 두 가지의 DBMS를 혼합하여 사용하는 경우도 있습니다.

기술이 특징들 외에도 Syntax, Timestamps, Concatenation 등의 차이가 있습니다.

http://troels.arvin.dk/db/rdbms/ 사이트에서 확인해 보실 수 있습니다.


어느 데이터베이스가 더욱 알맞을까요?

Non-Critical 환경, 매력적인 가격 포인트를 원한다면 MySQL을 선택하겠지만 견고한 신뢰성, 안정적인 기능 등을 원한다면 Oracle을 선택할 수 있습니다. 

물론, 그게 자신이 감당할 수 있는 작업에 따라 달라집니다.

출처 http://ora-sysdba.tistory.com/entry/Oracle-%EC%9D%B8%EA%B0%80-MySQL-%EC%9D%B8%EA%B0%80