1. 대량 데이터발생에 따른 테이블 분할 개요
로우체이닝 현상 - 로우 길이가 너무 길어서 데이터 블록 하나에 데이터가 모두 저장되지 않고 두 개 이상의 블록에 걸쳐 하나의 로우가 저장되어 있는 형태
로우마이그레이션 - 데이터 블록에서 수정이 발생하면 수정된 데이터를 해당 데이터 블록에서 저장하지 못하고 다른 블록의 빈 공간을 찾아 저장하는 방식
로우체이닝과 로우마이그레이션이 발생하여 많은 블록에 데이터가 저장되면 데이터베이스 메모리에서 디스크와 1/0(입력/출력)가 발생할 때 불필요하게 1/0가 많이 발생하여 성능이 저하된다.
2. 대량 데이터 저장 및 처리로 인해 성능
- Range Partition 적용
- List Partition 적용
4. 테이블에 대한 수평분할/수직분할의 절차
- 데이터 모델링을 완성한다
- 데이터베이스 용량산정을 한다
- 대량 데이터가 처리되는 테이블에 대해서 트랜잭션 처리 패턴을 분석한다
- 칼럼 단위로 집중화된 처리가 발생하는지, 로우단위로 집중화된 처리가 발생되는지 분석하여 집중화된 단위로 테이블을 분리하는 것을 검토한다
글에서 나오는 코드와 내용은 책 SQL 전문가 가이드에서 가져옴을 알립니다.
'📚CS > SQL' 카테고리의 다른 글
SQL 기본 및 활용 - 관계형 데이터베이스 개요 (0) | 2023.07.28 |
---|---|
데이터 모델링의 이해 - 데이터 모델과 성능 & 분산 데이터베이스와 성능 (0) | 2023.07.23 |
데이터 모델링의 이해 - 정규화와 성능 & 반정규화와 성능 (0) | 2023.07.21 |
데이터 모델링의 이해 - 성능 데이터 모델링의 개요 (0) | 2023.07.21 |
데이터 모델링의 이해 - 데이터 모델의 이해 (0) | 2023.07.21 |