데이터베이스/SQLD

[SQLD 도전기] 데이터 모델과 성능(4) - 대량 데이터에 따른 성능

썬키 2022. 10. 11. 14:53

본문 내용은 모두 필자가 공부하며 직접 정리한 내용입니다.

Kdata 데이터자격검정의 SQL 개발자(SQLD) 가이드를 참고하였습니다.

 

─지난 글 보기─

 

[SQLD 도전기] 데이터 모델과 성능(3) - 반정규화와 성능

본문 내용은 모두 필자가 공부하며 직접 정리한 내용입니다. Kdata 데이터자격검정의 SQL 개발자(SQLD) 가이드를 참고하였습니다. ─지난 글 보기─ [SQLD 도전기] 데이터 모델과 성능(2) - 정규화와

itsmesunky.tistory.com

과목 1 데이터 모델링의 이해

 

제 2장 데이터 모델과 성능

 

제 4절 대량 데이터에 따른 성능

 

1. 대량 데이터발생에 따른 테이블 분할 개요

ㆍ중요한 업무에 해당되는 데이터가 특정 테이블에 있는 경우, 트랜잭션이 분산 처리될 수 있도록

테이블 단위에서 분할의 방법을 적용할 필요가 있다.

출처 : Kdata 데이터자격검정

로우체이닝(Row Chaining) 현상 : 로우 길이가 너무 길어서 데이터 블록 하나에 데이터가 모두 저장되지 않고

두개 이상의 블록에 걸쳐 하나의 로우가 저장되어 있는 형태

로우마이그레이션(Row Migration) : 데이터 블록에서 수정이 발생하면 수정된 데이터를

해당 데이터 블록에서 저장하지 못하고 다른 블록의 빈 공간을 찾아 저장하는 방식

ㆍ로우체이닝과 로우마이그레이션이 발생하여 많은 블록에 데이터가 저장되면 데이터베이스 메모리에서

디스크와 I/O가 발생할 때 불필요하게 I/O가 많이 발생하여 성능이 저하된다.

 

2. 한 테이블에 많은 수의 칼럼을 가지고 있는 경우

위 챕터와 관련된 기출문제 발견시에 추후에 추가할 내용입니다.

 

3. 대량 데이터 저장 및 처리로 인한 선능

파티셔닝 : 논리적으로는 하나의 테이블로 보이지만 물리적으로 여러 개의 테이블스페이스에 쪼개어 저장될 수 있는 구조

 

4. 테이블에 대한 수평분할/수직분할의 절차

ㆍ테이블에 대한 수평분할/수직분할에 대한 결정은 다음의 4가지 원칙을 적용하면 된다.

1) 데이터 모델링을 완성한다.

2) 데이터베이스 용량산정을 한다.

3) 대량 데이터가 처리되는 테이블에 대해서 트랜잭션 처리 패턴을 분석한다.

4) 칼럼 단위로 집중화된 처리가 발생하는지, 로우단위로 집중화된 처리가 발생되는지 분석하여

집중화된 단위로 테이블을 분리하는 것을 검토한다.

출처 : Youtube 채널 전광철 OCP

 

 

 

다음에는 데이터베이스 구조와 성능에 관한 내용을 정리하여 포스팅하겠습니다.