요약노트 4

[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

[SQLD] 개념정리 - 데이터 모델링의 이해(3): 관계, 식별자, 식별자관계

✅관계의 정의 - 상호 연관성이 있는 상태 - 엔터티 간의 논리적인 연관성을 의미 - 존재에 의한 관계와 행위에 의한 관계로 구분 ✅관계의 페어링 관계: 엔터티 안의 인스턴스가 개별적으로 관계를 가지는 것(페어링) 관계 페어링(Relationship Paring): 각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스(발생, 사건)로 참여하는 형태 ✅관계의 분류 1) 존재에 의한 관계 어떠한 이벤트에 의해 발생되는 것이 아닌, 존재 자체로 인해 관계가 형성되는 것. ex. 사원 엔터티는 항상 부서 엔터티에 속함 2) 행위에 의한 관계 ex. 고객이 주문을 하는 행위를 하기 때문에 만들어진 주문 엔터티 -> 고객과 주문 엔터티 사이의 관계는 행위에 의한 관계임 ✅관계의 표기법 1) 관계명..

데이터 분석 2023.09.02

[SQLD] 개념정리 - 데이터 모델링의 이해(1): 데이터 모델링, 데이터베이스 기본

✅모델링의 특징 => "추단명"으로 암기 1. 추상화: 현실세계를 일정한 형식에 맞추어 표현 2. 단순화: 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법 or 언어로 단순하게 표현 3. 명확화: 누구나 이해 쉽도록 애매모호함을 제거하고 정확하게 현상을 기술 ✅데이터 모델링의 정의 - 정보 시스템을 구축하기 위한 데이터 관점의 업무 분석 기법 - 현실세계의 데이터에 대해 약속된 표기법에 의해 표현되는 과정 - 데이터베이스를 구축하기 위한 분석, 설계의 과정 ✅데이터 모델링의 3단계 진행 현실세계 -> 개념 데이터 모델링(추상적) -> 개념적 구조 -> 논리 데이터 모델링 -> 논리적 구조 -> 물리 데이터 모델링(구체적) -> 물리 구조(데이터베이스) 개념적 데이터 모델링: 추상화 수준 높음, 업무 ..

데이터 분석 2023.08.17
반응형
LIST