Oracle과 MySQL 구조적/기능적 차이
구조적 차이
- Oracle
- 통합된 스토리지 하나를 공유
- 어느 DB 서버에 접속해 쿼리날려도 같은 결과 출력
- MySQL
- 물리적인 DB서버마다 독립적 스토리지 할당
- 이중화를 위한 클러스터나 복제 구성으로 운영해도 마스터 - 슬레이브 구조가 대부분
- 마스터 - 마스터 있지만 적은 사례
- 마스터: 쓰기/읽기
- 슬레이브: 읽기
- 여러대 DB 서버 접속해도 동일 구문 처리 안될수도, 각자의 역할 부여될 수 있음
- 마스터(쓰기전용)과 슬레이브(읽기전용)의 위치를 파악하고 쿼리 튜팅 중요
쿼리 오프로딩: 트랜잭션에서 쓰기 트랜잭션과 읽기 트랜잭션을 분리하여 DB 처리량을 증가시키는 성능 향상 기법
기능적 차이
- 조인 알고리즘 기능 차이
- MySQL
- 중첩 루프 조인
- 8.0.18 부터 제약적으로 해시 조인 제공하지만 여전히 중첩 루프 조인
- Oracle
- 중첩 루프 조인
- 정렬 병합 조인
- 해시 조인
- MySQL
- 스토리지 엔진 개념
- MySQL에 해당하는 개념
- 다른 오픈소스 DBMS도 엔진을 꽂아 사용할 수 있는 확장성
- DBMS plug & play
- 리소스 사용 상대적으로 MySQL이 저렴
- MySQL이 메모리 사용률 상대적 낮음
- 최소 스펙
- 1MB vs 수백MB