데이터모델 2

[SQLD] 개념정리 - 데이터 모델과 성능(2): 테이블 분할, 슈퍼/서브 타입, 분산 데이터베이스

✅대량 데이터 발생에 따른 테이블 분할 : 대량 데이터가 존재하는 테이블에 많은 트랜잭션이 발생 -> 성능 저하 -> 테이블 구조에 대해 수평/수직 분할 설계하여 성능 저하를 예방할 수 있음 테이블의 데이터는 Block 단위로 디스크에 저장됨. 칼럼이 많아지면 하나의 로우를 저장 시 물리적인 디스크의 여러 블록에 데이터가 저장될 가능성이 높아짐. 즉, 하나의 행을 읽더라도 여러 개의 블록을 읽어야 함 -> 해당 SQL문의 Block I/O가 많아짐. 1) 로우 체이닝(Row Chaining): 로우 길이가 길어서 데이터 block 하나에 데이터가 모두 저장되지 않고, 두 개 이상의 블록에 걸쳐 하나의 로우가 저장되어 있는 형태 2) 로우 마이그레이션(Row Migration): 데이터 블록에서 수정이 발..

데이터 분석 2023.09.05

[SQLD] 개념정리 - 데이터 모델과 성능(1): 성능 데이터 모델링, 정규화, 반정규화

✅성능 데이터 모델링이란? 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블 통합, 테이블 분할, 조인구조, PK, FK, 등 성능과 관련된 여러 사항이 데이터 모델링에 반영될 수 있도록 하는 것. ✅성능 데이터 모델링 수행 시점 분석/설계 -> 구현 -> 테스트 -> 운영 : 사전에 할수록 비용 적음 : 분석/설계 단계에서 DB 처리 성능을 향상시킬 수 있는 방법을 주도면밀하게 고려해야 함 ✅성능 데이터 모델링 고려사항 1) 정규화를 정확하게 수행 2) 데이터베이스 용량 산정을 수행 3) 데이터베이스에서 발생되는 트랜잭션의 유형을 파악 4) 용량과 트랜잭션의 유형에 따라 반정규화를 수행 5) 이력 모델의 조정, PK/FK 조정, 슈퍼 타입/서브타입 조정을 수행 ..

데이터 분석 2023.09.03
반응형
LIST