English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Elasticsearch는 Apache Lucene를 기반으로 한 검색 서버입니다. Shay Banon이 개발하였으며2010년에 출판되었습니다. 현재 Elasticsearch BV가 유지보수하고 있습니다. 그의 최신 버전은7.0.0.
Elasticsearch는 실시간 분산형 오픈 소스 전체 텍스트 검색 및 분석 엔진입니다. RESTful 웹 서비스 인터페이스를 통해 접근할 수 있으며, 모델 없는 JSON(JavaScript 객체 표현법) 문서를 사용하여 데이터를 저장할 수 있습니다. Java 프로그래밍 언어로 구축되었기 때문에 Elasticsearch는 다양한 플랫폼에서 실행될 수 있습니다. 이는 사용자가 대량의 데이터를 매우 빠르게 탐색할 수 있게 합니다.
Elasticsearch의 일반적인 특성은 다음과 같습니다-
Elasticsearch는 PB급의 구조화 및 비구조화 데이터까지 확장할 수 있습니다.
Elasticsearch는 MongoDB와 RavenDB와 같은 문서 저장소를 대체할 수 있습니다.
Elasticsearch는 검색 성능을 높이기 위해 비정규화를 사용합니다.
Elasticsearch는 인기 있는 기업 검색 엔진 중 하나로, 현재 Wikipedia, The Guardian, StackOverflow, GitHub 등 많은 대형 조직에서 사용하고 있습니다.
Elasticsearch는 Apache 라이선스 버전에서 사용할 수 있는 오픈 소스입니다.20에서 사용됩니다.
Elasticsearch의 주요 개념은 다음과 같습니다-
Elasticsearch의 단일 실행 인스턴스를 의미합니다. 단일 물리적 및 가상 서버는 그 물리적 자원(RAM, 저장 및 처리 능력 등)에 따라 여러 노드를 포함할 수 있습니다.
또는 여러 노드의 집합입니다. 클러스터는 모든 데이터에 대해 모든 노드를 통해 집단 인덱스와 검색 기능을 제공합니다.
다른 유형의 문서와 속성의 집합입니다. 인덱스는 성능을 높이기 위해 피스톤 개념을 사용합니다. 예를 들어, 일부 문서는 소셜 네트워크 애플리케이션의 데이터를 포함합니다.
JSON 형식으로 정의된 특정 방식의 필드 집합입니다. 각 문서는 특정 유형에 속하며, 인덱스 내에 위치합니다. 각 문서는 UID라고 불리는 유일한 식별자와 연결됩니다.
인덱스는 수평 방향으로 피스톤으로 분할됩니다. 이는 각 피스톤이 문서의 모든 속성을 포함하지만, 포함된 JSON 객체의 수는 인덱스보다 적다는 것을 의미합니다. 수평 분할은 피스톤을 독립적인 노드로 만들어 노드의 어느 곳에도 저장할 수 있습니다. 메인 피스톤은 인덱스의 원래 수평 부분이며, 이 메인 피스톤을 복제 피스톤으로 복제합니다.
Elasticsearch는 사용자가 인덱스와 피스톤의 복제를 생성할 수 있습니다. 복제는 실패가 발생할 때 데이터의可用성을 높이는 데 도움을 주며, 이 복제에서 병行的한 검색 작업을 수행하여 검색 성능을 높입니다.
Elasticsearch는 Java에서 개발되었기 때문에 거의 모든 플랫폼에서 호환됩니다.
Elasticsearch는 실시간입니다. 다시 말해, 한 분 후에 추가된 문서는 이 엔진에서 검색할 수 있습니다.
Elasticsearch는 분산형이므로 어떤 대형 조직에서든 쉽게 확장하고 통합할 수 있습니다.
gateway 개념을 사용하여 완전한 백업을 생성하는 것은 매우 간단합니다. 이 개념은 Elasticsearch에서 매우 일반적입니다.
Apache Solr과 비교하여 Elasticsearch에서 다중 렌탈러 처리는 매우 쉽습니다.
Elasticsearch는 응답으로 JSON 객체를 사용하여 많은 다른 프로그래밍 언어로 Elasticsearch 서버를 호출할 수 있습니다.
텍스트 렌더링을 지원하지 않는 문서 유형 외에 Elasticsearch는 거의 모든 문서 유형을 지원합니다.
의청과 응답 데이터 처리에 대해서는 Elasticsearch는 다국어 지원을 제공하지 않습니다(JSON에서만 사용 가능), Apache Solr와 다르며, 후자는 CSV, XML 및 JSON 형식을 지원합니다.
때로는 Elasticsearch에서 뇌절리는 문제가 발생할 수 있습니다.
Elasticsearch에서, 인덱스는 RDBMS(관계형 데이터베이스 관리 시스템)의 테이블과 유사합니다. 각 테이블은 행의 집합이며, 각 인덱스는 Elasticsearch에서의 문서의 집합입니다.
다음 표는 이 테르미널을 직접 비교합니다-
Elasticsearch | 관계형 데이터베이스 관리 시스템(RDBMS) |
---|---|
그룹 | 데이터베이스 |
스플릿 | 스플릿 |
인덱스 | 테이블 |
필드 | 열 |
문서 | 줄 |