티스토리 뷰

Elastic

Elasticsearch, RDBMS, NoSQL 비교

서보민 2021. 2. 8. 22:14

지금까지 RDBMS(MySQL, MariaDB, PostgreSQL), NoSQL(MongoDB, Redis)를 주로 사용한 입장에서 Elasticsearch를 처음 사용하다 보니 용어가 헷갈려 RDBMS, NoSQL를 비교하여 용어에 좀 더 친숙해 지기 위해 정리한다.

Elasticsearch, RDBMS 비교

ElasticsearchRDBMSMongoDB(NoSQL)

Mapping Schema Collection
Index Database Database
Type Table Collection
Document Row Document
Field Column Column

REST API의 CRUD와 Elasticsearch, RDBMS 비교

CRUDElasticsearchRDBMS

CREATE POST INSERT
READ GET SELECT
UPDATE PUT UPDATE
DELETE DELETE DELETE

Elasticsearch는 전체 텍스트 검색 엔진으로, 정확도 점수, 형태소 분석, 동의어 등과 같이 사용자가 기대할 수 있는 모든 기능을 갖추고 있으며, 수평적 확장성이 있는 분산된 문서 저장소이기 때문에 한 비트도 건너뛰지 않고 수십억 줄의 데이터를 처리할 수 있습니다. 이러한 Elastcisearch가 Elasticsearch는 6.3 릴리즈 버전부터 새로운 사용자, 데이터 분석가를 위해 SQL 지원을 시작하였다.

Elasticsearch SQL 블로그 글에 따르면 다음과 같이 사용할 수 있다.

 

 

POST _xpack/sql
{  
	"query":"DESCRIBE flights"
}

 

 

POST _xpack/sql?format=txt 
{  
	"query":"DESCRIBE flights"
}

 

POST _xpack/sql?format=txt
{  
	"query":"SELECT OriginCityName, DestCityName 
    			FROM flights 
    		 WHERE FlightTimeHour > 5 AND OriginCountry='US' 
             ORDER BY FlightTimeHour DESC 
             LIMIT 10"
}

 

elasticsearch CLI 사용법은 다음과 같다.

$ ./elasticsearch-sql-cli http://elastic@localhost:9200
$sql> DESCRIBE flights;
column     |     type
------------------+---------------
AvgTicketPrice   |REAL
Cancelled         |BOOLEAN
Carrier           |VARCHAR
Dest             |VARCHAR
DestAirportID     |VARCHAR
DestCityName     |VARCHAR
DestCountry       |VARCHAR
DestLocation     |OTHER
DestRegion       |VARCHAR
DestWeather       |VARCHAR
DistanceKilometers|REAL
...

REST 요청/응답은 JDBC 드라이버나 콘솔에 의해 동작하며, 대소문자를 구별한다.

X-pack 플러그인은 보통 인증에 많이 사용된다고 알고 있으나 REST요청을 보면 자원의 앞부분에서 _xpack을 사용하는 것을 보면 Elasticsearch SQL을 사용할 때도 X-pack이 사용되는 것으로 보인다. 6.3 릴리즈 버전 이후부터는 X-pack이 Elastic Stack을 설치하면 함께 설치된다고 한다.

'Elastic' 카테고리의 다른 글

Elasticsearch 시작하기  (0) 2021.03.10
Elasticsearch 란?  (0) 2021.02.28
ELK Stack 설치 (docker)  (0) 2021.02.15
ELK/Elastic Stack  (0) 2021.01.27
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함