728x90
SMALL
🐹ElasticSearch
오픈 소스 분산형 검색 및 분석 엔진 으로, 대규모 데이터를 빠르게 검색하고 분석하는 데 사용된다.
텍스트 검색, 로그 분석, 데이터 시각화와 같은 다양한 분야에서 활용되며, 특히 실시간 검색과 데이터 처리에 최적화 되어있다.
🐹특징
- 데이터를 indexing 하여 빠른 검색 가능 및 실시간으로 데이터를 저장, 검색, 분석 가능
- 분산 아키텍처 기반으로 설계 → 여러 노드에 데이터를 분산 저장 ( 데이터 크기와 요청량이 증가해도 수평적 확장가능)
- 데이터는 JSON기반으로 저장하고 RESTful API로 접근하여 다양한 프로그래밍 언어와 쉽게 통합 가능
- 데이터 집계 기능을 통해 통계, 평균, 최대값/최솟값 등 데이터를 실시간으로 분석 가능
- Kibana를 사용하여 데이터를 시각화 및 모니터링 가능
작동 원리
- 색인(Index)
- 데이터를 Elasticsearch에 저장하면, Apache Lucene이 데이터를 색인하여 검색 가능한 상태로 변환
- 데이터는 JSON 문서(Document) 형태로 저장됨
- 샤드(Shard)와 복제(Replica)
- 데이터를 여러 샤드로 나누어 저장하여 대규모 데이터 처리
- 데이터 복제를 통해 장애 발생 시에도 안정적으로 작동
- 검색(Query)
- RESTful API를 통해 쿼리를 실행
- 텍스트 검색, 필터링, 정렬 등의 작업을 수행
- 집계(Aggregation)
- 데이터를 그룹화하고 요약하여 통계 정보를 제공
- 예: "월별 판매량", "제품별 매출 평균" 등
🐹장점과 단점
장점
- 빠른 검색 성능
- 확장성: 분산 처리로 대규모 데이터 지원
- 다양한 쿼리 기능: 복잡한 검색과 필터링 지원
- RESTful API: 쉬운 통합 및 확장
단점
- 복잡한 설정
- 리소스 소모
- 러닝 커브
🐹기본 용어
- Document: 저장된 데이터의 최소 단위 (예: JSON 문서)
- Index: 문서들의 컬렉션으로 데이터베이스의 테이블과 유사
- Shard: 인덱스를 분할한 데이터 단위로, 분산 처리를 가능하게 함
- Replica: 샤드의 복제본으로 데이터 안정성과 고가용성을 보장
- Node: Elasticsearch가 설치된 서버로, 클러스터의 구성 요소
Elasticsearch는 여기서 다운로드 할 수 있다.
728x90
LIST
'Internship' 카테고리의 다른 글
vLLM : LLM 추론 프레임워크 (0) | 2024.11.26 |
---|---|
RAG란? (0) | 2024.11.24 |
docker compose 설치 (0) | 2024.11.11 |
PaddleOCR labelstudio 연결 (7) | 2024.11.09 |
[OpenCV] findContours | 이미지 윤곽선 검출 (2) | 2024.11.08 |