백엔드 개발자 블로그

1. MySQL과 MaraDB 개요 본문

독서/업무에 바로쓰는 SQL 튜닝

1. MySQL과 MaraDB 개요

backend-dev 2024. 9. 2. 14:01

MySQL과 MariaDB의 배경과 시장점유율 현황을 알아보고 상용 DBMS와의 차이점, 오픈소스 DBMS인 MySQL과 MariaDB 튜닝의 중요성


0. MySQL과 MariaDB 배경

  • MySQL
    • 오픈소스였던 MySQL이 오라클에 인수됨
  • MariaDB
    • MySQL가 인수되어서 자매 관계인 오픈소스 MariaDB에 눈길을 끔
    • GPL v2라이선스 따라서 오라클의 보수적인 자세로부터 자유로울 수 있다.

1. 시장 점유율 현황

손쉽게 설치할 수 있는 오픈소스 데이터베이스

영향력 MySQL 58%, MariaDB 5% -> 필수인 시대가 됨


2. 상용 RDBMS와의 차이점

 

구조적 차이

MySQL : 물리적인 DB 서버마다 독립적으로 스토리지를 할당하여 구성 -> 동일한 구문이 DB마다 다르게 동작할 수 있음

오라클 : 통합된 스토리지 하나를 공유

 

 

지원 기능 차이

1. 조인 알고리즘

  • MySQL - 중첩 루프 조인
  • 오라클 - 중첩 루프 조인 + 정렬 병합 조인 + 해시조인 방식

2. 오픈소스 DBMS를 바로 꽂아서 사용할 수 있는 확장성 - 필요한 DBMS를 설정해 사용 가능

3. 메모리 사용률이 상대적으로 낮아서 사양 저사양 PC에서도 순쉽게 설치 및 개발 가능

 

 

SQL 구문 차이

  1. Null 대체
  2. 페이징 처리
  3. 현재날짜
  4. 조건문
  5. 날짜 형식
  6. 자동 증갓값
  7. 문자결합
  8. 문자 추출

3. 튜닝의 중요성

MySQL, MariaDB의 약점과 기회를 헤쳐나가기 위해 SQL튜닝이 중요함

  • 약점 : 수행 가능한 알고리즘(중첩 루프 조인)이 적어서 성능적으로 불리
  • 기회 : 다양한 스토리지 엔진을 적극적으로 사용할 수 있는 기회가 존재