1. elasticsearch 개념
1.1 정의
- 대용량 데이터를 '실시간에 가깝게' 처리하는 java 기반의 검색 엔진
- 예를들면 하루에 300만 row의 트래픽 데이터가 수집되는 솔루션이라면 RDB가 감당하지 못하기 때문에 elasticsearch을 사용합니다.
1.2 ELK 구성
- ELK : Elastic사 에서 제공하는 Elasticsearch, Logstash, Kibana의 세 가지 오픈 소스 프로젝트
- Logstash : 실시간 로그를 수집/집계/파싱하여 elasticSearch로 전달
- ElasticSearch : db역활
- Kibana : ElasticSearch를 제어하고 데이터를 시작화하는 node.js 기반의 웹 브라우징 프로그램
1.3 elasticSearch 구성
2. 기본용어 (RDB와 비교)
3. 대용량 데이터 처리
3.1 색인 (index) : 하나의 키워드가 하나의 id 를 갖는것
- keyword : id = 1 : 1
- ex) 요리도서 예시
= 가지튀김 : 24 page
= 냉채족발 : 51 page
= 도토리묵 : 78 page
3.2 역색인 (inverted index) : 하나의 키워드가 여러개의 id를 갖는것
- keyword : id = 1 : N
- ex) 요리도서 예시
= 가지튀김 : 24 , 28 , 31 page
= 냉채족발 : 51 , 62 page
= 도토리묵 : 78 , 80 , 93 page
3.3 RDB 보다 검색속도가 빠른이유 : 역색인
4. reference link
-엘라스틱 서치 개념 : https://12bme.tistory.com/171
-역색인 : https://esbook.kimjmin.net/06-text-analysis/6.1-indexing-data
-------------------------------------------------------------------------------------------------------------
항상 정확한 정보를 공유하고자 노력하고있지만 내용에 개선이 필요한 부분이 있을 수 도 있습니다.
개선이 필요하다고 판단되는 부분이 있을 경우 댓글로 조언해주시면 감사하겠습니다.
* 해당 포스팅이 도움이되셨다면 공감과 댓글 부탁드릴께요 ㅎㅎ
------------------------------------------------------------------------------------------------------------
'Computer Science > common' 카테고리의 다른 글
내부 DDOS 공격에 대한 기록 (JVM OOM) (0) | 2023.09.05 |
---|---|
[Thread] 동기화 이슈 처리방법 (java) (0) | 2020.04.23 |
[Thread] muti Process VS muti Thread (0) | 2020.04.18 |
[Thread] 기초 (0) | 2020.04.18 |
[GIT] git 개념 및 구성 (0) | 2020.01.27 |