본문 바로가기

DBA42

[SQLD] 1-2 데이터 모델링과 성능 제1절 성능 데이터 모델링의 개요 성능 저하 요인 1) 데이터 모델 구조 2) 데이터가 대용량이 되는 경우 3) 인덱스 특성을 충분히 고려하지 않고 인덱스 생성하는 경우 성능 => 보통 데이터조회의 성능을 의미 - 데이터입력/수정/삭제는 일시적이며 빈번하지 않고 단건 처리가 많으나 데이터조회의 경우 반복적이고 빈번하며 여러 건을 처리하는 경우가 많음. - 일반적으로 트랜잭션의 성격이 조회의 패턴이나 업무에 따라서는 입력/수정/삭제의 성능이 중요한 경우도 존재 성능 데이터 모델링 - DB 성능향상 목적으로 설계단계의 데이터 모델링 때부터 정규화,반정규화,테이블통합, 테이블분할,조인구조,PK,FK등 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 수행시점 - 분석/설계 단계 => 성능저하에 .. 2024. 3. 11.
(DB실무) Part3-데이터 모델과 성능 보호되어 있는 글 입니다. 2024. 3. 6.
데이터베이스 튜닝 (DB Tuning) I. DB성능 최적화, 데이터베이스 튜닝 (DB Tuning) 개요 가. 데이터베이스 튜닝의 필요성 일반적으로 시스템 성능 저하 문제는 잘못된 APP 및 DB 설계에 의해 발생하며, 데이터베이스 튜닝을 통해 성능 저하 최소화 가능 나. 데이터베이스 튜닝의 개념 데이터베이스 응용, 데이터베이스 자체, 운영체제의 조정 등을 통하여 최적의 자원으로 최적의 성능(응답속도)을 얻을 수 있도록 개선하는 작업 II. 데이터베이스 튜닝의 3단계 가. 데이터베이스 튜닝의 3단계 튜닝 단계(영역)튜닝 방안튜닝 사례 1단계 DB 설계 튜닝 (모델링 관점) 데이터베이스 설계 단계에서 성능 고려하여 설계 데이터 모델링, 인덱스 설계 데이터파일, 테이블 스페이스 설계 데이터베이스 용량 산정 반정규화 분산파일배치 2단계 DBMS .. 2024. 3. 5.
[SQL] Query Tuning - Partition [SQL] Query Tuning - Partition 파티션이란 파티션 - 구획 분할 MySQL 서버 입장에서는 데이터를 별도의 테이블로 분리해서 저장하지만 사용자 입장에서는 하나의 테이블로 읽기와 쓰기를 할 수 있게 해주는 기능을 의미 큰 table이나 index를, 관리하기 쉬운 partition이라는 작은 단위로 물리적으로 분할하는 것 파티션을 사용하면 대용량 작업을 더 빠르게 처리할 수 있음 파티션 단위의 조회 및 DML → 부하를 분산시켜줌 DML 인 Delete 로 처리하게 된다면 삭제대상을 조회하는 부하/Operation 과 Redo/Undo를 생성하는 DML영역의 Operation 의 부하등이 동반되기 때문에 파티션을 사용한 파티션 단위의 Drop 을 이용하면 이런 부분을 대폭 줄일 수 .. 2024. 3. 4.
[MySQL] InnoDB - Redo Log ■ Redo Log란 많은 데이터베이스 관리 시스템과 마찬가지로 MySQL은 데이터 내구성을 달성하기 위해 로그를 사용합니다(기본 InnoDB 스토리지 엔진을 사용할 때). 만약 DB 에 장애가 발생하여서 메모리 영역에만 남아있는 데이터를 디스크 영역으로 옮겨지지 못한채 서버가 다운되는 현상이 발생했을때 복구할수 있는방법이 바로 Redo Log, Undo log를 이용하는 것입니다. 이 로그들을 이용하면 트랜잭션이 커밋될 때 충돌이나 정전이 발생해도 데이터가 손실되지 않습니다. 리두로그에 대해선 따로 정리해서 포스팅하겠습니다. ■ Redo log 동작원리 MySQL의 InnoDB 스토리지 엔진은 고정 크기(순환방식)의 Redo 로그 공간을 사용합니다. 크기는 innodb_log_file_size 및 in.. 2024. 3. 4.
[SQL] Query Tuning - Partition [SQL] Query Tuning - Partition 파티션이란 파티션 - 구획 분할 MySQL 서버 입장에서는 데이터를 별도의 테이블로 분리해서 저장하지만 사용자 입장에서는 하나의 테이블로 읽기와 쓰기를 할 수 있게 해주는 기능을 의미 큰 table이나 index를, 관리하기 쉬운 partition이라는 작은 단위로 물리적으로 분할하는 것 파티션을 사용하면 대용량 작업을 더 빠르게 처리할 수 있음 파티션 단위의 조회 및 DML → 부하를 분산시켜줌 DML 인 Delete 로 처리하게 된다면 삭제대상을 조회하는 부하/Operation 과 Redo/Undo를 생성하는 DML영역의 Operation 의 부하등이 동반되기 때문에 파티션을 사용한 파티션 단위의 Drop 을 이용하면 이런 부분을 대폭 줄일 수 .. 2024. 3. 4.