반응형

책 내용은 좋았다!
다만 해당 책의 엘라스틱 버전이 낮고, 엘라스틱서치에서 한국 전파자(?)이신 김종민님의 책도 있으니 꼭 해당 책을 고집할 필요는 없어보인다. 그리고 엘라스틱서치 자체에서 예약어의 의미를 혼용해서 사용하고 있어서 다소 헷갈리는데 이 책의 문제는 아니다. 그냥 엘라스틱서치가 이렇게 생겨먹은 것 같다.

 

스터디 시작 : 2020년 3월

엘라스틱서치(ElasticSearch) 공부를 위해 스터디를 진행한 지 보름 정도가 되었다.

스터디 책 : 엘라스틱서치 실무 가이드

 

엘라스틱서치 실무 가이드 - YES24

『엘라스틱서치 실무 가이드』는 오픈소스 검색엔진의 대표 주자인 엘라스틱서치에 대한 전반적인 내용을 다룬다. 하지만 단순히 엘라스틱서치의 기능을 단편적으로만 설명하고 끝내는 것이

www.yes24.com

 

주 마다 지정된 분량을 공부하고 github에 정리한 뒤, 토요일 오전마다 온라인 스터디와 회고를 진행하고 있다.

github : https://github.com/digging-room/elasticsearch-study

 

digging-room/elasticsearch-study

Contribute to digging-room/elasticsearch-study development by creating an account on GitHub.

github.com


엘라스틱 스터디 결심 이유

RDB만 사용하다가 접해본 검색엔진인 엘라스틱서치는 정말 신세계였다.

 

1. 속도

10 만 건의 집계 데이터를 조회하는 데 몇 초가 채 걸리지 않았다!
RDB에서라면 인덱스를 걸지 않았을 필드들도, 엘라스틱서치에서는 term별로 역색인되어 저장되기 때문이겠지?

 

2. 설계 관점

RDB(관계형 데이터베이스)와 검색엔진의 용도가 다르다보니 비교하는 것이 옳지는 않다.
RDB는 "트랜잭션"이고, 검색엔진은 "조회"니까! 하지만 저장된 정보를 조건에 맞게 추출하여 제공한다는 관점에서는 데이터베이스와 검색엔진이 유사한 느낌이 들고, 내가 써본 게 RDB 뿐이라(ㅎㅎ) 이 둘의 차이점을 설계 관점에서 생각해봤다.
RDB는 데이터(업무)의 흐름에 맞게, 중복되지 않게 정규화하여 저장할 수 있는 구조로 설계한다. (그렇게 생각한다.)
엘라스틱서치는 검색 조건이 될 여지가 있는 모든 속성의 값을 "정확한 검색단위(terms)"로 만들어서, "잘 뭉치는 게"(?) 중요해보였다.
terms의 정확성은 ES를 운영하면서 높인다고 치고, "잘 뭉치는 것"은 운영 중에는 어려워보인다.
서비스를 운영하며 얻은 암묵지로 설계해도 어려울 것 같은데, 실제 서비스 운영 전에 엘라스틱서치를 설계하면 운영할 때 엄청 난항이 있을 것 같다.

어떤 똑똑이들이 그런 걸 해내는 거지! 나도 같이 하고 싶다!


책을 읽은 지도 얼마 되지 않는 뉴비지만 꾸준히 스터디를 진행해보려고 한다 :)

기본적인 개념이나 기능들을 알아둔다면 언젠가 실무에서 유용하게 쓰일 날이 오리라 생각한다.


2020.06 추가

같이 스터디 중이던 친구의 바쁜 프로젝트 일정, 그리고 내가 Elasticsearch를 사용하지 않는 회사로 이직하게 되어서(ㅠㅠ) 스터디는 잠시 홀딩되었다. 한참 재밌게 배우고 있을 때 이어가면 좋겠지만 이직한 회사에서 나에게 낯선 기술 스택을 사용하기 때문에 급히 공부해야할 것들의 우선순위가 바뀌게 되었다. 어느 정도 회사일에 익숙해지면 다시 공부할 생각이다.

반응형