본문 바로가기

Database/MySQL

NDB DataNode Directory Files

나중을 위해 있는 자료를 정리함.

근데 표 사이즈는... 쩝

 

datadir         desc 
ndb_[node_id]_out.log         data node log 파일
ndb_[node_id]_signal.log         data node 로 부터 발생하거나 data node 로 보내진 signal log 파일, SendSignalID 파라미터가 enabled 일때만
ndb_[node_id].pid         data node pid 파일
ndb_[node_id]_fs         data node 용 directory (data file, undo datafile, checkpoint datafile,
  LCP 0     하나의 locl checkpoint 당 숫자이름의 디렉터리가 생성된다.
      T[table_id]F[fragment_number].data  
  • "테이블-플레그먼트 당" 하나의 checkpoint 파일을 의미한다.
  • 실제테이블과 table_id 를 맵핑할 방법이 필요함
      T[table_id]F[fragment_number].ctl  
  • checkpoint 파일에 대한 control 파일로 추축된다 (메뉴얼에 언급이 없다)
  • 반드시 같은 디렉터리에 pair 존재하지는 않는다.
  • fragment_number
    • NoOfReplicas 와 같은 값으로 생성되며 node group 구성에 맞게 분배되어 진다.
    • 0 ~ number of data node -1
    • ndbmtd 를 사용하는 경우 LDM(LQH) 의 수와 같은 갯수로 fragments 가 생성된다.
    • MaxNoOfExecutionThreads 가 변경되는 경우 <ALTER TABLE ... REORGANIZE PARTITION> 참조
  D1        
    DBDICT     dictionary 정보
      P0.SchemaLog   설명 없음
      T1   설명 없음
        S0.TableList 설명 없음
    DBDIH      
      P0.sysfile  

마지막 GCI, restart status, node group membership of each node

      S[id].FragList   각 테이블에 속한 fragment 정보
    NDBCNTR     설명 없음
      P0.sysfile   설명 없음
  D2       D1과 같음
  D8        
      DBLQH   redo log file 을 포함
        S[id].FragLog
  • redo log file
  • id 갯수 는 NoOfFragmentLogFiles 와 같다. ( default 16 )
  • 사이즈는 16MB FragmentLogFileSize 에 의해 결정된다.
  D9       기본적으로 D8 과 같으며 모든 데이터를 4개 파트로 분할하여 디렉터리별로 한파트씩 저장한다.
  D10       D9 와 동일
  D11       D10과 동일
  LG        
    undo_[no].log    
  • disk table 에 대한 undo log 파일
  • 별도로 생성하지 않는 memory table 에 대한 undo 는 어떻게 처리되는지 확인 필요
  TS        
    data_[no].dat     tablespace data 파일