SlideShare a Scribd company logo
Elasticsearch Modeling
정호욱
• 미미박스 검색개발팀 리더
• [실무 예제로 배우는 Elasticsearch 검색엔진 – 활용편] / 한빛미디어
• [실무 예제로 배우는 Elasticsearch 검색엔진 – 기본편] / 한빛 미디어
• Elasticsearch 성능 최적화 / DeView 2014
• [Meetup] 이커머스 스타트업에서 검색 인프라 구축하기 – 2016.03.31
• [Meetup] Elasticsearch on Apache Tajo – 2015.06.04
오늘 다룰 주제
Modeling
Modeling
• Elasticsearch cluster.
• Elasticsearch node.
• Elasticsearch index.
• Elasticsearch shard.
• Elasticsearch document.
• Elasticsearch store.
Elasticsearch cluster
• Single cluster 구성을 추천 합니다.
• Cluster = Classification = Category
• Cluster HA(High Availability) 구성이 필요한가요?
• Multiple clusters 구성이 필요한가요?
• Tribe 노드를 활용하세요.
Elasticsearch node
• Master node는 꼭 HA 구성을 해주세요.
• 서비스 특성을 먼저 파악해 주세요.
• 검색 질의가 많나요?
• 집합 질의가 많나요?
• 벌크 색인이 많나요?
• 데이터에 대한 변경이 많나요?
• Data node는 검색과 색인 용도에 따라 검토해 주세요.
• Preference를 활용하세요.
• Box type(hot/warm)을 활용하세요.
Elasticsearch index
• Time series data ? non-time series data ?
• Index split ? or type split ?
• Index template 을 활용하세요.
Elasticsearch shard
• 색인이 중요? 검색질의가 중요? 또는 둘 다 중요?
• 장비 스펙이 중요합니다.
• Core 크기는 얼마나 되나요?
• Data node는 몇 개 인가요?
• Primary shard는 기본 색인 성능과 관계가 있습니다.
• Replica shard는 기본 검색 질의 성능과 관계가 있습니다.
• Shard 하나에 배치 시킬 문서 수와 shard 하나의 크기에 대한 평가를
합니다.
• Routing을 활용하세요.
• Replica를 활용하세요.
Elasticsearch document
• 문서 하나의 크기에 대한 평가를 합니다.
• Denormalization 작업이 중요합니다.
• Field에 대한 정의가 중요 합니다.
• 검색 대상 필드인가요?
• Exact or full text search
• 정렬 대상 필드인가요?
• 강조 대상 필드인가요?
• 집합 대상 필드인가요?
• 저장 대상 필드인가요?
Elasticsearch store
• _all
• _source
• store
• fields (multi-field)
• index_options
• term_vector

More Related Content

What's hot (20)

PDF
[215]네이버콘텐츠통계서비스소개 김기영
NAVER D2
 
PDF
파이어베이스 네이버 밋업발표
NAVER D2
 
PPTX
Fundamental of ELK Stack
주표 홍
 
PPTX
자바가 디비와 사귀기 까지 벌어지는 일들
cho hyun jong
 
PDF
Elastic Search (엘라스틱서치) 입문
SeungHyun Eom
 
PDF
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
Matthew (정재화)
 
PDF
Inside node.js
Jeongsang Baek
 
PPTX
Logstash, ElasticSearch, Kibana
HyeonSeok Choi
 
PPTX
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
Dae Kim
 
PDF
[243]kaleido 노현걸
NAVER D2
 
PDF
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
Jeongsang Baek
 
PDF
Big query at GDG Korea Cloud meetup
Jude Kim
 
PDF
Aws발표자료 final
Gi Bong Kim
 
PPTX
Python 웹 프로그래밍
용 최
 
PDF
대용량 로그분석 Bigquery로 간단히 사용하기 (20170215 T아카데미)
Jaikwang Lee
 
PDF
Feature perf comp_v1
InfiniFlux Korea
 
PDF
Spark Day 2017@Seoul(Spark Bootcamp)
Sang-bae Lim
 
PDF
[236] 카카오의데이터파이프라인 윤도영
NAVER D2
 
PPTX
Presto
MK JUNG
 
PPTX
Introduction to Apache Tajo
Gruter
 
[215]네이버콘텐츠통계서비스소개 김기영
NAVER D2
 
파이어베이스 네이버 밋업발표
NAVER D2
 
Fundamental of ELK Stack
주표 홍
 
자바가 디비와 사귀기 까지 벌어지는 일들
cho hyun jong
 
Elastic Search (엘라스틱서치) 입문
SeungHyun Eom
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
Matthew (정재화)
 
Inside node.js
Jeongsang Baek
 
Logstash, ElasticSearch, Kibana
HyeonSeok Choi
 
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
Dae Kim
 
[243]kaleido 노현걸
NAVER D2
 
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
Jeongsang Baek
 
Big query at GDG Korea Cloud meetup
Jude Kim
 
Aws발표자료 final
Gi Bong Kim
 
Python 웹 프로그래밍
용 최
 
대용량 로그분석 Bigquery로 간단히 사용하기 (20170215 T아카데미)
Jaikwang Lee
 
Feature perf comp_v1
InfiniFlux Korea
 
Spark Day 2017@Seoul(Spark Bootcamp)
Sang-bae Lim
 
[236] 카카오의데이터파이프라인 윤도영
NAVER D2
 
Presto
MK JUNG
 
Introduction to Apache Tajo
Gruter
 

Similar to Elasticsearch Modeling - 정호욱 (10)

PPTX
elasticsearch
승우 백
 
PDF
Web Analytics at Scale with Elasticsearch @ naver.com - Part 1
Jungsu Heo
 
PDF
Elastic Stack & Data pipeline (1장)
Jongho Woo
 
PDF
Ch1 일래스틱서치 클러스터 시작
Minchul Jung
 
PPTX
elasticsearch_적용 및 활용_정리
Junyi Song
 
PPTX
Elasticsearch development case
일규 최
 
PPTX
검색엔진이 데이터를 다루는 법 김종민
종민 김
 
PDF
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화
BOAZ Bigdata
 
PPTX
20151022 elasticsearch 적용및활용_송준이_sds발표용
Junyi Song
 
PDF
정보검색과 Elasticsearch (크몽)
크몽
 
elasticsearch
승우 백
 
Web Analytics at Scale with Elasticsearch @ naver.com - Part 1
Jungsu Heo
 
Elastic Stack & Data pipeline (1장)
Jongho Woo
 
Ch1 일래스틱서치 클러스터 시작
Minchul Jung
 
elasticsearch_적용 및 활용_정리
Junyi Song
 
Elasticsearch development case
일규 최
 
검색엔진이 데이터를 다루는 법 김종민
종민 김
 
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화
BOAZ Bigdata
 
20151022 elasticsearch 적용및활용_송준이_sds발표용
Junyi Song
 
정보검색과 Elasticsearch (크몽)
크몽
 
Ad

More from NAVER D2 (20)

PDF
[211] 인공지능이 인공지능 챗봇을 만든다
NAVER D2
 
PDF
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
NAVER D2
 
PDF
[215] Druid로 쉽고 빠르게 데이터 분석하기
NAVER D2
 
PDF
[245]Papago Internals: 모델분석과 응용기술 개발
NAVER D2
 
PDF
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
NAVER D2
 
PDF
[235]Wikipedia-scale Q&A
NAVER D2
 
PDF
[244]로봇이 현실 세계에 대해 학습하도록 만들기
NAVER D2
 
PDF
[243] Deep Learning to help student’s Deep Learning
NAVER D2
 
PDF
[234]Fast & Accurate Data Annotation Pipeline for AI applications
NAVER D2
 
PDF
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
NAVER D2
 
PDF
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
NAVER D2
 
PDF
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
NAVER D2
 
PDF
[224]네이버 검색과 개인화
NAVER D2
 
PDF
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
NAVER D2
 
PDF
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
NAVER D2
 
PDF
[213] Fashion Visual Search
NAVER D2
 
PDF
[232] TensorRT를 활용한 딥러닝 Inference 최적화
NAVER D2
 
PDF
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
NAVER D2
 
PDF
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
NAVER D2
 
PDF
[223]기계독해 QA: 검색인가, NLP인가?
NAVER D2
 
[211] 인공지능이 인공지능 챗봇을 만든다
NAVER D2
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
NAVER D2
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
NAVER D2
 
[245]Papago Internals: 모델분석과 응용기술 개발
NAVER D2
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
NAVER D2
 
[235]Wikipedia-scale Q&A
NAVER D2
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
NAVER D2
 
[243] Deep Learning to help student’s Deep Learning
NAVER D2
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
NAVER D2
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
NAVER D2
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
NAVER D2
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
NAVER D2
 
[224]네이버 검색과 개인화
NAVER D2
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
NAVER D2
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
NAVER D2
 
[213] Fashion Visual Search
NAVER D2
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
NAVER D2
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
NAVER D2
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
NAVER D2
 
[223]기계독해 QA: 검색인가, NLP인가?
NAVER D2
 
Ad

Elasticsearch Modeling - 정호욱

  • 2. 정호욱 • 미미박스 검색개발팀 리더 • [실무 예제로 배우는 Elasticsearch 검색엔진 – 활용편] / 한빛미디어 • [실무 예제로 배우는 Elasticsearch 검색엔진 – 기본편] / 한빛 미디어 • Elasticsearch 성능 최적화 / DeView 2014 • [Meetup] 이커머스 스타트업에서 검색 인프라 구축하기 – 2016.03.31 • [Meetup] Elasticsearch on Apache Tajo – 2015.06.04
  • 4. Modeling • Elasticsearch cluster. • Elasticsearch node. • Elasticsearch index. • Elasticsearch shard. • Elasticsearch document. • Elasticsearch store.
  • 5. Elasticsearch cluster • Single cluster 구성을 추천 합니다. • Cluster = Classification = Category • Cluster HA(High Availability) 구성이 필요한가요? • Multiple clusters 구성이 필요한가요? • Tribe 노드를 활용하세요.
  • 6. Elasticsearch node • Master node는 꼭 HA 구성을 해주세요. • 서비스 특성을 먼저 파악해 주세요. • 검색 질의가 많나요? • 집합 질의가 많나요? • 벌크 색인이 많나요? • 데이터에 대한 변경이 많나요? • Data node는 검색과 색인 용도에 따라 검토해 주세요. • Preference를 활용하세요. • Box type(hot/warm)을 활용하세요.
  • 7. Elasticsearch index • Time series data ? non-time series data ? • Index split ? or type split ? • Index template 을 활용하세요.
  • 8. Elasticsearch shard • 색인이 중요? 검색질의가 중요? 또는 둘 다 중요? • 장비 스펙이 중요합니다. • Core 크기는 얼마나 되나요? • Data node는 몇 개 인가요? • Primary shard는 기본 색인 성능과 관계가 있습니다. • Replica shard는 기본 검색 질의 성능과 관계가 있습니다. • Shard 하나에 배치 시킬 문서 수와 shard 하나의 크기에 대한 평가를 합니다. • Routing을 활용하세요. • Replica를 활용하세요.
  • 9. Elasticsearch document • 문서 하나의 크기에 대한 평가를 합니다. • Denormalization 작업이 중요합니다. • Field에 대한 정의가 중요 합니다. • 검색 대상 필드인가요? • Exact or full text search • 정렬 대상 필드인가요? • 강조 대상 필드인가요? • 집합 대상 필드인가요? • 저장 대상 필드인가요?
  • 10. Elasticsearch store • _all • _source • store • fields (multi-field) • index_options • term_vector