■ Data Science/- Database

Elastic Search의 샤딩(Sharding)에 대해

개발따 2023. 8. 16. 15:38
  • 샤딩(Sharding)이란?
    • 샤딩은 대량의 데이터를 더 작은 조각으로 분할하여 여러 개의 서버에 저장하는 개념을 의미함
    • 단일 서버에서 처리하는 어려운 대용량 데이터를 여러 서버에 분산하여 처리하도록 할 수 있게함
  • 샤딩의 필요성
    • 데이터 베이스내 데이터 양이 증가하게 되면서 단일 서버에서 처리하기 어려움,
    • 그렇기에 이를 해결 하기 위해 분산 처리하게 끔하는 개념인 샤딩이 필요함
  • ElasticSearch에서의 샤딩
    • Elasticsearch에서 Document의 집한인 Index는 기본적으로 "샤드(Shard)"라는 단위로 분리되고 각 노드에 분산되어 저장됨
    • Elasticsearch에서의 Shard는 "Primary Shard"와 "Replica Shard"가 있는데, "Replica shard"는 "Primary shard"의 복제본으로 읽기 성능 및 장애 대비를 위해 사용됨
    • Elasticsearch에서의 Shard간 데이터 분산 및 병렬 처리하기 위해, Document를 Primary Shard에 저장하고, 이후 검색작업은 모든 샤드에 병렬적으로 전달되어 처리됨

'■ Data Science > - Database' 카테고리의 다른 글

Elastic Search의 이중화 방식(HA)  (0) 2023.08.16