[F-Lab 챌린지 67일차 TIL]

성수데브리·2023년 9월 1일
0

f-lab_java

목록 보기
56/73
  • [B-Tree]

MySQL B-Tree

1. 학습 주제

  • B-Tree 란
  • 정렬 방법
  • 데이터 조회 과정
  • 장점&단전

2. 알게 된 내용


  • B-Tree 란 인덱스를 정렬하는 알고리즘이다.
  • B-Tree 의 인덱스 key, value 구조에서 key 에 사용되는 컬럼은 값을 변형하지 않고 항상 정렬된 상태로 유지한다.
  • B-Tree 는 루트 노드, 브랜치 노드, 리프 노드로 구성된다.
  • 리프 노드는 데이터 파일에 저장된 레코드의 주소를 갖는다.
    • MyISAM 엔진에서는 실제 물리 주소를 갖는다.
    • InnoDB 에서는 논리 주소를 갖는데, 레코드의 ID 역할을 하는 PK 다

3. 설명하기 어려운 부분


  • B-tree self balanced tree
  • B-Tree CURD 설명
  • B-tree 의 각 노드를 설명하기 어렵다
  • ROWID
  • 인덱스 크기가 미치는 영향

4. 다시 정리


혼.공.컴.운

1. 학습 주제

  • 명령어 병렬 처리 기법
    - 명령어 파이프라이닝

2. 알게 된 내용

  • CPU 가 쉴새없이 명령어를 처리하게 만드는 여러 기법이 있다.
  • 세 가지 방법이 있는데 1. 명령어 파이프라이닝 2.슈퍼스칼라 3.비순차적 명령어 처리가 있다.
  • CPU 는 명령어 처리 과정은 인출,해석,실행,결과 저장이다.
    한 명령어를 위해 필요한 4단계가 겹치지만 않는다면 각 단계를 동시에 실행할 수 있다.
    아래 테이블을 보면 t2 시점에는 해석, 인출을 동시에 처리할 수 있다.
t1t2t3t4t5
인출해석실행저장
.인출해석실행저장
  • 명령어 파이프라이닝은 동시에 실행할 수 있는 단계들을 동시에 처리하는 것이다.
  • 동시 실행에 발생할 수 있는 위험이 있다. -> 파이프라인 위험
    • 제어 위험
    • 구조적 위험
    • 데이터 위험

3. 설명하기 어려운 부분

  • 명령어 파이프라인 정의 설명하기
  • 파이프라인 위험

4. 다시 정리

0개의 댓글