레이블이 작성중인 게시물을 표시합니다. 모든 게시물 표시
레이블이 작성중인 게시물을 표시합니다. 모든 게시물 표시

2010년 12월 26일 일요일

MySQL 아키텍쳐 (링크 작성중)

그림의 각 영역을 클릭하면 해당 설명으로 이동합니다.


MyISAM 아키텍쳐 (링크 작성중)

그림의 각 영역을 클릭하면 해당 설명으로 이동합니다.



InnoDB 아키텍쳐 (링크 연결중)

그림의 각 영역을 클릭하면 해당 설명으로 이동합니다.


InnoDB Additional buffer pool (작성중)

InnoDB 보조 Buffer Pool
  • InnoDB 엔진을 위한 테이블 및 기타 딕셔너리 정보 관리
    - 옵티마이져를 위한 통계 정보
    - AutoIncrement 정보 및 값
    - 기타 시스템 정보들...
    - 일반적으로 테이블당 4KB ~ 10KB 정도 필요함 
  • 일반적으로 16M로 충분하며, 만약 테이블이 매우 많으면 (>10,000) 추가적으로 더 할당 필요성 있음
  • 설정 변수 innodb_additional_mem_pool_size 에 의해서 사이즈 결정됨
  • 신규 버전의 InnoDB에서는 제거된 설정

2010년 12월 25일 토요일

InnoDB Crash recovery 개요 (작성중)

InnoDB Crash recovery



  • 메모리상의 1,2,3번 포인트 각각의 장애에 대해서는 구분하지 않음
  • 디스크 상의 작업인 6,7번 포인트의 경우 별도로 구분하지 않음
  • 디스크에 데이터/인덱스의 페이지가 기록되기 전에 반드시 해당 페이지의 변경을 유발시킨
    Query의 Undo 로그는 반드시 데이터/인덱스 페이지가 기록되기 전에
    시스템 테이블 스페이스로 기록되어야 하며, 그렇게 처리되는 경우를 가정함


    S1 상태에서 장애 발생시
    S1 트랜잭션 : 대표적으로 innodb_flush_log_at_trx_commit = 0 으로 설정된 경우 이 상태에서 장애가 발생할 수 있음. 이 상태의 트랜잭션은 복구될 수 없다
    S2 트랜잭션 : 
    이 트랜잭션은 

    S2 상태에서 장애(MySQL 장애) 발생시


    S2 상태에서 장애(운영체제 장애) 발생시


    S3 상태에서 장애 발생시


    S4 상태에서 장애 발생시


    S5 상태에서 장애 발생시