엘라스틱 서치를 써야 하는 8가지 이유 Schemaless와 문서지향 엘라스틱 서치는 JSON 구조를 사용하여 기존의 RDMS와 같은 엄격한 구조를 적용하지 않는다. 비정형 데이터는 비구조적이며, 스키마(Schema)가 다이나믹하게 변할 수 있다. 전통적인 관계형 구조로 구성할 경우 프로젝트 막바지에 모든 스키마를 변경하고, 데이터를 다시 구성하는 문제에 봉착할 수 있는데 JSON 구조는 이런 문제들을 사전에 막을 수 있다. 또다른 장점으로 데이터 공간을 절약할 수 있다. 컬럼을 동적으로 정의하여, 필요한 데이터만 넣게 되어 데이터 공간 및 CPU 사용량, 네트워크 트래픽도 줄일 수 있는 효과를 볼 수 있다. 아래의 예시를 한번 보도록 하자 데이터 예시 1{ "title":"엘라스틱에 대하여", "aut..
만약에 개발자들에게 "간단한 검색엔진(Search Engine)을 만들어보세요"라는 요청을 하면, 대부분은 "제가요?" "못합니다" 등으로 단호히 거절을 할 것이다. 검색엔진이라는 것은 구글이나 네이버, 다음같은 대기업만이 만들 수 있는 것이라고 생각하기 때문이다. 하지만, "간단한 검색엔진"이라는 요건은 개발자라면 누구나 쉽게 만들 수 있다. 물론 루씬(Lucene)이나 엘라스틱서치(Elastic Search), 솔라(Solar)같은 훌륭한 검색엔진들이 이미 즐비하니 굳이 만들 필요는 없지만 어디까지나 이 포스팅은 검색엔진의 원리를 설명하는 것을 목적으로 하니 위와 같은 솔루션들이 없다는 가정으로 생각을 해보자. 우리가 검색을 할 때 무엇을 넣을 것인가? 당연히 키워드(Keyword)를 넣는다. 네이버..
엘라스틱서치(Elasticsearch)는 루씬(Lucene) 기반으로 되어 있지만, 루씬과 다른점은 루씬은 라이브러리라고 한다면 엘라스틱서치는 검색엔진이다. 그러다보니 개발자 입장에서는 루씬이 편할 수도 있고, 개발을 잘 모르는 사람 입장에서는 엘라스틱 서치가 편할 수 있는 구분점이 존재한다. 그러나 확실히 하나 말할 수 있는 것은 어느정도의 부하가 존재하며, 서버의 튜닝이나 자바등을 잘 알지 못하는 경우라면, 루씬보다 엘라스틱 서치를 쓰는 것이 훨씬 좋을 것이다. 참고로 엘라스틱서치는 설치 및 정상적으로 구동하고 있는지 확인하는 방법이 매우 간단하다. 1. 다운로드 받기 일단, 본인의 OS에 따라서 설치하는 파일이 달라질 수 있다. 블로그를 윈도우 환경에서 작성하고 있기 때문에 설치부터 활용방안까지 모..
1. 국내의 검색엔진 검색엔진 전문가로서, 많은 분들이 검색엔진하면 어렵다는 편견을 갖는 분들이 많다. DB는 스페셜하게 잘 다루지만, 검색엔진은 왠지 전문가만 다뤄야 할 것만 같아서 검색엔진을 사용하면 훨씬 효율성이 높은 부분 마저도 DB에서 Like 쿼리를 사용하는 사이트가 허다하다. 그렇다고, 국내의 검색엔진 업체 제품을 쓰면 왠지 손해보는 느낌이 강한데... 왠만한 검색엔진 값이 차 한대값과 맞먹고, 라이센스에 따라서 아반테가격에서 벤츠가격까지 올라가는 경우가 존재한다. 국내의 검색엔진 업체는 와이즈넛, 코난테크놀로지, 솔트룩스의 3파전 양상이다. 이중 와이즈넛이 가장 유명하지만, 그렇다고 기술력이 가장 뛰어난 업체는 아니다. 와이즈넛과 코난테크놀로지는 검색엔진 순수 기술로만 하면 BMT 스코어가..