ݺߣ

ݺߣShare a Scribd company logo
엘라스틱 서치 세미나
엘라스틱 서치란
엘라스틱 서치란
아파치 Lucene를 바탕으로 개발된 분산 검색엔진
RESTful 웹 인터페이스를 가지고 있음
JSON을 통해 데이터를 주고 받음.
엘라스틱 서치
엘라스틱 서치란
클러스트
엘라스틱서치 시스템의 가장 큰 단위
하나의 클러스터는 다수의 노드로 구성
하나의 클러스터를 다수의 서버에 바인딩 할 수 있음.
역으로 하나의 서버에 다수의 클러스터를 운영할 수 있음
엘라스틱 서치란
노드
엘라스틱 서치를 구성하는 하나의 프로세스 단위
다수의 샤드로 구성됨
같은 클러스터 명을 가지면 자동으로 바인딩 됨
노드마다 역할을 나눌 수 있으며, 역할에는 master, data, ingest, tribe가 있다.
마스터 노드에 문제가 생기면 다른 노드가 그 역할을 대신 한다.
엘라스틱 서치란
샤드, 레플리카
샤드는 데이터 검색의 단위 인스턴스이다.
기본적으로 하나의 index는 5개의 샤드를 가진다.
5개의 샤드는 Primary 샤드가 되서 index를 나눠 가진다.
Primary 샤드에 문제가 생기면 레플리카 샤드가 자리를 대신한다.
Primaty 샤드와 레플리카 샤드는 절대 같은 노드에 존재 하지 않는다.
get, search 시 index에 속한 샤드들이 분산 처리 한다.
엘라스틱 서치 특징
엘라스틱 서치 특징
아파치 Lucene(루씬)
자바로 개발된 검색 라이브러리
(최신 엘라스틱 서치에서는 1.8버전을 사용)
엘라스틱 서치, 솔라등에 기반이 됨
엘라스틱 서치 특징
실시간 분석
저장된 데이터는 별도의 재시작이나 상태의 갱신이 필요 없이
색인 작업이 완료되면 바로 검색에 이용된다.
분산 시스템
여러 개의 노드로 구성됨.
시스템의 규모가 커지면 새 노드를 연결해 확장 할 수 있음.
엘라스틱 서치 특징
색인(indexing)
데이터를 검색할 수 있는 구조로 저장하기 위해 행하는 작업.
입력된 텍스트를 토큰으로 변환해 역파일 색인 구조로 저장.
엘라스틱 서치 특징
RESTful API, JSON
모든 데이터 통신은 RESTful API와 JSON으로 이루어짐.
PAINLESS 라는 스크립트를 통해 쿼리에 간단한 제어구조를 만들 수 있음.
엘라스틱 서치 특징
Elastic search VS RDB
Elasticsearch VS RDB
엘라스틱 서치 스택
엘라스틱 서치 스택
ELK
엘라스틱 서치 스택
ELK
엘라스틱 서치 스택
ELK
데이터 수집, 분석, 시각화를 자동화 하는 스택.
로그를 분석하여 보여주는 대시보드용으로 많이 쓰이는 듯함.
엘라스틱 서치 스택
로그스태시(Logstash)
데이터 인풋을 정해진 규칙으로 가공하여 아웃풋을 전달.
다양한 종류의 데이터를 받을 수 있다.
아직 어떻게 쓰는지는 잘 모름…
엘라스틱 서치 불편한 점
엘라스틱 서치 불편한 점
매핑 변경 불가.
한번 정해진 매핑은 추가, 변경, 삭제가 불가 하다.
공식 문서에서도 꼼수를 제공하지만 실제 매핑이 변경되는 것은 아니다.
Mysql에서 컬럼의 자료형을 추가, 삭제 하거나 자료형을 자유자재로
변경 하는 것 처럼 할 수 없다.
엘라스틱 서치 불편한 점
Nested Field에 직접 쿼리 불가
하이라이트 된 부분이 Nested Field.
Comment에 대한 쿼리는 단독으로 수행 할 수 없다.
Comment에 대한 결과도 단독으로 받아 볼 수 없다.
하위 document와 상위 document가 분리 될 필요가
있을 경우에는 Parent, Child를 통해 가능하다.
Parent, Child 관계의 경우에도 1:1 관계만 가능하다.
엘라스틱 서치 활용
엘라스틱 서치 활용
Elastic search + Express + Rxjs
/game?
id=1234
sourgrape/
game/
1234
Promise
result
(async)
subscribe
res.json( result );
끝!

More Related Content

What's hot (20)

Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
Ismaeel Enjreny
Introduction à ElasticSearchIntroduction à ElasticSearch
Introduction à ElasticSearch
Fadel Chafai
Elastic search overview
Elastic search overviewElastic search overview
Elastic search overview
ABC Talks
Rank Your Results with PostgreSQL Full Text Search (from PGConf2015)
Rank Your Results with PostgreSQL Full Text Search (from PGConf2015)Rank Your Results with PostgreSQL Full Text Search (from PGConf2015)
Rank Your Results with PostgreSQL Full Text Search (from PGConf2015)
Jamey Hanson
Designing ETL Pipelines with Structured Streaming and Delta Lake—How to Archi...
Designing ETL Pipelines with Structured Streaming and Delta Lake—How to Archi...Designing ETL Pipelines with Structured Streaming and Delta Lake—How to Archi...
Designing ETL Pipelines with Structured Streaming and Delta Lake—How to Archi...
Databricks
Elasticsearch Introduction
Elasticsearch IntroductionElasticsearch Introduction
Elasticsearch Introduction
Roopendra Vishwakarma
ElasticSearch Basic Introduction
ElasticSearch Basic IntroductionElasticSearch Basic Introduction
ElasticSearch Basic Introduction
Mayur Rathod
Spark sql
Spark sqlSpark sql
Spark sql
Zahra Eskandari
Introducing DataFrames in Spark for Large Scale Data Science
Introducing DataFrames in Spark for Large Scale Data ScienceIntroducing DataFrames in Spark for Large Scale Data Science
Introducing DataFrames in Spark for Large Scale Data Science
Databricks
SparkSQL: A Compiler from Queries to RDDs
SparkSQL: A Compiler from Queries to RDDsSparkSQL: A Compiler from Queries to RDDs
SparkSQL: A Compiler from Queries to RDDs
Databricks
quick intro to elastic search
quick intro to elastic search quick intro to elastic search
quick intro to elastic search
medcl
How to Extend Apache Spark with Customized Optimizations
How to Extend Apache Spark with Customized OptimizationsHow to Extend Apache Spark with Customized Optimizations
How to Extend Apache Spark with Customized Optimizations
Databricks
Deep Dive Into Elasticsearch
Deep Dive Into ElasticsearchDeep Dive Into Elasticsearch
Deep Dive Into Elasticsearch
Knoldus Inc.
SPARQL 사용법
SPARQL 사용법SPARQL 사용법
SPARQL 사용법
홍수 허
Elasticsearch presentation 1
Elasticsearch presentation 1Elasticsearch presentation 1
Elasticsearch presentation 1
Maruf Hassan
An Introduction to Elastic Search.
An Introduction to Elastic Search.An Introduction to Elastic Search.
An Introduction to Elastic Search.
Jurriaan Persyn
Don’t optimize my queries, optimize my data!
Don’t optimize my queries, optimize my data!Don’t optimize my queries, optimize my data!
Don’t optimize my queries, optimize my data!
Julian Hyde
Extending Apache Spark SQL Data Source APIs with Join Push Down with Ioana De...
Extending Apache Spark SQL Data Source APIs with Join Push Down with Ioana De...Extending Apache Spark SQL Data Source APIs with Join Push Down with Ioana De...
Extending Apache Spark SQL Data Source APIs with Join Push Down with Ioana De...
Databricks
검색 서비스 간략 교육
검색 서비스 간략 교육 검색 서비스 간략 교육
검색 서비스 간략 교육
Rjs Ryu
Comparing Search Engines
Comparing Search EnginesComparing Search Engines
Comparing Search Engines
Melissa Brisbin
Introduction à ElasticSearchIntroduction à ElasticSearch
Introduction à ElasticSearch
Fadel Chafai
Elastic search overview
Elastic search overviewElastic search overview
Elastic search overview
ABC Talks
Rank Your Results with PostgreSQL Full Text Search (from PGConf2015)
Rank Your Results with PostgreSQL Full Text Search (from PGConf2015)Rank Your Results with PostgreSQL Full Text Search (from PGConf2015)
Rank Your Results with PostgreSQL Full Text Search (from PGConf2015)
Jamey Hanson
Designing ETL Pipelines with Structured Streaming and Delta Lake—How to Archi...
Designing ETL Pipelines with Structured Streaming and Delta Lake—How to Archi...Designing ETL Pipelines with Structured Streaming and Delta Lake—How to Archi...
Designing ETL Pipelines with Structured Streaming and Delta Lake—How to Archi...
Databricks
ElasticSearch Basic Introduction
ElasticSearch Basic IntroductionElasticSearch Basic Introduction
ElasticSearch Basic Introduction
Mayur Rathod
Introducing DataFrames in Spark for Large Scale Data Science
Introducing DataFrames in Spark for Large Scale Data ScienceIntroducing DataFrames in Spark for Large Scale Data Science
Introducing DataFrames in Spark for Large Scale Data Science
Databricks
SparkSQL: A Compiler from Queries to RDDs
SparkSQL: A Compiler from Queries to RDDsSparkSQL: A Compiler from Queries to RDDs
SparkSQL: A Compiler from Queries to RDDs
Databricks
quick intro to elastic search
quick intro to elastic search quick intro to elastic search
quick intro to elastic search
medcl
How to Extend Apache Spark with Customized Optimizations
How to Extend Apache Spark with Customized OptimizationsHow to Extend Apache Spark with Customized Optimizations
How to Extend Apache Spark with Customized Optimizations
Databricks
Deep Dive Into Elasticsearch
Deep Dive Into ElasticsearchDeep Dive Into Elasticsearch
Deep Dive Into Elasticsearch
Knoldus Inc.
Elasticsearch presentation 1
Elasticsearch presentation 1Elasticsearch presentation 1
Elasticsearch presentation 1
Maruf Hassan
An Introduction to Elastic Search.
An Introduction to Elastic Search.An Introduction to Elastic Search.
An Introduction to Elastic Search.
Jurriaan Persyn
Don’t optimize my queries, optimize my data!
Don’t optimize my queries, optimize my data!Don’t optimize my queries, optimize my data!
Don’t optimize my queries, optimize my data!
Julian Hyde
Extending Apache Spark SQL Data Source APIs with Join Push Down with Ioana De...
Extending Apache Spark SQL Data Source APIs with Join Push Down with Ioana De...Extending Apache Spark SQL Data Source APIs with Join Push Down with Ioana De...
Extending Apache Spark SQL Data Source APIs with Join Push Down with Ioana De...
Databricks
검색 서비스 간략 교육
검색 서비스 간략 교육 검색 서비스 간략 교육
검색 서비스 간략 교육
Rjs Ryu

Similar to 엘라스틱 서치 세미나 (13)

elasticsearch
elasticsearchelasticsearch
elasticsearch
승우 백
Elastic Stack & Data pipeline (1장)
Elastic Stack & Data pipeline (1장)Elastic Stack & Data pipeline (1장)
Elastic Stack & Data pipeline (1장)
Jongho Woo
2016년 인문정보학 Sql세미나 1/3
2016년 인문정보학 Sql세미나 1/32016년 인문정보학 Sql세미나 1/3
2016년 인문정보학 Sql세미나 1/3
in2acous
1 mysql아키텍쳐 v1
1 mysql아키텍쳐 v11 mysql아키텍쳐 v1
1 mysql아키텍쳐 v1
resoliwan
자바로 배우는 자료구조
자바로 배우는 자료구조자바로 배우는 자료구조
자바로 배우는 자료구조
중선 곽
Fundamental of ELK Stack
Fundamental of ELK StackFundamental of ELK Stack
Fundamental of ELK Stack
주표 홍
MANTL을 MANTL답게! ELK로 만들어갑니다
MANTL을 MANTL답게! ELK로 만들어갑니다MANTL을 MANTL답게! ELK로 만들어갑니다
MANTL을 MANTL답게! ELK로 만들어갑니다
CiscoKorea
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Web Services Korea
Elasticsearch development case
Elasticsearch development caseElasticsearch development case
Elasticsearch development case
일규 최
오라클 DB 아키텍처와 튜닝
오라클 DB 아키텍처와 튜닝오라클 DB 아키텍처와 튜닝
오라클 DB 아키텍처와 튜닝
철민 권
NoSQL 간단한 소개
NoSQL 간단한 소개NoSQL 간단한 소개
NoSQL 간단한 소개
Wonchang Song
Ch1 일래스틱서치 클러스터 시작
Ch1 일래스틱서치 클러스터 시작Ch1 일래스틱서치 클러스터 시작
Ch1 일래스틱서치 클러스터 시작
Minchul Jung
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화
BOAZ Bigdata
Elastic Stack & Data pipeline (1장)
Elastic Stack & Data pipeline (1장)Elastic Stack & Data pipeline (1장)
Elastic Stack & Data pipeline (1장)
Jongho Woo
2016년 인문정보학 Sql세미나 1/3
2016년 인문정보학 Sql세미나 1/32016년 인문정보학 Sql세미나 1/3
2016년 인문정보학 Sql세미나 1/3
in2acous
1 mysql아키텍쳐 v1
1 mysql아키텍쳐 v11 mysql아키텍쳐 v1
1 mysql아키텍쳐 v1
resoliwan
자바로 배우는 자료구조
자바로 배우는 자료구조자바로 배우는 자료구조
자바로 배우는 자료구조
중선 곽
Fundamental of ELK Stack
Fundamental of ELK StackFundamental of ELK Stack
Fundamental of ELK Stack
주표 홍
MANTL을 MANTL답게! ELK로 만들어갑니다
MANTL을 MANTL답게! ELK로 만들어갑니다MANTL을 MANTL답게! ELK로 만들어갑니다
MANTL을 MANTL답게! ELK로 만들어갑니다
CiscoKorea
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Web Services Korea
Elasticsearch development case
Elasticsearch development caseElasticsearch development case
Elasticsearch development case
일규 최
오라클 DB 아키텍처와 튜닝
오라클 DB 아키텍처와 튜닝오라클 DB 아키텍처와 튜닝
오라클 DB 아키텍처와 튜닝
철민 권
Ch1 일래스틱서치 클러스터 시작
Ch1 일래스틱서치 클러스터 시작Ch1 일래스틱서치 클러스터 시작
Ch1 일래스틱서치 클러스터 시작
Minchul Jung
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화
BOAZ Bigdata

More from 종현 김 (9)

Software Engineering and DDD
Software Engineering and DDDSoftware Engineering and DDD
Software Engineering and DDD
종현 김
Angular vs react
Angular vs reactAngular vs react
Angular vs react
종현 김
Image classification
Image classificationImage classification
Image classification
종현 김
Pwa ppt
Pwa pptPwa ppt
Pwa ppt
종현 김
Travis ci ppt
Travis ci pptTravis ci ppt
Travis ci ppt
종현 김
Gitflow ppt
Gitflow pptGitflow ppt
Gitflow ppt
종현 김
330 booking system
330 booking system330 booking system
330 booking system
종현 김
angular 세미나
angular 세미나angular 세미나
angular 세미나
종현 김
Sourgrape 주제 제안
Sourgrape 주제 제안Sourgrape 주제 제안
Sourgrape 주제 제안
종현 김

엘라스틱 서치 세미나