데이터 샤딩이란?
사전적 정의 (Dictionary Definition) 데이터 샤딩(Data Sharding)은 하나의 거대한 데이터베이스나 데이터 세트를 여러 개의 작은 단위인 ‘샤드(Shard)‘로 분할하여 서로 다른 서버에 분산 저장하는 기술입니다. 이는 데이터베이스의 수평적 파티셔닝(Horizontal Partitioning)의 한 형태로, 특정 하드웨어의 성능 한계를 극복하기 위해 데이터를 논리적으로 분할하여 병렬 처리를 가능하게 합니다. 전체 시스템의 부하를 분산시키고 데이터 접근 속도를 향상시키며, 서비스의 확장성(Scalability)을 확보하는 데 필수적인 아키텍처 기술입니다.
실무 사용 예시 (Practical Use Case) 수천만 명 이상의 가입자를 보유한 글로벌 전자상거래 플랫폼이나 SNS 서비스에서 단일 데이터베이스 서버가 모든 트래픽을 처리하기 어려울 때 사용됩니다. 예를 들어, 사용자 ID를 기준으로 홀수 ID는 A 서버에, 짝수 ID는 B 서버에 나누어 저장하거나, 사용자의 접속 지역(국가)별로 데이터를 분할하여 해당 지역과 가까운 데이터 센터의 서버에 배치함으로써 지연 시간을 단축하고 처리 효율을 높입니다.
관련 단어 (Related Words)
- 수평 확장(Horizontal Scaling)
- 파티셔닝(Partitioning)
- 분산 데이터베이스(Distributed Database)