Written by
최태열
on
on
Elastic Search 와 RDBMS의 차이
검색 시스템의 구성 요소
수집기
- 정보 수집
- 웹에서 필요한 정보를 수집하는 프로그램
- 크롤러, 스파이더, 웜, 웹로봇 등으로 나뉜다.
스토리지
- 수집한 데이터를 저장
- 데이터베이스에서 데이터를 저장하는 물리적인 저장소
- 색인한 데이터를 스토리지에 보관
색인기
- 수집한 데이터를 검색에 적절한 형태로 변환
- 다양한 형태소 분석기를 조합해 정보에서 의미 있는 용어를 추출 및 역색인 구조로 데이터 저장
검색기
- 색인된 데이터에서 일치하는 문서를 찾는 검색기
- 검색한 질의를 형태소 분석해 색인기로 저장한 데이터와 비교해 결과로 반환한다.
- 형태소 분석기에 따라 검색 품질이 달라진다.
관계형 데이터베이스와의 차이점
관계형 데이터베이스
- 데이터베이스는 데이터를 통합 관리하는 데이터 의 집합
- 저장되는 구조 • 중복을 제거 • 정형 데이터 구조화 • 행과 열로 구성 • 테이블 구조로 저장
- sql 문을 이용해 원하는 정보의 검색이 가능
- 텍스트 매칭을 통한 단순한 검색만 가능
- 텍스트를 여러 단어로 변형하거나 여러 개의 동의어나 유의어를 활용한 검색은 불가능
검색 엔진
- 데이터베이스에서는 불가능한 비정형 데이터를 색인하고 검색할 수 있음
- 형태소 분석을 통해 자연어처리 가능
- 역색인 구조를 바탕으로 빠른 검색 속도 보장
용어 비교
관계형 데이터베이스 | elastic search |
---|---|
Database | Index |
Table | Type |
Row | Document |
Column | Field |
Schema | Mapping |
Index | Everything is indexed |
SQL | Query DSL |
Discussion and feedback