Oracle과 MySQL 구조적/기능적 차이

구조적 차이

  • Oracle
    • 통합된 스토리지 하나를 공유
    • 어느 DB 서버에 접속해 쿼리날려도 같은 결과 출력
  • MySQL
    • 물리적인 DB서버마다 독립적 스토리지 할당
    • 이중화를 위한 클러스터나 복제 구성으로 운영해도 마스터 - 슬레이브 구조가 대부분
    • 마스터 - 마스터 있지만 적은 사례
      • 마스터: 쓰기/읽기
      • 슬레이브: 읽기
    • 여러대 DB 서버 접속해도 동일 구문 처리 안될수도, 각자의 역할 부여될 수 있음
    • 마스터(쓰기전용)과 슬레이브(읽기전용)의 위치를 파악하고 쿼리 튜팅 중요

쿼리 오프로딩: 트랜잭션에서 쓰기 트랜잭션과 읽기 트랜잭션을 분리하여 DB 처리량을 증가시키는 성능 향상 기법

기능적 차이

  • 조인 알고리즘 기능 차이
    • MySQL
      • 중첩 루프 조인
      • 8.0.18 부터 제약적으로 해시 조인 제공하지만 여전히 중첩 루프 조인
    • Oracle
      • 중첩 루프 조인
      • 정렬 병합 조인
      • 해시 조인
  • 스토리지 엔진 개념
    • MySQL에 해당하는 개념
    • 다른 오픈소스 DBMS도 엔진을 꽂아 사용할 수 있는 확장성
    • DBMS plug & play
  • 리소스 사용 상대적으로 MySQL이 저렴
    • MySQL이 메모리 사용률 상대적 낮음
    • 최소 스펙
      • 1MB vs 수백MB