반응형
1. Oracle
미국의 오라클 회사에서 제작한 세계 점유율 1위 데이터베이스 관리시스템이며
현재 유닉스 체제에서 가장 많이 사용되는 DBMS이다.
a. 장점
- 관리시스템
- 중앙 집중 방식으로 Administration Monitoring이 가능하고, Multiple Databases 튜닝이 가능하다.
- 다른 Admin User들과 공유가 가능하다.
- 다수의 사용자가 동시에 접근 가능하다.
- 변화 관리
- 변경 Plan을 작성하고 실제 구현하기 전에 변경사항의 효과를 볼 수 있다.
- 생산시스템을 방해하지 않는다.
- 경고
- 오류가 발생하면 오라클은 이메일이나 설정되어 있는 계정으로 연락을 줄 수 있다.
- 경고는 예정된 가동 정지 시간 동안 차단될 수 있다.
- 용량 & 처리
- 업그레이드 관리자의 계획을 돕기 위해 사용 패턴을 추적할 수 있다.
- 병목현상을 쉽게 파악할 수 있다.
- DBMS 실행 컴퓨터 / 서버 역할 컴퓨터 / DB 응용프로그램 실행 컴퓨터 각 다르게 분산처리한다.
- 다른 데이터베이스보다 고성능의 트랜잭션을 처리한다.
- 최적화 도구
- 쿼리 최적화 프로그램으로 오라클은 SQL문을 실행하는 가장 효율적인 방법을 선택한다.
- Cost 비용을 최소화하기 위해 테이블과 인덱스를 분석한다(Oracle 10g 이상부터는 Cost_Base).
b. 단점
- 비용적인 부담 증가한다.
- 기능이 많아 초보자에게는 어렵다.
- 높은 지원의 하드웨어 사양이 필요하다.
2. MySQL
전세계적으로 가장 널리 사용되고 있는 오픈 소스 데이터베이스이며,
MySQL AB사가 개발하여 배포 및 판매하고 있는 데이터베이스 관리시스템이다.
a. 장점
- 용량 & 처리
- MySQL은 노트북에 단지 1Mb의 RAM만 사용하여 매우 적은 오버헤드를 사용한다(오라클의 9i를 설치하는 경우 128Mb를 사용한다).
- 처리속도가 빠르고 대용량 데이터 처리에 용이하다.
- 접근성
- 다른 데이터 관리 툴에 비해 구조가 간단하여 사용하기가 매우 쉽다.
- 지원
- 다양한 프로그래밍 언어와 통합할 수 있다.
- 거의 모든 운영체제 사용을 지원한다.
- PHPMyAdmin 같은 비용이 무료인 GUI 툴이 많다.
- 고급 기능을 지원하기 시작했다(Stored Procedures, Triggers, View, Sub-Queries, Transactional Table, Cascading Update & Delete, 타사 InnoDB Storage Engine을 사용할 수 있다).
- 유연성
- 유연하고 확장이 가능한 구조이다.
- 가격
- MySQL 데이터베이스는 무료라서 비용적인 부담이 적다.
- 오픈소스는 무료, 상업용은 유로이다.
b. 단점
- 복잡한 쿼리는 성능이 저하된다.
- 트랜잭션 지원이 완벽하지 않다.
- 사용자 정의 함수의 사용이 쉽지 않고 유연하지 않다.
3. ORACLE과 MySQL의 차이
- 구조적 차이
- Oracle - DB서버가 통합된 하나의 스토리지를 공유하는 방식
- MySQL - DB서버마다 독립적인 스토리지를 할당하는 방식
- 조인방식의 차이
- Oracle - 중첩 루프 조인, 해시 조인, 소트 머지 조인 방식을 제공
- MySQL - 중첩 루프 조인 방식을 제공
- 확장성의 차이
- Oracle - 별도의 DBMS를 설치해 사용할 수 없음
- MySQL - 별도의 DBMS를 설치해 사용할 수 있음
- 메모리 사용률의 차이
- Oracle - 메모리 사용률이 커서 최소 수백 Mb 이상이 되어야 설치 가능
- MySQL - 메모리 사용률이 낮아서 1Mb 환경에서도 설치가 가능
- 구문의 차이
- Null 값 확인 함수
- Oracle - NVL
- MySQL - IFNULL
- 현재 날짜 및 시간 확인 함수
- Oracle - SYSDATE
- MySQL - NOW()
- 날짜 포맷 변환
- Oracle - TO_CHAR
- MySQL - DATE_FORMAT
- 요일 변환의 숫자 범위
- Oracle - 일,월,화,수,목,금,토 -> 1,2,3,4,5,6,7로 인식
- MySQL - 일,월,화,수,목,금,토 -> 0,1,2,3,4,5,6으로 인식
- 문자와 문자 합치는 방법
- Oracle - ||
- MySQL - CONCAT
- 형변환 방법
- Oracle - TO_CHAR
- MySQL - CAST
- 페이징 처리
- Oracle - ROWNUM
- MySQL - LIMIT
- 시퀀스 사용시 다음 번호 불러오는 방법
- Oracle - 시퀀스명.NEXTVAL
- MySQL - 시퀀스명.CURRVAL
- 조건식 (IF)
- Oracle - DECODE
- MySQL - IFNULL
- 문자열 자르기
- Oracle - SUBSTR
- MySQL - SUBSTRING
- Null 값 확인 함수
🙏 참조 ::
반응형
'Database' 카테고리의 다른 글
[Database] 2. 데이터베이스 연결 구조와 DB 세션 (0) | 2024.04.18 |
---|---|
[Database] 1. 트랜잭션에 대한 이해 (0) | 2024.04.11 |
[Database] 데이터베이스 RDBMS / NOSQL 에 관하여 (0) | 2022.07.21 |
[MySql] Select 하여 Insert 하기 (0) | 2021.09.11 |
[MySql] 문자열 분리해서 LOOP 돌리는 프로시저(LOOP, FETCH, CURSOR 사용) (0) | 2021.04.29 |