Day 45 · 4/5
🌿 중급 DB

데이터베이스 파티셔닝이 뭔가요?

쉽게 이해하기

도서관에 책이 백만 권 있는데 한 서가에 다 꽂혀 있으면 찾기 힘들죠? 그래서 소설, 에세이, 기술서로 나눠서 여러 서가에 분산하는 거예요. 데이터베이스 파티셔닝도 마찬가지로 데이터를 여러 조각으로 나눠 저장해요.

핵심 정리

큰 테이블을 여러 작은 조각으로 나눠서 성능을 높이는 기술이에요.

자세히 알아보기

파티셔닝은 하나의 큰 테이블을 여러 개의 작은 파티션으로 나누는 기술이에요. 물리적으로는 나뉘어 있지만, 논리적으로는 하나의 테이블처럼 사용할 수 있죠. 왜 필요할까요? 테이블이 수억 건의 데이터를 담고 있으면 쿼리가 느려져요. 파티셔닝하면 검색할 때 전체 테이블이 아니라 해당 파티션만 뒤지면 되니까 훨씬 빨라지죠. 백업이나 삭제도 파티션 단위로 할 수 있어서 관리가 편해요. 파티셔닝 방식은 크게 3가지예요. Range 파티셔닝은 날짜나 숫자 범위로 나눠요. 예를 들어 주문 테이블을 월별로 파티셔닝하는 거죠. List 파티셔닝은 특정 값으로 나눠요. 지역별로 'Seoul', 'Busan' 이렇게요. Hash 파티셔닝은 해시 함수로 골고루 분산시켜요. 실무 예시를 볼까요? 로그 데이터는 날짜별로 Range 파티셔닝해서 오래된 파티션은 아카이빙하거나 삭제해요. 전자상거래 주문 데이터도 월별로 파티셔닝하면 최근 데이터 조회 성능이 좋아지죠. 주의할 점은 파티션 키 선택이 중요하다는 거예요. 쿼리가 주로 어떤 조건으로 검색하는지 분석해서 결정해야 해요.