Tiny Finger Point Hand With Heart
본문 바로가기
DataBase

[SQLD] 데이터 모델과 성능

by yoondii 2023. 3. 9.
728x90
반응형

반정규화(De-Normalization)

  • 데이터베이스의 성능 향상을 위하여, 데이터 중복을 허용하고 조인을 줄이는 데이터베이스 성능 향상 방법이다.
  • 반정규화는 조회(SELECT)속도를 향상하지만, 데이터 모델의 유연성은 낮아진다.

반정규화를 수행하는 경우

  • 정규화에 충실하면서 종속성, 활용성은 향상되지만 수행 속도가 느려지는 경우
  • 다량의 범위를 자주 처리해야 하는 경우
  • 특정 범위의 데이터만 자주 처리하는 경우
  • 요약/집계 정보가 자주 요구되는 경우

반정규화 절차

  • 대상 조사 및 검토 - 데이터 처리 범위, 통계성 등을 확인해서 반정규화 대상을 조사한다.
  • 다른 방법 검토 - 반정규화를 수행하기 전에 다른 방법이 있는지 검토한다.
  • 반정규화 수행 - 데이블, 속성, 관계 등을 반정규화 한다.

 

클러스터링(Clustering)

  • 클러스터링 인덱스라는 것은 인덱스 정보를 저장할 때 물리적으로 정렬해서 저장하는 방법이다.
  • 따라서 조회시에 인접 블록을 연속적으로 읽기 때문에 성능이 향상된다.

 

파티션(Partition)기법

  • 데이터베이스에서 파티션을 사용하여 테이블을 분할할 수 있다.
  • 파티션을 사용하면 논리적으로는 하나의 테이블이지만 여러 개의 데이터 파일에 분산되어서 저장된다.
  • Range Partition : 데이터 값의 범위를 기준으로 파티션을 수행한다.
  • List Partition : 특정한 값을 지정하여 파티션을 수행한다.
  • Hash Partition : 해시 함수를 적용하여 파티션을 수행한다.
  • Composite Partition: 범위와 해시를 복합적으로 사용하여 파티션을 수행한다.

파티션 테이블의 장점

  • 데이터 조회 시에 액세스 범위가 줄어들기 때문에 성능이 향상된다.
  • 데이터가 분할되어 있기 때문에 I/O (input/output)의 성능이 향상된다.
  • 각 파티션을 독립적으로 백업 및 복구가 가능하다.

 

 

728x90
반응형

'DataBase' 카테고리의 다른 글

[SQLD] SQL 기본  (0) 2023.03.12
[SQLD] 데이터모델링(Data Modeling)  (0) 2023.03.07
[SQL] 집계 함수(Aggregate function )/ 기본 함수와 연산  (0) 2023.03.04
[SQL] LIKE 와일드카드  (0) 2023.03.03
[SQL] WHERE절  (0) 2023.03.03

댓글