Real MySQL 8.0 9장 옵티마이저와 힌트
Real MySQL 8.0 옵티마이저와 힌트 장 정리. 쿼리 실행 절차, 비용 기반 최적화, 실행 계획, DISTINCT와 임시 테이블 처리를 요약한다.
주제
35편의 기록
Real MySQL 8.0 옵티마이저와 힌트 장 정리. 쿼리 실행 절차, 비용 기반 최적화, 실행 계획, DISTINCT와 임시 테이블 처리를 요약한다.
Real MySQL 8.0 인덱스 장 정리. 디스크 I/O, B-Tree 인덱스, 클러스터링 인덱스, 다중 칼럼 인덱스와 인덱스 스캔 방식을 요약한다.
OSTEP File System Implementation 정리. vsfs를 예로 block, inode, bitmap, superblock, 디렉터리, 파일 읽기와 쓰기 흐름을 설명한다.
OSTEP RAID 정리. RAID 0, 1, 4, 5의 striping, mirroring, parity 구조와 용량, 신뢰성, 성능 trade-off를 설명한다.
OSTEP Hard Disk Drives 정리. 디스크의 트랙, 섹터, 탐색 시간, 회전 지연, 전송 시간과 디스크 스케줄링의 기본을 요약한다.
OSTEP IO Devices 정리. 장치 인터페이스, polling과 interrupt, DMA, 운영체제가 I/O 장치를 다루는 기본 구조를 설명한다.
OSTEP Concurrency Bugs 정리. deadlock과 non-deadlock bug의 유형, 발생 조건, 예방과 회피 방법을 설명한다.
OSTEP Event-based Concurrency 정리. thread 대신 event loop와 non-blocking I/O로 동시성을 처리하는 방식과 한계를 요약한다.
OSTEP Condition Variables 정리. 조건이 만족될 때까지 스레드를 재우고 깨우는 wait, signal, producer-consumer 패턴을 설명한다.
OSTEP Semaphores 정리. 세마포어의 wait/post 연산으로 lock, condition variable, 생산자-소비자 문제를 표현하는 방법을 요약한다.
OSTEP Concurrency and Threads 정리. thread의 개념, 공유 주소 공간, race condition과 critical section이 필요한 이유를 설명한다.
OSTEP Thread API 정리. pthread_create, pthread_join, lock, condition variable 등 스레드 프로그래밍 API 사용법을 요약한다.
OSTEP Locks 정리. 상호 배제를 위한 lock의 필요성과 spin lock, test-and-set, compare-and-swap, OS 지원 방식의 특징을 설명한다.
OSTEP Locked Data Structures 정리. counter, linked list, queue, hash table에 lock을 적용할 때의 정확성과 성능 trade-off를 설명한다.
OSTEP Advanced Page Tables 정리. 선형 페이지 테이블의 공간 비용을 줄이기 위한 multi-level page table 등 개선 방식을 설명한다.
OSTEP Swapping Mechanisms 정리. 메모리가 부족할 때 페이지를 디스크로 내보내고 다시 가져오는 swap 공간과 page fault 처리를 설명한다.
OSTEP Swapping Policies 정리. FIFO, Random, LRU 계열 페이지 교체 정책과 locality를 활용한 캐시 교체 전략을 요약한다.
OSTEP Free Space Management 정리. free list, splitting, coalescing과 best-fit, worst-fit, first-fit 등 메모리 할당 정책을 요약한다.
OSTEP Paging 정리. 주소 공간과 물리 메모리를 고정 크기 페이지로 나누는 방식, page table과 주소 변환 과정을 설명한다.
OSTEP TLB 정리. 주소 변환 캐시인 TLB의 동작, hit와 miss, context switch에서의 처리와 성능 영향을 요약한다.
OSTEP Memory API 정리. stack과 heap, malloc과 free, 동적 메모리 할당의 메타데이터와 흔한 메모리 오류를 설명한다.
OSTEP Address Translation 정리. 가상 주소를 물리 주소로 바꾸는 base/bounds 방식과 제한적 직접 실행의 메모리 보호를 요약한다.
OSTEP Segmentation 정리. 주소 공간을 코드, 스택, 힙 세그먼트로 나누어 배치하는 방식과 단편화 문제를 설명한다.
OSTEP Lottery Scheduling 정리. 티켓 기반 비례 배분, 티켓 양도와 팽창, stride scheduling과의 차이를 설명한다.
OSTEP Multi-CPU Scheduling 정리. 캐시 일관성, 동기화, 캐시 친화성, 단일 큐와 멀티 큐 스케줄링의 장단점을 요약한다.
OSTEP Address Spaces 정리. 멀티프로그래밍과 시분할을 배경으로 주소 공간 추상화, 투명성, 효율성, 보호 목표를 설명한다.
OSTEP Process 정리. 프로세스의 개념, 주소 공간과 레지스터 상태, 프로세스 생성 과정, 상태 전이와 운영체제 자료구조를 요약한다.
OSTEP CPU Scheduling 정리. FIFO, SJF, STCF, Round Robin을 반환 시간과 응답 시간 관점에서 비교한다.
Bulk Insert 성능 개선 기록. JPA TABLE 키 생성 전략과 배치 삽입 병목을 JDBC 기반 insert로 줄인 과정을 정리한다.
SQL JOIN 정리. Cross, Natural, Inner, Outer, Self Join의 문법과 주의점을 예시 중심으로 정리한다.
OSTEP Process API 정리. fork, wait, exec 시스템 콜과 쉘, 파이프, 시그널 등 프로세스 API의 동작을 요약한다.
OSTEP Direct Execution 정리. 제한적 직접 실행, 사용자/커널 모드, trap, timer interrupt와 context switch를 설명한다.
OSTEP MLFQ 정리. 우선순위 큐, 라운드 로빈, 우선순위 하향과 상향 조정으로 응답 시간과 반환 시간을 개선하는 스케줄링을 요약한다.
OSTEP 운영체제 교재와 한국어 번역, KAIST 강의 자료 링크를 모아둔 참고 자료 글.
SQL SELECT 실행 흐름 정리. WHERE, GROUP BY, HAVING, ORDER BY의 역할과 조건 적용 순서를 간단히 요약한다.