MySQL Architecture
MySQL 엔진
커넥션 핸들러 : 접속 및 쿼리 요청 처리
SQL 파서 : 문법 검사, 문장을 파싱해서 엔진이 실행 가능한 형태로 변환
전처리기 :
쿼리 참여하는 컬럼, 함수, 테이블 존재 여부 확인
실행자의 권한 확인
옵티마이저 : 실행 계획 생성
테이블의 데이터 분포
시스템 자원 사용량
SQL 문장의 구조 등을 조합하여 실행 계획을 생성한다.
스토리지 엔진
데이터를 저장하고 관리한다
데이터를 효율적으로 읽고 쓴다
버퍼 풀 등을 활용
트랜잭션을 관리
데이터 무결성을 보장한다
느낀점
SRP 관점에서 생각해보면, 레이어드 아키텍처 만큼 잘 따르고 있는 아키텍처가 또 없는 것 같다.
각 계층은 그 계층이 맡은 역할과 책임만 다하면 된다.(다른 레이어는 신경쓰지 않아도 된다)
SRP : 각 모듈(레이어)는 하나의 책임만을 가져야 한다. 변경해야 한다면, 그 이유는 단 하나뿐이다.
Last modified: 08 October 2024