1 minute read

๊ฐ„๋‹จํ•œ ์‹œ์ž‘ ๊ธ€
log ๋ถ„์„์„ ํ•œ๋ฒˆ๋„ ํ•ด๋ณธ ์  ์—†์–ด์„œ ELK Stack์„ ์ด์ œ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹คโ€ฆ. ๐Ÿ˜ฐ
RDBS๋กœ๋งŒ ๋ถ„์„์„ ํ•ด์™€์„œ ๋„ˆ๋ชจ๋‚˜ ๋‹นํ™ฉ์Šค๋Ÿฌ์› ๋”ฐโ€ฆ. ๐Ÿ˜ฃ
๊ทธ๋ž˜๋„ ์ง€๊ธˆ์ด๋ผ๋„ ์•Œ๊ฒŒ ๋˜์–ด์„œ ๋‹คํ–‰์ด๊ตฌ, ์–ผ๋ฅธ ์ตํ˜€์„œ ๋กœ๊ทธ๋„ ๋ถ„์„ํ•ด๋ณด๊ณ  ์‹ถ๋‹ค ! ๐Ÿ˜‡ โœจ

What is ElasticSearch?

  • Apache Lucene ๊ธฐ๋ฐ˜์˜ ๊ฒ€์ƒ‰ ์—”์ง„, ์ž๋ฐ”๋กœ ๊ฐœ๋ฐœ ๋˜์–ด์ง.
  • text, ์ˆซ์ž, ์œ„์น˜ ๊ธฐ๋ฐ˜ ์ •๋ณด, ์ •ํ˜• ๋ฐ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ ๋“ฑ
  • ELK(Elasticsearch / Logstatsh / Kibana) Stack ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

Whatโ€™s different from RDBS?

1. Structure

Elastic Search RDBS
Index Database
Type Table
Document Row
Field Column
Mapping Schema

2. Command

Elastic Search RDBS CRUD
GET Select Read
PUT Update Update
POST Insert Create
DELETE Delete Delete

3. Example

Elastic Search RDBS
curl -XGET localhost:9200/classes/class/1 SELECT * FROM class WHERE id = 1;
curl -POST localhost:9200/classes/class/1 -H 'Content-Type: application/json' -d '{xxx}' INSERT INTO class values (xxx);
curl -XPUT localhost:9200/classes/class/1 -H 'Content-Type: application/json' -d '{xxx}' UPDATE class SET xxx WHERE id = 1;
curl -XDELETE localhost:9200/classes/class/1 DELETE FROM class WHERE id = 1;

Setting

1. Docker Setting

  • ๋„์ปค ์„ธํŒ…ํ•˜๊ธฐ
  • ์„ธํŒ…์ด ๋˜์–ด์žˆ๋Š” ์ƒํƒœ๋ผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด Ubuntu๋ฅผ ์‹คํ–‰ํ•˜์ž.
    docker exec -it ubuntu_18.04 /bin/bash
    

2. Run ElasticSearch

  • ElasticSearch๋Š” REST API ํ˜•์‹๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ
  • Linux curl ๋ช…๋ น์–ด์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ฏ€๋กœ prefix โ€œ-Xโ€๊ฐ€ ๋ถ™๋Š”๋‹ค.
    sudo service elasticsearch start
    curl -XGET localhost:9200
    

3. Stop ElasticSearch

sudo service elasticsearch stop