Hayden's Archive

[ELK 스택] 엘라스틱 서치 기본 개념 본문

Study/DB

[ELK 스택] 엘라스틱 서치 기본 개념

_hayden 2020. 10. 13. 11:48

 

ELK STACK

  • ELK = Elasticsearch + Logstash + Kibana 의 약자
  • 멋진 빅데이터 개발자는 어떤 데이터든지 수집하고 빠르게 검색하고 데이터 무더기에서 쓸만한 정보를 보기 좋게 시각화할 수 있어야 함
  • ELK스택을 마스터하면 어떤 빅데이터를 만나든지 쉽게 빅데이터 개발자 역할을 수행할 수 있음
  • ELK 스택
    • Logstash가 어떤 데이터베이스의 데이터든지 csv이든지 상관 없이 데이터를 엘라스틱 서치에 수집해줌
    • Kibana는 Data Visualization Tool로 엘라스틱 서치의 데이터를 보기좋게 화면에 보여줄 것임. 엘라스틱 서치의 빠른 검색으로 빅데이터도 순식간에 Kibana에서 시각화(프론트엔드 코드 필요 없음)

 

엘라스틱 서치 vs 관계형 DB

  • 엘라스틱 서치에서 John이라고 검색하면 doc1, doc2에 있다는 것을 바로 알 수 있음.
  • 관계형 DB을 사용하면 doc1에 가서 professor에 또 가서 John이 있는지 없는지 확인하고 doc1 저장, doc2 확인하고 doc2 저장, doc3 확인하고 doc3 저장하지 않음. 저장된 ArrayList에서 doc1, doc2가 있으므로 doc1과 doc2를 UI에 보여줄 수 있음
  • 결론 : 엘라스틱 서치가 검색에서는 매우 빠름.

 

엘라스틱 서치 데이터 구조

  • elasticsearchindex / type / document로 구성되어 있음
  • 가장 큰 개념이 index이고, 그 안에 type을 가지고 있고 type 안에 여러 개의 document를 가지고 있음. document들은 같은 property를 가지고 있음.

 

엘라스틱 서치와 관계형 DB 비교

  • 구성요소

  • 엘라스틱 서치에서는 Rest API를 써서 CRUD를 구현

  • 구문