세그먼트
-
세그먼트의 불변성 - 장점elasticsearch 2021. 2. 12. 12:55
세그먼트의 불변성으로 인해 많은 장점을 가져갈 수 있다 1. 불변이기 때문에 동시성을 신경 쓸 필요가 없다 스레드가 데이터를 점유한 상황일 때를 신경 쓸 필요가 없는 것이다 수정이 가능하다면 수정하는 동안 다른 스레드는 접근 불가능하게 한다거나 해서 퍼포먼스가 떨어질 수 있다 2. 엘라스틱 서치는 하나의 필드에 또 여러 개의 필드를 만들어서 사용한다 그런데 수정이 가능하다면 그 수많은 필드의 수많은 Terms를 찾아서 수정해줘야 한다 그리고 그걸 수정하는 동안 해당 데이터가 검색이 안될 수 있다 그래서 불변으로 해서 새로운 세그먼트를 추가해서 기존 데이터는 삭제 비트에 마크만 해주고 나중에 병합으로 백그라운드 스레드에서 처리해서 *리소스도 절감하고 검색도 빠르게 제공할 수 있다 3. 시스템 캐시를 적극 ..