SQLD 반정규화
SQLD 2-3 ] 반정규화와 성능
SQLD 2-3 ] 반정규화와 성능
2016.02.14반정규화 - 비 정규화는 아예 정규화 수행을 안한거고, 반 정규화는 정규화 된 엔터티, 속성, 관계 에 대해 성능향상 하려고 하는 데이터모델링의 기법 데이터를 중복하여 성능을 향상시키는 기법? 왜 이렇게까지 할까. 데이터 조회할 때 디스크 I/O량이 많아서 성능이 좀 저하될꺼같고 또 경로가 너무 멀어서 성능저하가 될때를 예상해서 반정규화를 사용한단다. ( 반정규화가 정규화 안한건줄 알았는데 아니였음. )( 아니 왜 일부러 중복해서 쓰는걸까.. 정규화를 하면 성능 향상시키긴 하는데 엔터티들 너무 많아지니까.. 적절히 반정규화 좀 섞어서 쓰라고 한다. 단 반정규화를 잘 못쓰면.. 오히려 성능이 저하되고, 노력비용이 많이든다!) 반정규화의 적용방법 - 난이도 높은 데이터 모델링의..
SQLD 2-2 ] 정규화와 성능
SQLD 2-2 ] 정규화와 성능
2016.02.14정규화를 통한 성능 향상 전략 - 정규화를 하면.. 중복성을 제거하고, 데이터가 관심사별로 나뉘어지기 때문에 성능이 향상된다. 좀 많이 나뉘어지니까.. 엔터티가 그만큼 많아질꺼고. SQL 문장에서 조인 할께 많아지니. 성능이 오히려 안좋아질수도..!! 반정규화된 테이블의 성능저하 사례반정규화(다음장에서 설명) 를 정규화를 해서 2개의 테이블로 만들었는데 예를들어 관서등록일자 가 2010년 이후를 조회하면. 왼쪽 반정규화 테이블에서는 납부자번호 만큼 누적된 데이터를 다 읽어야되고.. 오른쪽은 관서 수만큼만 존재하는 데이터를 읽기때문에.. 정규화를 하면 조회 성능이 저하된다는 고정관념은 틀렸다고 볼 수 있다. 다른 사례도 몇가지 있지만, 정규화를 하면 좋아진다는 설명들이다. 함수적 종..