Mysql
Oracle
Mysql과 Oracle은 기본적으로 데이터가 저장되는 스토리지의 구조 측면에서 큰 차이를 보인다.
위는 일반적인 Oracle DB 구조이다. Oracle DB는 통합된 스토리지 하나를 공유하여 사용하는 방식이다.
공유 스토리지를 사용하므로 사용자가 어느 DB 서버에 접속하여 SQL문을 수행하더라도 같은 결과를 출력하거나 동일한 구문(SELECT, INSERT, UPDATE,DELETE)을 처리할 수 있다.
반면 위의 Mysql은 독립적인 스토리지 할당에 기반을 둔 만큼 이중화를 위한 클러스터나 복제 구성으로 운영하더라도 보통은 마스터-슬레이브 구조를 가진다.
애플리케이션을 통해 쿼리 오프로딩(query offloading)이 적용된다.
즉, 마스터 노드에서는 UPDATE, INSERT,DELETE를 수행하고 슬레이브 노드에서는 SELECT를 수행한다.
그러므로 SELECT문에 대한 쿼리 튜닝을 슬레이브 노드에서 수행하는 것과 같이 적합한 서버에 접근하여 쿼리를 튜닝하는 것이 매우 중요하다.
쿼리 오프로딩
DB 서버의 트랜잭션에서 쓰기(WRITE) 트랜잭션과 읽기(READ) 트랜잭션을 분리하여 DB 처리량을 증가시키는 성능 향상 기법을 말한다.