본문 바로가기
database

[TSDB/InfluxDB] 시계열 데이터베이스 InfluxDB 설치하기

by moonsiri 2022. 11. 14.
728x90
반응형

시계열 데이터베이스(TSDB, Time Series Database)

Time-Stamped Data라고도 불리는 Time Series Data(시계열 데이터)는 시간에 따라 저장된 데이터를 의미합니다. 시계열 데이터들은 동일한 소스로부터 시간이 지남에 따라 만들어진 데이터들로 구성되므로 시간 경과에 따른 변화를 추적하는데 용이합니다.

이러한 시계열 데이터를 처리하기 위해 최적화된 데이터베이스를 시계열 데이터베이스(TSDB, Time Series Database)라고 하며, 빠르고 정확하게 실시간으로 쌓이는 대규모 데이터들을 처리할 수 있도록 고안되었습니다. TSDB는 데이터들과 시간이 함께 저장하는데, 이를 통해 시간의 흐름에 따라 데이터를 분석하기에 매우 용이합니다. 주로 INSERT와 SELECT에 최적화되어있어 DELETE나 UPDATE에 대한 기능이 제한됩니다.

 

InfluxDB

InfluxDB란 많은 쓰기 작업과 쿼리 부하를 처리하기 위해 2013년에 Go 언어로 개발된 오픈소스 Time Series Database(시계열 데이터베이스)로써 Tick Stack(Telegraf + InfluxDB + Chronograf + Kapacitor)의 필수 컴포넌트 중 하나입니다.

Telegraf 데이터 수집
InfluxDB 데이터 저장
Chronograf 데이터 시각화
Kapacitor 이벤트 감지, 알림

 

InfluxDB는 많은 TSDB들(Prometheus, TimescaleDB, Graphite 등) 중에서 가장 유명하고 많이 사용되는 데이터베이스입니다.

 

시간에 따른 데이터의 삽입과 조회가 목적임으로 직접 삭제 하지 않지만, 데이터가 계속해서 쌓이면 저장 공간 및 처리 속도 등에 문제가 생기므로 데이터를 자동으로 삭제해주는 Retention Policy(보존 정책)을 지원합니다. default 정책은 보존 기간이 무제한인 autogen 이므로 별도의 설정으로 오래된 데이터들을 관리하는 작업이 필요합니다.

 

RDB와의 대표적인 구조 비교는 다음과 같습니다.

RDB InfluxDB
Table Measurement
Column Key
Indexed Column Tag Key (String Only)
Unindexed Column Field Key
Row Point

https://docs.influxdata.com/influxdb/v2.0/reference/glossary/

 

 

InfluxDB 설치

우선 /etc/yum.repos.d/ 경로에 influxdb.repo 파일을 생성합니다.

$ sudo vi influxdb.repo
[influxdb]
name = InfluxDB Repository -RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key

 

 

그다음엔 yum으로 influxdb 패키지를 설치합니다.

그냥 influxdb 패키지를 install 하면 1.x 버전으로 설치가 되고, influxdb2 패키지로 install 하면 2.x 버전이 설치가 됩니다. influxDB 버전 1.x과 2.x의 큰 차이는 UI 존재 여부와 쿼리입니다. 1.x에서 지원하던 influxql이 2.x에서는 지원하지 않고, Database라고 하던 게 Bucket으로 바뀌었습니다.

버전 1.x 2.x
데이터베이스 명칭 database bucket
웹UI 미지원 지원
인증방식 id, password organization, token
쿼리 언어 influxQL Flux
스택 TICK TI(I에 CK가 통합됨)
보존 정책 Retention Policy Retention Period

버전 2를 설치해야 하는데 실수로 버전 1을 설치했다면, 버전 1을 삭제하고 다시 설치 바랍니다. 

 

[linux] yum으로 설치한 package 삭제하기 (yum uninstall 하기)

yum으로 install 한 package를 삭제하는 방법에 대해 알아보겠습니다. 우선 yum으로 설치된 package 목록을 확인합니다. # yum list installed | grep [package name] 설치한 package를 확인 했으면 이제 삭제를 하겠습

moonsiri.tistory.com

 

$ sudo yum install influxdb2

 

버전 확인

$ influxd version

 

설치가 완료되었으면 influxdb를 실행시킵니다.

$ sudo service influxdb start

 

InfluxDB UI 설정

http://localhost:8086으로 접속하면 influxDB에서 기본으로 제공하는 UI에 접근 가능합니다.

로그인에 사용할 Username(ID)와 Password를 설정합니다. 그리고 Organization과 Bucket 이름을 설정합니다.

 

QUICK START로 빠르게 시작합니다.

 

 

influxDB 기본 설정은 이만 마칩니다. 다음 포스팅에서는 SpringBoot에서 influxDB를 연동하여 사용하는 방법에 대해 알아보겠습니다.

 

 

[Reference]

https://docs.influxdata.com/influxdb/v2.5/

https://hamait.tistory.com/1120

https://mangkyu.tistory.com/190

728x90
반응형

댓글