ABOUT ME

-

Graduate of Computer Engineering at Inha University

https://github.com/juwon0605

devprofessionalism@gmail.com
  • DB 핵심 요약
    Computer Science/Database 2022. 1. 7. 16:56

    DB 핵심 요약
    [정규화, join]
     ∙정규화
      -데이터 중복을 최대한 줄여 데이터를 구조화하고 논리적으로 저장하는 방법
     ∙무결성
      -테이블에 있는 모든 행들이 유일한 식별자를 갖는 특성
     ∙join
      -두 개 이상의 테이블이나 데이터베이스를 연결하여 검색하는 방법
      ➀INNER JOIN
      ➁LEFT OUTER JOIN
      ➂RIGHT OUTER JOIN
      ➃FULL OUTER JOIN
      ➄CROSS JOIN
      ➅SELF JOIN
     
    [인덱스]
     ∙인덱스
      -자주 사용하는 데이터의 주소를 메모리에 비트리 자료구조로 색인화해서 올림
     ∙인덱스를 조회하는 과정(레인지 스캔<->풀 스캔)
      -인덱스 페이지를 참조해가며 리프 노드에 도착해 적은 범위의 데이터에서 탐색
       (루트 노드->브랜치 노드->...->리프 노드)
     ∙인덱스를 선정하는 기준
      -기수성이 높은 것. 종류의 수가 많은 컬럼. 범위를 잘게 나눠 레인지 스캔에 유리
     ∙인덱스가 유리/분리할 때
      ➀SELECT(유리): 대용량 데이터에서 풀스캔을 레인지스캔하게 해서 유리
      ➁INSERT(분리): 인덱스도 수정해줘야돼서 분리
      ➂DELETE(분리): 실제 삭제되는 것이 아니라 사용 안함처리해서 불필요한 용량 증가
      ➃UPDATE(분리): DELETE하고 INSERT를 사용해야 해서 분리
    [트랜잭션]
     ∙트랜잭션
      -데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위
      -작업 단위에 속하는 쿼리 중 하나라도 실패하면 모든 쿼리문을 취소하고 Rollback
     ∙이론적인 특징
      ➀원자성: 트랜잭션이 DB에 모두 반영되거나 혹은 전혀 반영되지 않아야 된다
      ➁일관성: 트랜잭션의 작업 처리 결과는 항상 일관성 있어야 한다
      ➂독립성: 둘 이상의 트랜잭션이 동시에 병행 실행되고 있을 때
                   어떤 트랜잭션도 다른 트랜잭션에 끼어들 수 없다
      ➃지속성: 트랜잭션이 성공적으로 완료되었으면 결과는 영구적으로 반영되어야 한다
     ∙로그
      ➀Undo 로그: 변경 전의 값을 기록
      ➁Redo 로그: 변경 후의 값을 기록
     ∙회복
      ➀롤백: Undo 로그를 보고 이전 값으로 변경
      ➀예상치 못한 오류: Redo 로그를 보고 일관성 있게 만들고 롤백
     
    [트랜잭션 격리수준]
      ➀read uncommitted: 다른 트랙잭션에서 수정중인 데이터 읽기
                                  dirty, non-repeatable, phantom read 발생
      ➁read committed: 커밋 단위로 데이터 읽기
                               non-repeatable, phantom read 발생
      ➂repeatable read: 한 트랙잭션에서 동일한 값 읽기
                               phantom read 발생
      ➃serializble: 다른 트랜잭션에서 아예 접근을 허용하지 않음
                       완벽한 읽기 일관성 모드 제공

     

    'Computer Science > Database' 카테고리의 다른 글

    7.DB 트랜잭션(Transaction)  (0) 2022.01.07
    9.Redis  (0) 2022.01.07
    8.트랜잭션(Transaction) 격리 수준(Isolation level)  (0) 2022.01.07
    6.Index  (0) 2022.01.07
    5.Anomaly(이상)  (0) 2022.01.07

    댓글

Designed by Tistory.