[SQL] SQLD 2장 - 데이터 모델과 성능

업데이트:

동일한 유형의 속성이 칼럼단위로 반복되는 경우

칼럼에 의한 반복적인 속성값을 갖는 형태는 속성의 원자성을 위배한 제1차 정규화의 대상이 된다.
반복적인 속성 나열 형태에서는 각 속성에 대해 ‘or’연산자로 연결된 조건들이 사용되는데, 이 때 어느 하나의 속성이라도 인덱스가 정의되어 있지 않게 되면 ‘or’로 연결된 모든 조건절들이 인덱스를 사용하지 않고 한 번의 전체 데이터 스캔으로 처리되게 되어 성능 저하가 나타난다.
또한, 모든 반복 속성에 인덱스를 생성하게 되면 검색 속도는 좋아지겠지만 반대급부적으로 너무 많은 인덱스로 인해 입력,수정,삭제의 성능이 저하되므로 1차 정규화를 통해서 자연스럽게 문제가 해결될 수 있도록 한다.


칼럼수가 많은 테이블

한 테이블에 많은 컬럼들이 존재할 경우 데이터가 물리적으로 저장되는 디스크 상에 넓게 분포할 가능성이 커지게 되어 디스크 I/O가 대량으로 발생할 수 있고, 성능이 저하될 수 있다.
트랜잭션이 접근하는 칼럼유형을 분석해서 자주 접근하는 칼럼들과 상대적으로 접근 빈도가 낮은 칼럼들을 구분하여 1:1로 테이블을 분리하면 디스크 I/O가 줄어들어 성능을 향상 시킬 수 있다.


데이터베이스 분산설계를 적용해서 효율성을 증대시키는 법

  1. 공통코드, 기준정보 등 마스터 데이터는 분산데이터베이스에 복제분산을 적용한다.
  2. 거의 실시간 업무적인 특성을 가지고 있을 때 분산 데이터베이스를 사용하여 구성할 수 있다.
  3. 백업 사이트를 구성할 때 간단하게 분산기능을 적용하여 구성할 수 있다.



태그:

카테고리:

업데이트:

댓글남기기