MySQL 연결 수명주기: handshake, authentication, thread allocation
MySQL 클라이언트 연결이 생성될 때 handshake, 인증, 세션 스레드 할당이 어떤 순서로 진행되는지 운영 관점에서 정리한다.
전체 문서 13개
MySQL 클라이언트 연결이 생성될 때 handshake, 인증, 세션 스레드 할당이 어떤 순서로 진행되는지 운영 관점에서 정리한다.
MySQL 8.0 InnoDB data dictionary와 metadata lock이 DDL, DML, 장애 대응, 온라인 변경 작업에 미치는 영향을 운영 관점에서 정리한다.
InnoDB 레코드에 포함되는 hidden column이 clustered index, MVCC, undo log, Primary Key 설계에 어떤 의미를 갖는지 운영 관점에서 정리한다.
InnoDB secondary index가 leaf record에 Primary Key를 함께 저장하는 이유와, covering read·clustered lookup·인덱스 크기 증가 비용을 운영 관점에서 정리한다.
InnoDB clustered index에서 Primary Key가 행의 물리적 배치, secondary index 구조, 페이지 분할, 조회 비용에 어떤 영향을 주는지 운영 관점에서 정리한다.
InnoDB의 page size, extent, segment, B+Tree 페이지 구조를 내부 저장 단위와 운영 관점에서 정리한다.
MySQL의 MyISAM, MEMORY, ARCHIVE 스토리지 엔진이 어떤 목적으로 쓰였고 현대 운영에서 왜 제한적으로만 다뤄야 하는지 정리한다.
MySQL 서버 계층과 스토리지 엔진이 handler API로 협력하는 방식과 InnoDB, MEMORY, MyISAM 등 엔진별 운영 책임 범위를 정리한다.
MySQL datadir 안에서 system tablespace, redo log, undo tablespace, binary log가 어떤 역할을 맡는지 운영 관점에서 정리한다.
MySQL 서버의 글로벌 메모리와 세션 메모리 구조를 구분하고, 운영자가 용량 산정과 장애 진단에 활용할 기준을 정리한다.
MySQL 서버의 connection thread, background thread, thread cache가 성능과 장애 대응에 미치는 영향을 운영 관점에서 정리한다.
MySQL 서버가 SQL 계층과 스토리지 엔진을 분리해 요청을 처리하는 구조와 운영상 의미를 정리한다.
MySQL에서 클라이언트 연결, 인증, SQL 파싱, 최적화, 실행, 결과 반환까지의 내부 요청 처리 흐름을 운영 관점에서 정리한다.