데노말화

Denormalization

디노말라이제이션(Denormalization)은 성능을 높이기 위해 이전에 정규화된 데이터베이스에 사용되는 전략이다. 컴퓨팅에서, deormalization은 데이터의 중복된 복사본을 추가하거나 데이터를 그룹화하여 쓰기 성능의 손실을 감수하고 데이터베이스의 읽기 성능을 향상시키려 하는 과정이다.[1][2] 이는 종종 매우 많은 읽기 작업을 수행해야 하는 관계형 데이터베이스 소프트웨어성능 또는 확장성에 의해 동기가 부여된다. 뇨기화 편익은 그렇지 않으면 정규화된 데이터 모델에서만 완전히 실현될 수 있다는 점에서 뇨기화 편과는 다르다.

실행

표준화된 설계는 종종 다르지만 관련된 정보를 별도의 논리 테이블(관계라고 함)에 "저장"할 것이다. 이러한 관계를 별도의 디스크 파일로 물리적으로 저장하면 여러 관계에서 정보를 끌어오는 데이터베이스 쿼리(가입 작업)를 완료하는 것이 느려질 수 있다. 만약 많은 관계가 결합된다면, 그것은 엄청나게 느릴지도 모른다. 이에 대처하기 위한 두 가지 전략이 있다.

DBMS 지원

한 가지 방법은 논리적 설계를 정규화하되, 데이터베이스 관리 시스템(DBMS)이 추가 중복 정보를 디스크에 저장하여 쿼리 응답을 최적화하는 것이다. 이 경우 중복된 복사본이 일관적으로 유지되도록 하는 것은 DBMS 소프트웨어의 책임이다. 이 방법은 인덱스 뷰(Microsoft SQL Server) 또는 구체화된 뷰(Orace, PostgreSQL)로 SQL에서 구현되는 경우가 많다. 뷰는 다른 요인 중에서도 쿼리에 편리한 형식으로 정보를 나타낼 수 있으며, 인덱스는 뷰에 대한 쿼리가 물리적으로 최적화되도록 보장한다.

DBA 구현

또 다른 접근방식은 논리 데이터 설계를 생략하는 것이다. 주의해서 이것은 질의 응답에서 유사한 개선을 달성할 수 있지만, 비용이 들더라도, 이제는 변칙화된 데이터베이스가 일관되지 않도록 하는 것이 데이터베이스 설계자의 책임이다. 이것은 정보의 중복된 복사본이 어떻게 동기화되어야 하는지를 지정하는 제약조건이라고 불리는 규칙을 데이터베이스에 생성함으로써 이루어지며, 이것은 탈정규화 절차를 쉽게 무의미하게 만들 수 있다. 데이터베이스 설계의 논리적 복잡성의 증가와 이 접근방식을 위험하게 만드는 추가 제약조건의 복잡성 증가다. 더욱이 제약조건은 절충을 도입하여 판독을 가속화한다(SELECT 쓰기 속도를 늦추는 동안(SQL)INSERT, UPDATE그리고 DELETE즉, 높은 쓰기 부하에서 변위된 데이터베이스는 기능적으로 동등한 표준화된 데이터베이스보다 더 나쁜 성능을 제공할 수 있다.

정규화 대 정규화되지 않은 데이터

변칙화된 데이터 모델은 정규화되지 않은 데이터 모델과 동일하지 않으며, 변칙화는 만족스러운 수준의 정규화가 이루어지고 설계에 내재된 이상 징후를 다루기 위해 필요한 제약조건 및/또는 규칙이 생성된 후에만 이루어져야 한다. 예를 들어, 모든 관계는 제3의 정상적인 형태로 되어 있고 가입 및 다액의 의존성을 가진 모든 관계는 적절하게 처리된다.

탈원형화 기법의 예는 다음과 같다.

  • 일대다 관계에서 "다수" 요소의 카운트를 "일수" 관계의 속성으로 "저장"한다.
  • 속성이 결합될 다른 관계에서 관계에 속성 추가
  • 사실-차원 모델로도 알려져 있고 눈송이 스키마까지 확장된 별 스키마
  • 사전 구축 요약 또는 OLAP 큐브

3가지 스토리지, 처리 능력, 대역폭 모두, 모든 레벨에서, 극적으로 증가함에 따라, 데이터베이스의 표준화는 비정상적이거나 확장된 기법에서 일반적이거나 심지어 표준으로 이동했다. 예를 들어, 생략화의 한 가지 특별한 단점은 단순히 "더 많은 스토리지를 사용"(즉, 말 그대로 데이터베이스의 더 많은 열)한다는 것이다. 정말로 거대한 시스템을 제외하고, 이 특별한 측면은 무관하게 만들어졌고 더 많은 스토리지를 사용하는 것은 문제가 되지 않는다.

참고 항목

참조

  1. ^ G. L. 샌더스, S. K. 신. RDBMS의 성과에 대한 탈원형화 효과. HICS Conference의 Procedures, 2001년 1월.
  2. ^ S. K. 신과 G. L. 샌더스. 데이터 웨어하우스에서 데이터 검색을 위한 탈원형화 전략. 의사결정 지원 시스템, 42(1:267-282, 2006년 10월).