DB구축 - 데이터베이스 저장 공간 설계

강신찬·2023년 5월 19일

테이블(Table)

  • 데이터베이스의 가장 기본적인 객체로 행(Row, 튜플), 열(Column, 컬럼)로 구성
  • 논리 설계 단계의 개체(Entity)에 대응하는 객체

클러스터드 인덱스 테이블(Clustered Index Table)

  • 기본키나 인덱스키의 순서에 따라 데이터가 저장되는 테이블
  • 일반적인 인덱스를 사용하는 테이블에 비해 접근 경로가 단축

파티셔닝 테이블(Partitioning Table)

  • 대용량의 테이블을 작은 논리적 단위인 파티션으로 나누는 테이블
  • 파티션 키를 잘못 구성하면 성능 저하 등의 역효과 초래

레인지 파티셔닝(Range Partitioning)

  • 지정한 열의 값을 기준으로 분할(범위 분할)
  • ex) 일별, 월별, 분기별 등

해시 파티셔닝(Hash Partitioning)

  • 해시 함수에 따라 데이터 분할(해시 분할)

리스트 파티셔닝(List Partitioning)

  • 미리 정해진 그룹핑 기준에 따라 분할

컴포지트 파티셔닝(Composite Partioning)

  • 레인지 파티셔닝 이후 해시 함수를 적용 (조합분할)
  • ex) 범위분할 + 해시분할

파티션의 장점

  • 성능 향상
  • 가용성 향상
  • 백업 가능
  • 경합 감소

외부 테이블(External Table)

  • 데이터베이스에서 일반 테이블처럼 이용할 수 있는 외부 파일
  • 데이터 웨어하우스(Data Warehouse), ETL(Extraction, Transformation, Loading)

임시 테이블(Temporary Table)

  • 트랜잭션이나 세션별로 데이터를 저장하고 처리할 수 있는 테이블
  • 임시테이블에 저장된 데이터는 트랜잭션이 종료되면 삭제됨
  • 절차적인 처리를 위해 임시로 사용하는 테이블

컬럼(Column, 열)

  • 가변 길이 데이터 타입
    • 예상되는 최대 길이로 정의
  • 고정 길이 데이터 타입
    • 최소 길이로 지정
  • 소수점 이하 자릿수
    • 소수점 이하 자릿수는 반올림되어 저장
  • 고정 길이 컬럼이고 NOT NULL인 컬럼
    • 앞 쪽
  • 가변 길이 컬럼, NULL값이 많을 것으로 예상되는 컬럼
    • 뒤 쪽

테이블스페이스(Tablespace)

  • 테이블이 저장되는 논리적인 영역
  • 테이블을 저장하면 논리적으로는 테이블스페이스에 저장되고, 물리적으로는 해당 테이블스페이스와 연관된 데이터 파일(Data File)에 저장됨

테이블스페이스 설계 시 고려사항

  • 업무별로 구분해 지정하고 테이블과 인덱스는 분리해 저장함
  • 대용량 테이블은 하나의 테이블스페이스에 독립적으로 저장함
  • LOB(Large Object) 타입의 데이터는 독립적인 공간으로 지정함

출처: https://m.blog.naver.com/wook2124/222108774926

profile
꾸준히 공부하는 풀스텍 개발자

0개의 댓글