Elasticsearch: EP1 - Elasticsearch란 무엇인가?
- Elasticsearch는 오픈소스이며, 데이터 처리 성능을 높이기 위해 서버를 수평 방향으로 추가할 수 있는 확장성을 갖춘 문헌 검색 엔진 입니다 🔍
- Elasticsearch는 Apache Lucene에 기반하며, 사용자는 Elasticsearch를 통해 Lucene을 활용합니다. 📖
- Elasticsearch는 기존 Elk Stack에서 사용되었던 Elasticsearch, Logstash, Kibana 대신, Beats와 Xpack과 같은 다른 도구들과 함께 사용되며, 많은 이들이 이를 Elastic Stack이라고 부르는 유행이 있습니다. 📊
- Elasticsearch는 멀티 노드 시스템으로 설계되어 많은 데이터 요청을 동시에 처리할 수 있으며, 검색 속도를 높입니다. ⚡
- Elasticsearch는 다양한 데이터 형식 (숫자, 텍스트, 날짜, geograpethic, 기타)을 지원합니다. 🏗️
- Elasticsearch의 기본 단위는 문서이며, 문서는 키-값 쌍으로 이루어진 JSON 형식으로 저장됩니다. 🗂️
- Elasticsearch는 데이터를 분리하고 저장하기 위해 shard와 replica를 사용합니다. Shard는 데이터를 여러 노드에 분산시키는 역할을 하고, replica는 데이터 보안을 위해 shards를 복사하는 역할을 합니다. ⛓️
- Elasticsearch는 검색 쿼리를 Lucene index로 변환하여 데이터를 검색하고, 검색 결과를 TF-IDF (Term Frequency-Inverse Document Frequency)와 같은 알고리즘을 사용하여 점수를 부여합니다. 🧲
- Elasticsearch는 실시간 검색을 지원하여 빠른 검색 결과를 제공합니다. 🚀
- Elasticsearch는 널리 사용되는 기술로 Netflix, eBay, Uber, LinkedIn, Slack 등 많은 기업에서 사용됩니다. 🌐