개발하는 무민

[NCP/Elastic Search] 데이터 속도, 확장성, 유용성, 단순성 - 엘라스틱 서치 소개 웨비나 후기 본문

교육&자기계발

[NCP/Elastic Search] 데이터 속도, 확장성, 유용성, 단순성 - 엘라스틱 서치 소개 웨비나 후기

무민_ 2023. 1. 19. 12:44

최근 데이터 처리에 관해 관심을 가지고 있는데

NPC에서 Elastic Search에 관한 웨비나를 진행하길래 가볍게 들으며 메모한 것을 정리한다.

비정형인 많은 데이터들을 어떻게 유용하게 처리할 수 있는지에 대한 내용들을 포함해서 소개하는 행사였다.

 


엘라스틱 : 정형, 비정형 데이터를 분석할 수 있는 서비스를 제공하는 회사

 

행사는 위와 같이 진행되었다.

 

매일 엄청난 양의 데이터는 쌓여가고 있으나, 현실적으로 모든 데이터를 유용하게 처리하기는 어렵다.

매일 생산되는 데이터 → 480EB 정도

비정형 데이터가 80%이고,

기업 내에서 사용되고 있는 데이터는 20% 내이다.

 

  • 비정형 데이터란?
    사용자들이 만들어내는 로그성 데이터.. 머신들이 생성하는 데이터..

 

관계형 DB는 20년 전부터 쭉 사용중이다.

관계형 DB는 정형화된 데이터에 최적화된 기술이기 때문에 비정형 데이터는 이런 관계형 데이터에 맞지 않는다.

 

ex)

구글에서 검색을 하면 뭘 검색하든 1초 안으로 검색됨.

구글은 다양한 데이터를 표출하고 있다.

이런 저장, 검색한 결과를 실시간으로 표현하고, 실시간으로 표현할 수 있는 플랫폼 → 엘라스틱 서치

구글에서 검색하는 스피드로 쿼리가 가능한 기술이다.

 

검색에 대한 고정관념 : 텍스트를 입력하고, 그 결과를 보는 것이 전부이다.

근데 엘라스틱이 처음 오픈소스를 공개한 뒤, 숫자, 위치, 로그, 날짜 등의 온갖 종류의 데이터를 엘라스틱 DB에 넣고 서치하기 시작함.

서치 == 쿼리 = 검색

쿼리를 던져서 결과값을 보게 하는 것이다.

 

예를 들어, 포스코, 위메프 등이 엘라스틱 서치를 사용해서 검색 기능을 빠르게 서비스 중이라고 한다.

하나의 플랫폼 안에서 모든 데이터가 분석될 때 기업은 데이터들의 상관관계를 빠르게 확인 가능하다.

기업들은 엘라스틱을 통해 자신들의 데이터를 실시간으로 빠르게 수집, 검색하고 시각화도 할 수 있다.

 

- 엘라스틱 기술의 핵심 요소 : ECS, ILM, Elastic agent & data stream

 

유의미한 데이터 도출을 위해 여러가지 데이터셋을 한번에 분석해야함 → 데이터 통합 필요.

데이터 유형이 서로 다르거나, 같은 의미의 데이터이더라도 환경에 따라 다르게 표현된다면 일관된 분석이 제한된다.

ECS는 통일된 document field set을 정의하는 가이드라인이다.

데이터 통합분석을 가능하게 해주고, 여러 소스로부터 비롯된 데이터들을 쉽게 연관시킬 수 있다.

ex) ip 주소 검색 분석.. → 모든 데이터셋의 ip주소를 통일 가능함. 더 쉽게 분석 검색할 수 있게 해준다.

 

시간이 지날수록 데이터는 늘어날건데, 할당된 자원이 부족하면 스택업하거나 인스턴스를 늘려서 데이터를 유지해야한다.

데이터라는 것은 시간에 따라 중요도와 사용처가 달라질텐데, 데이터는 프레쉬할수록 많은 가치를 가진다.

굳이 같은 비용으로 가치가 떨어지는 데이터를 유지할 필요는 없음.

 

이러한 이슈를 해결하기 위한 것이 ILM이다.

데이터 볼륨 제어를 자동화하고, 합리적 비용으로 데이터를 관리하게 해준다.

 

Hot : 가장 빈번하게 조회되는 데이터를 SSD에 저장.

Warm : 핫보단 덜 조회되고 덜 업데이트 되는 데이터를 HDB 장비에 저장

Cold : 웜보다 덜 조회되고 덜 업데이트되는 데이터를 HDB 장비에 저장하되, 저렴한 스토리지에 저장 가능.

 

이러한 액션들을 통해 데이터를 적절한 공간에 저장 가능함.

데이터가 방대한 사이트일 수록 필요한 기능이다.

 

다양한 소스로부터 데이터를 수집하기 위해선 수집기가 필요하다.

이는 적지않은 비용과 시간을 필요로 하는데, 엘라스틱을 사용한다면 이런 비용과 시간을 줄일 수 있다.

데이터 수집, 전처리, 시각화를 자동화해주는 기능을 제공해줌.

 

 

Agent는 Fleet을 통해 관리된다.

- Fleet : 엘라스틱 매니지를 관리하는 중앙 관리 서버, agent의 버전 업데이트를 관리한다.

Integrations : 일종의 데이터 수집 템플릿. 오브젝트들이 내장되어 있어서 사용자는 UI 조작만으로도 수집 가능하다.

 

데이터 스트림을 사용할 때는 읽기 작업은 모든 데이터 대상, 쓰기는 최신 대상..

변경이나 삭제는 제한된다.

 

- 한글 형태소 분석기 Nori

캐릭터 필터 : 문자 치환 등

토크나이저 : 토큰화

토큰 필터 : 토큰으로 생성된걸 가공함

엘라스틱에서는 공식적으로 한글 형태소 분석기를 개발함.

 

노리를 사용하면 위와 같이 토큰을 만들게 됨 - 동 , 해물, 백두산

사전에 정의된 단어에 따라 다른 결과를 얻을 수 있다.

 

상업적으로 사용하려면 유상 라이센스 맺어야 함.

개인의 운영 테스트 목적으로는 무상 가능.

 

이후 엘라스틱 서치 설정에 관한 데모 영상을 보여주는데,

관심이 있다면 NCP에서 올려준 다시보기(네이버TV/유튜브/edwidth)를 보면 좋을 것 같다.

 

뉴스 기사 한문장을 테스트로 입력했을 시, 오른쪽과 같이 토큰화되어 단어가 분리된다.

 

전체 내용이 궁금하다면 아래 주소에 올라오는 영상을 확인하면 될 듯

> YouTube : https://www.youtube.com/c/NAVERCLOUDPLATFORM/

> Edwith : https://www.edwith.org/ptnr/ncloudedu

> NAVER TV : https://tv.naver.com/ncloud