패스잇
백엔드 개발 · 심화

데이터베이스 파티셔닝(Partitioning)과 샤딩(Sharding)의 차이점과 사용 사례를 설명해주세요.

힌트 · 수직/수평 분할과 분산 데이터베이스 관점에서 생각해보세요.

수평 분할물리적 분리성능 향상가용성데이터 분산

모범답안

데이터베이스 파티셔닝과 샤딩은 둘 다 데이터를 분할하는 방식이지만, 목적과 구현 방식에 차이가 있습니다.

파티셔닝은 하나의 데이터베이스 내에서 테이블을 논리적으로 나누는 것을 의미합니다. 주로 성능 향상을 위해 사용되며, 수직 파티셔닝(컬럼 분할)과 수평 파티셔닝(로우 분할)이 있습니다. 예를 들어, 큰 테이블을 날짜별로 분할하여 특정 기간의 데이터만 빠르게 조회할 수 있습니다.

샤딩은 데이터를 여러 물리적인 데이터베이스 서버에 분산 저장하는 방식입니다. 데이터 양이 너무 많아 하나의 서버에서 처리하기 어려울 때 사용하며, 가용성과 확장성을 높이는 데 목적이 있습니다. 샤딩은 데이터베이스를 완전히 분리하여 관리하므로, 파티셔닝보다 복잡도가 높습니다. 예를 들어, 사용자 ID를 기준으로 데이터를 여러 서버에 분산하여 저장할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 데이터베이스 면접 질문

← 데이터베이스 면접 질문 전체 보기