본문 바로가기
공부/Database

[Database] InfluxDB 개념 및 설치

by 웅대 2023. 8. 29.
728x90
반응형

시계열 데이터베이스 (TSDB)

 

데이터베이스에는 여러 종류가 존재하는데 그 중 InfluxDB의 경우 시계열 데이터베이스(time series database), 즉 TSDB의 일종이다.

 

TSDB는 하나 이상의 시간과 하나 이상의 값을 통해 시계열을 저장하는 데이터베이스이다.

 

그렇다면 TSDB는 어떠한 특성을 가지고 있을까?

 

TSDB는 시간의 흐름에 따라 수집된 데이터를 저장, 집계 및 조회 하는데 특화된 데이터베이스이다.

 

물론 관계형 데이터베이스를 사용하는 것도 가능하지만 TSDB는 시계열을 다루는데 특화된 데이터베이스이기 때문에 시계열을 중점적으로 다룬다면 TSDB를 선택하는 편이 좋다.

 

TSDB는 주식처럼 시간의 흐름에 따라 데이터를 저장하기 때문에 한 번 저장되고 나면 값이 바뀌지 않는 데이터 처리에 용이하다.

 

특정 시간에 기록된 주가는 이미 지나간 사실이기 때문에 값이 바뀔 일이 없다.

 

InfluxDB

InfluxDB는 인플럭스데이터에서 개발한 TSDB로 TSDB 중 1위를 차지하고 있다.

간단히 용어 및 구조를 알아보자.

 

우선 기본적인 데이터베이스에 저장된 데이터는 다음과 같은 형식이다.

https://docs.influxdata.com/influxdb/v1.8/concepts/key_concepts/#database

이제 기본적인 용어를 알아보자.

메저먼트(measurement) 구성 요소

 

InfluxDB는 TSDB이기 때문에 time이라는 컬럼을 반드시 포함하고 있다.

 

time을 제외하면 4개의 컬럼을 확인할 수 있다.

 

그 중 butterflies와 honeybees 컬럼부터 확인해보자.

 

이 컬럼 이름을 필드 키(field key)라고 하며 컬럼 값을 필드 값(field value)라고 한다.

 

필드 값은 여러 타입을 가질 수 있지만 필드 키는 문자열이다.

 

이제 나머지 두 location, scientist 컬럼을 확인해보자.

 

이 두 컬럼 이름을 태그 키(tag key)라고 하며 컬럼 값을 태그 값(tag value)라고 한다.

 

필드의 경우 인덱싱이 되지 않기 때문에 필드를 기준으로 검색하려면 모든 데이터를 검색한다.

 

그에 비해 태그는 인덱싱이 되기 때문에 검색에 용이하다.

 

그리고 태그 값의 경우 String 타입만 취급을 하며 필드 값의 경우 String, Float, Integer, Boolean 등의 타입을 취급한다.

 

메저먼트(measurement)는 time, field, tag를 가지고 있는 컨테이너이고 데이터베이스를 설정할 수 있는 retention policy를 가진다.

 

이 retention policy를 통해 고가용성으로 구성할 수도 있다.

반응형

시리즈(series)

시리즈는 메저먼트(measurement), 태그 셋(tag set), 필드 키(field key)를 공유하는 포인트(point)들의 집합이다.

 

https://docs.influxdata.com/influxdb/v1.8/concepts/key_concepts/#database

InfluxDB 사용법

 

이제 windows에서 InfluxDB를 설치하고 간단한 사용법을 알아볼 예정이다.

 

아래 주소로 접속한다.

https://portal.influxdata.com/downloads/

 

Downloads

Telegraf open source data collector Telegraf is a plugin-driven server agent for collecting and sending metrics and events from databases, systems, and IoT sensors. Telegraf is written in Go and compiles into a single binary with no external dependencies,

portal.influxdata.com

InfluxDB에서 Platform을 Windows로 선택한다.

 

그러면 아래와 같이 명령어가 나올텐데 관리자 권한으로 실행한 powershell에서 해당 명령어를 한 줄씩 입력한다.

그 후 'C:\Program Files\InfluxData\influx'로 이동해서 powershell을 통해 influxd를 실행한다. 

 

influxd를 powershell에서 실행하는 명령어는 다음과 같다.

start influxd.exe

창이 하나 뜰텐데 influxDB를 사용하기 위해서는 이 창이 계속 떠있어야 한다.

 

influxd.exe를 실행하고나서 localhost:8086으로 접속하면 influxDB 설정을 할 수 있다.

 

localhost:8086으로 접속 후 get started를 누르고 설정을 한다.

세팅을 완료하면 아래처럼 관리자 토큰을 받을 수 있다 잘 복사해두자.

보안을 위해서는 관리자 토큰을 직접 사용하기 보다는 All-Access token을 생성해서 사용하는 편이 좋다고 한다.

 

CLI를 통해 influxDB에 접근하려면 아래 주소에서 influx CLI를 설치한다.

https://docs.influxdata.com/influxdb/v2.7/tools/influx-cli/?t=Windows 

 

Install and use the influx CLI | InfluxDB OSS 2.7 Documentation

Thank you for your feedback! Let us know what we can do better:

docs.influxdata.com

Windows에서 influx CLI를 다운받는다.

압축을 해제하면 influx.exe를 확인할 수 있다.

 

influx CLI를 사용하기 전에 influx config를 세팅하자.

 

influx config를 세팅하면 명령어를 입력할 때마다 전송해야하는 정보를 스킵할 수 있다.

 

localhost:8086에서 세팅했던 정보를 바탕으로 다음 명령어를 입력한다,.

 

influx config create --config-name <config-name> --host-url http://localhost:8086 --org <your-org> --token <your-auth-token> --active

 

이제 influx.exe가 있는 경로로 이동을 해서 다음 명령어를 입력하면 influx CLI를 사용할 수 있다.

 

./influx v1 shell

 

데이터베이스를 확인하는 SHOW DATABASES를 입력해보자.

 

데이터베이스를 확인할 수 있다면 성공적으로 설치를 한 것이다.

 

다음 포스팅에서는 influxDB 명령어 및 사용법을 알아보려고 한다.

참고

https://docs.influxdata.com/influxdb/v1.8/concepts/key_concepts/#database

 

InfluxDB key concepts | InfluxDB OSS 1.8 Documentation

Thank you for your feedback! Let us know what we can do better:

docs.influxdata.com

https://gurumee92.tistory.com/192

 

[공식 문서 정리] InfluxDB 핵심 개념

InfluxDB 핵심 개념 InfluxDB 공식 문서를 토대로 만든 문서입니다. 아직 설치가 되지 않았다면, 여기를 클릭해서 설치를 먼저 진행해주세요. Contents 개요 Sample data Discussion 결론 개요 이번 장에서는 In

gurumee92.tistory.com

https://narup.tistory.com/169

 

[InfluxDB] 설치 및 사용법

[InfluxDB] 설치 및 사용 방법 1. InfluxDB란 TSDB(시계열 데이터베이스; Time Series Database)로 이루어진 데이터 베이스다. 시계열 데이터는 즉 시간과 값이 한 쌍을 이루는 데이터인데, 시간에 따라 순차적

narup.tistory.com

https://docs.influxdata.com/influxdb/v2.7/install/

 

Install InfluxDB | InfluxDB OSS 2.7 Documentation

Thank you for your feedback! Let us know what we can do better:

docs.influxdata.com

 

728x90
반응형

댓글