DB 2

[DB] 분산 저장 기법 - 2. 샤딩 (Sharding)

샤딩은 데이터베이스에서 데이터를 여러 개의 작은 단위 (Shard, 샤드)로 나누어 저장하는 기법이다. 주로 대규모 시스템에서 성능과 확장성을 개선하기 위해 사용하는 것이 일반적이다. 데이터를 하나의 데이터베이스 인스턴스에 저장하지 않고 여러 개의 독립적인 데이터베이스에 분산하는 방식이다. 이를 통해 트래픽 분산, 성능 향상, 병목 해소, 확장성 확보가 가능하다. 샤딩의 주요 장점확장성 (Scalability) 향상단일 데이터베이스의 성능 한계를 넘을 수 있다.새로운 샤드를 추가하면서 시스템 전체 용량이 증가한다.성능 향상데이터가 여러 샤드에 분산되므로 읽기/쓰기 성능이 향상된다.특정 샤드에서만 쿼리를 처리하므로 부하가 분산된다.고가용성(Hign Availability)하나의 샤드가 장애가 나더라도 전체..

Database 2025.03.09

[DB] 분산 저장 기법 - 1. 파티셔닝(Partitioning)

파티셔닝(Partitioning) 이란?파티셔닝이란 데이터베이스, 하나의 테이블 또는 인덱스를 여러 개의 논리적 조각(파티션)으로 나누는 기법으로, 대용량 데이터를 효율적으로 관리, 검색, 성능 최적화하는 데에 사용된다.  파티셔닝의 사용 목적쿼리 성능 향상특정 파티션에만 접근해 데이터를 조회하므로 검색 속도가 향상불필요한 데이터 스캔을 방지하여 I/O 부하 감소데이터 관리 용이오래된 데이터를 별도의 파티션으로 분리하여 관리 가능특정 파티션만 백업하거나 삭제할 수 있어 관리가 편리병렬 처리 (Parallel Processing)여러 파티션을 동시에 처리하여 성능을 향상시킬 수 있음파티셔닝의 종류1. 해시 파티셔닝 (Hash Partitioning) 특정 컬럼을 해시함수를 사용해 분산 저장하는 방식으로 데..

Database 2025.03.02