Oracle
오라클 개요
- 오라클 사가 개발한 관계 DBMS - 가장 높은 시장 점유율
- 유닉스, 리눅스, 윈도우 등 대부분의 운영체제를 지원
- 온라인 트랜잭션 처리(OLTP: Online Transaction Processing), 데이터 웨어하우스, OLAP(Online Analytic Processing), 전자 상거래 등 최근에 등장하고 있는 데이터베이스의 중요한 응용 분야에 활용 가능
오라클 서버와 인스턴스
- 오라클 서버: 오라클 인스턴스 + 오라클 데이터베이스
- 오라클 인스턴스: 백그라운드 프로세스들과 메모리 구조의 조합
- 접속(connection): 사용자 프로세스와 서버 프로세스 간의 통신 경로 - 사용자가 오라클 서버에 SQL 문을 입력하기 전에 반드시 오라클 인스턴스에 연결되어 있어야 함
- 세션(session): 사용자가 오라클 서버로부터 인증될 때부터 시작하여 사용자가 로그아웃을 하거나 비정상적으로 종료될 때까지 지속
오라클 특징
- 클라이언트 / 서버 환경 (분산 처리)
- 대규모 데이터베이스
- 다중 동시 데이터베이스 사용자
- 높은 가용성, 높은 보안 관리
- 멀티 미디어 데이터 타입 등 다양한 데이터 타입 지원
오라클 데이터베이스의 저장 구조
물리적인 저장구조
- 데이터베이스의 물리적 구조는 데이터베이스 내의 운영체제 파일 (datafile) 들의 집합
- 각 데이터 파일은 운영체제 블록들로 이루어짐
논리적인 저장 구조
데이터베이스 > 테이블 스페이스 > 세그먼트 > 익스텐트 > 오라클 데이터 블록
- 오라클 데이터베이스는 적어도 하나 이상의 테이블 스페이스를 포함한다
- 테이블 스페이스: 데이터파일이라고 부르는 하나 이상의 파일로 구성 - 시스템 테이블스페이스, 임시 테이블스페이스, 사용자 테이블스페이스 등으로 구분
- 테이블 스페이스는 하나 이상의 세그먼트를 포함한다.
- 세그먼트: 특정한 유형의 데이터 구조를 저장하기 위해 할당되는 익스텐트들의 집합
- 익스텐트: 오라클 데이터 블록 (물리적 구조의 운영체제의 데이터 블록과는 다른 것) 들로 이루어짐
- 오라클 데이터 블록은 읽기와 쓰기 연산의 가장 작은 단위 -> 데이터 파일 내의 데이터를 오라클 데이터 블록들로 관리
MySQL
MySQL 개요
- 오라클 사의 DBMS 소프트웨어로 오픈소스로 제공, 교육용으로는 제한 없이 사용 해도 되지만 상용으로 사용하기 위해서는 상용 라이센스 필요
MySQL과 Oracle의 차이점
구조적 차이
- Oracle: DB 서버가 통합된 하나의 스토리지를 공유하는 방식
- MySQL: DB 서버마다 독립적인 스토리지를 할당하는 방식
조인 방식의 차이
- Oracle: 중첩 루프 조인, 해시 조인, 소트 머지 조인 방식을 제공
- MySQL: 중첩 루프 조인 방식을 제공
확장성의 차이
- Oracle: 별도의 DBMS을 설치해 사용할 수 없음
- MySQL: 별도의 DBMS을 설치해 사용할 수 있음
메모리 사용율의 차이
- Oracle: 메모리 사용율이 커서 최소 수백MB 이상이 되어야 설치 가능
- MySQL: 메모리 사용율이 낮아서 1MB 환경에서도 설치가 가능
구문의 차이
- Null 값 확인 함수
- Oracle: NVL
- MySQL: IFNULL
- 현재 날짜 및 시간 확인 함수
- Oracle: SYSDATE
- MySQL: DATE()
- 날짜 포멧 변환
- Oracle: TO_CHAR
- MySQL: DATE_FORMAT
- 요일 변환의 숫자 범위
- Oracle: 일,월,화,수,목,금,토를 1,2,3,4,5,6,7로 인식
- MySQL: 일,월,화,수,목,금,토를 0, 1,2,3,4,5,6로 인식
- 문자와 문자 합치는 방법
- Oracle: ' '
- MySQL: COMCAT
- 형변환 방법
- Oracle: TO_CHAR
- MySQL: CAST
- 페이징 처리
- Oracle: ROWNU BETWEEN 0 AND 10
- MySQL: LIMIT
- 시퀀스 사용시 다음 번호 불러오는 방법
- Oracle: 시퀀스명.NEXTVAL
- MySQL: 시퀀스명.CURRVAL
Reference
https://velog.io/@alicesykim95/Oracle%EA%B3%BC-MySQL%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90
'CS > 데이터베이스' 카테고리의 다른 글
6. SQL 기본 문법 (1) | 2023.11.18 |
---|---|
05. 관계 데이터 연산 (0) | 2023.11.09 |
04. 데이터 모델링 (0) | 2023.11.06 |
Week2: 관계 데이터 모델 (0) | 2023.10.21 |
01. 데이터베이스 시스템 개요 (0) | 2023.10.12 |