본문 바로가기

SQL29

2-4장. 데이터 모델과 성능_대량 데이터에 따른 성능 SQLD 단원별 목록으로 1. 대량 데이터발생에 따른 테이블 분할 개요 - 대량의 데이터가 하나의 테이블에 집약되어 있고 하나의 하드웨어 공간에 저장되어 있으면 성능저하를 피하기가 힘들다. - 하나의 테이블에 대량의 데이터가 존재하는 경우에는 인덱스의 Tree구조가 너무 커져 효율성이 떨어져 데이터를 처리 (입력, 수정, 삭제, 조회)할 때 디스크 I/O를 많이 유발하게 된다. - 칼럼이 많아지게 되면 물리적인 디스크에 여러 블록에 데이터가 저장되게 된다. 따라서 데이터를 처리할 때 여러 블록에서 데이터를 I/O해야 하는 즉 SQL문장의 성능이 저하될 수 특징을 가지게 된다. - 로우 길이가 너무 길어서 데이터 블록 하나에 데이터가 모두 저장되지 않고 두 개 이상의 블록에 걸쳐 하나의 로우가 저장되어 있.. 2023. 5. 18.
2-3장. 데이터 모델과 성능_반정규와 성능 SQLD 단원별 목록으로 1. 반정규화를 통한 성능향상 전략 가) 반정규화의 정의 - 정규화된 엔터티, 속성, 관계에 대해 시스템의 성능향상과 개발과 운영의 단순화를 위해 중복,통합,분리 등을 수행하는 데이터 모델링 기법 - 데이터 무결성이 깨질 수 있는 위험을 무릅쓰고 데이터를 중복하여 반정규화를 적용하는 이유는 데이터를 조회할 때 디스크 I/O량이 많아 성능이 저하되거나 경로가 너무 멀어 조 인으로 인한 성능저하가 예상되거나 칼럼을 계산하여 읽을 때 성능이 저하될 것이 예상되는 경우 반정규화를 수행하게 된다. 나) 반정규화의 적용방법 · 반정규화의 대상 조사 - 자주 사용되는 테이블에 접근(Access)하는 프로세스의 수가 많고 항상 일정한 범위만 을 조회하는 경우. - 대량의 데이터가 있고 대량의 .. 2023. 5. 17.
2-2장. 데이터 모델과 성능_정규화와 성능 SQLD 단원별 목록으로 1. 정규화를 통한 성능 향상 전략 - 데이터 모델링을 하면서 정규화를 하는 것은 기본적으로 데이터에 대한 중복성을 제거하여 주고 데이터가 관심사별로 처리되는 경우가 많기 때문에 성능이 향상되는 특징을 가진다. - 일반적으로 정규화가 잘 되어 있으면 입력/수정/삭제의 성능이 향상되고 반정규화를 많이 하면 조회의 성능이 향상된다고 인식될 수 있으나 데이터 모델링을 할 때 반정규화만이 조회 성능을 향상한다는 고정관념을 탈피되어야 한다. 정규화를 해서 성능이 저하되기는 커녕 정규화를 해야만 성능이 향상되는 경우가 많이 나타나기 때문이다. 2. 반정규화된 테이블의 성능저하 사례 ① - 왼쪽 그림은 2차 정규화가 안 된 반정규화 테이블, 오른쪽 그림은 부분키 종속을 정규화하여 2차 정규화.. 2023. 5. 17.
2-1장. 데이터 모델과 성능_성능 데이터 모델링의 개요 SQLD 단원별 목록으로 1. 성능 데이터 모델링의 정의 - 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것. - 성능데이터 모델링은 정규화를 통해서도 수행할 수 있고 인덱스의 특징을 고려해서 칼럼의 순서도 변형할 수 있다. 또한 대량의 데이터 특성에 따라 비록 정규화된 모델이라도 테이블을 수직 또는 수평분할하여 적용하는 방법도 있고 논리적인 테이블을 물리적인 테이블로 전환할 때 데이 터 처리의 성격에 따라 변환하는 방법도 성능 데이터 모델링의 범주에 포함될 수 있다. 2. 성능 데이터 모델링 수행시점 - 성능 향상을 위한 비용은 프로젝트 수행 중에 있어서 사전에 할수록 바용이 들지 않는다. 특히 분석/설계 단계에서 데이터 .. 2023. 5. 16.
728x90
반응형