파티셔닝과 샤딩

정승렬·2023년 7월 31일
0

기술면접

목록 보기
34/38
post-thumbnail

파티셔닝이란?
파티셔닝이란 데이터베이스를 여러 부분으로 분할하는 것
즉, 큰 테이블이나 인덱스를 작은 파티션(Partition) 단위로 나누어 관리하는 기법

파티셔닝의 종류

수평 파티셔닝
하나의 테이블의 각 행을 다른 테이블에 분산시키는 것

장점

  • 데이터의 개수를 기준으로 나누어 파티셔닝한다.
  • 데이터의 개수와 인덱스의 개수가 줄어들어 성능이 향상된다.

단점

  • 데이터를 찾는 과정이 기존보다 복잡하므로 Latency가 증가한다.

수직 파티셔닝
테이블의 일부 열을 빼내는 형태로 분할

정규화도 수직 파티셔닝과 관련된 과정이라고 할 수 있지만, 수직 파티셔닝은 이미 정규화된 데이터를 분리하는 과정이라고 생각해야 한다.

샤딩
같은 테이블 스키마를 가진 데이터를 다수의 데이터베이스에 분산하여 저장하는 기법

단점
샤딩은 데이터베이스 서버 간의 연결 과정이 많아져 비용이 증가할 수 있고, 하나의 서버가 고장 나면 데이터의 무결성이 깨질 수 있다

0개의 댓글