안녕하세요. 위기의 코딩맨입니다.
오늘은 Apache Lucene의 기반의 검색 및 분석엔진인 Elasticsearch에 대해서 알아보도록 하겠습니다.
엘라스틱서치라고도 자주 불리기도 합니다!
Elasticsearch이란 무엇일까요?

간단하게 3가지의 일을 한다고 생각하시면 됩니다!
- 대량의 데이터를 안정적으로 저장한다
- 신속하게 검색한다.
- 복잡하고 다양한 분석을 수행한다.
주로 보안, 비즈니스 인텔리전스, 텍스트 검색, 로그 분석 등 다양한 분야에서 사용되고 있습니다.
[ 특 징 ]
이제 특징을 간단하게 알아보겠습니다.
- 실시간 분산검색 (약 1초) - 공식 홈페이지에서 데이터를 적용하는데 1초라는 시간이 걸린다고 합니다. 1초가 길면 길고 짧으면 짧은 시간인데.. 실시간이라고 할 수 있는건가..? 아무튼 대량의 데이터를 실시간으로 색인하고 검색할 수 있다고 합니다.
- 분산 아키텍처 - 여러대의 서버를 분산 저장하여 확장성과 가용성을 높였다고 합니다.
- Json 기반 - Json형태로 데이터를 저장하며, 각각의 문서에 ID를 부여하여 데이터를 쉽게 색인하고 검색할 수 있습니다.
- 검색 - 다양한 검색 기능을 제공하며, 텍스트기반, 일치검색 등 다양한 검색 쿼리를 지원합니다.
- 분석 - 집계, 통계, 시각화 등 다양한 분석 작업에 도움을 준다고 합니다.
[ 샤드 ]
Elasticsearch를 공부하게되면 샤드라는 용어를 듣게 되는데 간단하게 설명드리도록 하겠습니다!
샤드는 Elasticsearch의 인덱스를 여러 개수의 파티션으로써, 분할하여 분산 저장하는 단위를 의미합니다.
유형은 두가지로 나뉩니다.
Primary Shard - 인덱스 초기 샤드로, 데이터를 저장하고 검색 작업을 수행하는 샤드
Replica Shard - 프라이머의 복제본으로 가용성과 안정성으로 성능을 향상시킴
샤드를 사용할 때, 개수를 지정할 수 있는데 크기와 개수로 검색 부하와 처리에 영향을 받기 때문에 잘 고려해야합니다.
또한, 데이터의 분산 저장, 병렬처리 등 성능 향상에 중요한 역할을 수행하기 때문에 Elasticsearch의 사용하는데에 중요한 요소입니다.
[ 작동 원리 ]
1. 로그나 웹 애플리케이션 등 다양한 소스를 통해서 raw Data가 elasticsearch로 들어오게됩니다.
2. 색인 작업을 진행
3. 사용자는 해당 데이터를 사용에 맞도록 쿼리를 실행하고 집계를 사용하여 데이터를 요약 검색을 진행할 수 있습니다.
해당 작업에 도음을 주는 Kibana,Logstash 등 다양한 핵심 기능들이 있습니다.
더 자세한 정보를 원하시면 해당 홈페이지를 확인해주세요!
공식 홈페이지입니다.
Elasticsearch는 무엇인가요?
Elasticsearch는 텍스트, 숫자, 위치 기반 정보, 정형 및 비정형 데이터 등 모든 유형의 데이터를 위한 무료 검색 및 분석 엔진으로 분산형과 개방형을 특징으로 합니다.
www.elastic.co
오늘은 간단하게 Elasticseach에 대해서 알아보았으며,
다음에 설치 방법과 실행 방법에대해서 알아보도록 하겠습니다!

'Web' 카테고리의 다른 글
[We-Co] 비동기 통신 AJAX를 알아보자! (56) | 2023.06.29 |
---|---|
[We-Co] Elasticsearch - 엘라스틱서치 설치 (26) | 2023.06.14 |
[We-Co] Visual Studio Code Debug - Django (21) | 2023.06.08 |
[We-Co] Django - 마이그레이션 ( migration ) (5) | 2023.05.18 |
[We-Co] Django와 흐름 이해 (2) | 2023.05.16 |