ELK빅데이터 파이프라인의 각 역할
1. Elastic search : 데이터 저장, 검색엔진역할
2. Logstash : 데이터 수집
3. Kibana : 시각화
1.3.1 엘라스틱서치 분산검색엔진 ES
ES는 모든 레코드를 json형태로 입력하고 관리하고잇음
일종의 NoSQL 형태의 DB라고 생각하면 좀 비슷할듯함
스코어링 : 검색어에 대한 유사도 스코어를 기반으로 한 정렬을 사용한다
1.3.2 키바나 K
ES는 모든 입력을 Restapi로 받아들임 → curl명령등 기능을 사용가능함
→ 그래도 직접만들기엔 귀찮으니, ES전용으로 나온 시각화도구를가 키바나임
1.3.3 로그스태시 LS
데이터를 적재하는 일종의 도구
ES의 인덱싱성능을 최적화하기위한 분산처리,병렬처리 가능
영속적인큐를 사용 → 유동적인 처리방식을 사용하여 ⇒ 부하 상황에서의 안정성
1.3.4 비츠 B
LS 가 데이터를 모은다고해도, 얘 자체는 무게가 있어서 LS가 데이터를 모으기엔 부적합함
B는 파일비트, 메트릭비트 등 여러가지 지표의 경량수집기를 전체적으로 포함해서 이루는 말이고
얘를 사용해서 데이터를 모으는거임
1.4.1 검색엔진구현
일반적인 R-DB형태는 LIKE질의만으로도 검색이 가능하지만, 도큐먼트가 늘어나면 인덱스의도움없이는 빠른검색은 불가능하잖슴
→ 그래서 ES는 역인덱싱 기법을 사용함
역인덱싱
전문을 용어 단위로 분석해두고 → 인덱싱해두기
검색할떄 → 인덱싱을 사용
1.5.1 카프카와 연동
카프카 : 분산 데이터 스트리밍 플랫폼
ES의 인덱싱 성능이 순간적으로 충분하지않거나, LS or ES의 불안정한 상황에서도 데이터의 유실을 방지가능함
형태 : B(이벤트 수집) → K → LS(다시읽어들임)