SQL - (7) : Big Data

­이승환·2021년 8월 2일
0

SQLD

목록 보기
7/16

데이터 모델과 성능 (2) 대량 데이터 베이스


1. 대량 데이터 발생에 따른 테이블 분할 개요

  • 한 테이블에 많은 컬럼이 존재하여 디스크에 많은 블럭을 점윳시 성능저하(Disk I/O 증가)
  • 조회는 물론 입력/삭제/수정 능력도 저하
  • 로우체이닝 : 로우 길이가 너무 길어서 블록 하나에 저장되지 않고, 두개 이상에 블록에 걸쳐 하나의 로우가 저장되는것
  • 로우 마이그레이션 : 데이터 블록에서 수정이 발생시, 수정된 데이터를 해당 데이터 블록에서 저장하지 못하고 다른 블록의 빈 공간을 찾아 저장하는 방식

2. 한 테이블에 많은 수의 컬럼이 존재하는 경우

  • 컬럼을 기준으로 쪼개면(수직분할) 디스크 I/O 감소로 인해 성능 향상

3. 대량 데이터 저장 및 처리로 인한 성능

  • Range Partition : 날짜 또는 숫자값으로 분리하여 수평분할
  • List Partition : 핵심코드를 기준으로 pk 설정시 분할
  • Hash Partition : 정확히 알지 못하는 해시 알고리즘으로 인한 분할

4. 수직/수평 분할 절차

  • 모델링 완성 => 용량 산정 => 트랜잭션 패턴 분석 => 컬럼 단위 또는 로우 단위 처리인지 고려하여 분할
  • 파티셔닝
profile
Mechanical & Computer Science

0개의 댓글