Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 카페추천
- 책리뷰
- sql
- 제주여행
- 재테크
- sqld
- 영어회화
- 일빵빵
- 제주도
- 매봉카페
- NON EQUI JOIN
- 일빵빵영어회화
- 투자
- 신대방카페
- 나는 1만 원으로 부동산 한다
- 국내여행
- 카페
- 난곡카페
- 프렌즈
- 결혼준비
- 치아교정
- 과배란주사
- 주식
- 제주
- 제주도여행
- 미드
- 부동산
- 정채진
- TOP N 쿼리
- 독후감
Archives
- Today
- Total
체다의 기록
[SQLD] Chapter2. 데이터 모델과 SQL 1-4. 대량 데이터에 따른 성능 본문
- 성능 저하 원인
원인 | 현상 | 결과 |
A 한 테이블에 데이터 대량 집중 | 테이블이 너무 커진다 | - 효율성 ↓ - 디스크 I/O ↑ |
A 한 테이블에 여러 컬럼 존재 | 데스크 점유량이 높아진다 | - 디스크 읽기 I/O ↑ |
B 대량 데이터 처리되는 테이블 | - | - SQL문에서 데이터 처리를 위한 I/O ↑ - 인덱스 구성 |
B 대량 데이터가 한 테이블에 존재 | - | - 인덱스 크기 증가로 인한 성능 저하 |
컬럼이 많아질 경우 | - | - 로우체이닝, 로우마이그레이션 발생 |
- 해결 방안
현상 | 해결 방안 |
A 한 테이블에 많은 컬럼 | 수직 분할 (컬럼 단위로 분할하여 I/O를 줄임) |
B 대량 데이터 저장 문제 | 파티셔닝 (수평 분할) or PK에 의한 테이블을 분할 (파티셔닝: 로우 단위로 분할하여 I/O를 줄임) |
- 로우 체이닝과 로우 마이그레이션
- 로우 체이닝:
- 행 길이가 길어서 데이터블록 하나에 데이터를 모두 저장하지 않고, 두 개 이상의 블록에 걸쳐서 하나의 로우를 저장하는 형태 (한 로우를 여러 체인처럼)
- 1:1로 테이블을 분리하면 -> 디스크 I/O가 줄어 -> 조회 성능 향상
- 로우 마이그레이션
- 데이터블록에서 수정 발생 시, 수정된 데이터를 해당 블록에 저장하지 못하고 다른 블록에 빈 공간을 찾아 저장하는 방식
- 파티셔닝
- 한 테이블에 많은 데이터가 저장되면, 테이블을 아무리 쪼개도 성능이 저하되기 때문에 논리적으로는 하나의 테이블이지만 물리적으로는 여러 개의 테이블로 분리된 형태
- 로우 체이닝:
- 수직/수평 분할 절차
- 데이터 모델을 먼저 완성
- DB 용량 산정
- 대량 데이터가 처리되는 테이블에 대해 트랜잭션 처리 패턴 분석
- 컬럼 or 로우 단위로 집중화된 처리가 발생하는지 분석해 테이블 분리
반응형
'STUDY' 카테고리의 다른 글
[SQLD] Chapter2. 데이터 모델과 SQL 1-6. 분산 데이터베이스와 성능 (0) | 2022.10.23 |
---|---|
[SQLD] Chapter2. 데이터 모델과 SQL 1-5. 데이터베이스 구조와 성능 (0) | 2022.10.23 |
[SQLD] Chapter2. 데이터 모델과 SQL 1-2 반정규화 (De-Normalization) & 1-3 관계 반정규화 (0) | 2022.10.20 |
[SQLD] Chapter2. 데이터 모델과 SQL 1-1 정규화 (Normalization) (0) | 2022.10.17 |
[SQLD] Chapter1. 데이터 모델링의 이해 1-5 식별자 (Identifiers) (0) | 2022.10.17 |