Information Security ˗ˋˏ ♡ ˎˊ˗

OS/Database

[DBMS] InfluxDB 정의 및 사용법(with Docker)

토오쓰 2021. 6. 2. 17:44

InfluxDB

(TSDB, Time-series Database)

1. 정의

오픈소스 시계열 데이터베이스(TSDB)

Go 언어로 작성되었으며 운영 모니터링, 실시간 분석 등 분야에서 시계열 데이터의 고속의 고가용성(HA)의 저장 및 검색에 최적화되어 있다.

 

사용목적

사용자 ID, 게시글 등 관계형 데이터를 저장하는 것이 아니라 지속적으로 수집되는 값들을 시간의 차원에서 쉽게 다룰 수 있도록 한다.

 

특징

1) 오픈소스이다 보니 외부 의존성이 없으며, SQL 계열 언어를 제공하고 8086 포트를 리스닝한다.

2) Key-value 쌍으로 함께 묶으면 이를 태그셋(tagset)이라고 부르며 이를 통해 시리즈를 정의한다.

3) 모든 Row Time이라고 불리는 고유한 시간 값을 가진다.

4) Rest API 제공, 8086 포트를 통해 Rest API 사용할 있도록 Listen 상태로 설정한다.

 

용어정리

1) measurements

= 테이블이란 용어 대신에 사용하며 별도로 생성할 필요 없기 때문에 데이터를 insert하면 measurements 사용할  있다또한 컬럼이라는 이름 대신 '태그(Tag)' 라는 이름으로 데이터를 분류한다.

2) field key

= key 중에서 tag key를 제외한 나머지 key인데, 주로 측정된 값 데이터가 들어간다.

3) tag key

RDB에서 index key와 유사한 것으로 select문으로 조회할 때 기준이 된다. 항상 문자열 형태만 들어올 수 있기 때문에 따옴표로 감싸줘야 한다.

RDB InfluxDB
database database
table measurement
column key
PK or indexed column tag key (only string)
unindexed column
field key

 

 

2. 설치방법

* 설치대상: Ubuntu 20.4.1

1) Linux 시간대 설정

dpkg-reconfigure tzdata

2) Ubuntu Linux에 InfluxDB 패키지 다운로드

mkdir /downloads
cd /downloads
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.7.8_amd64.deb
dpkg -i influxdb_1.7.8_amd64.deb

 

3) 상태 확인하기

systemctl enable --now influxdb
systemctl status influxdb

4) DB 명령 연결

influx -precision rfc3339

 

https://techexpert.tips/ko/influxdb-ko/%EC%9A%B0%EB%B6%84%ED%88%AC-%EB%A6%AC%EB%88%85%EC%8A%A4%EC%97%90%EC%84%9C-influxdb-%EC%84%A4%EC%B9%98/

 

튜토리얼-Ubuntu Linux에서 InfluxDB 설치 [단계별]

5 분 이내에 Ubuntu Linux에 InfluxDB를 설치하는 방법을 배웁니다. 이 튜토리얼에서는 Ubuntu Linux에 InfluxDB를 설치하는 데 필요한 모든 단계를 알려줍니다.

techexpert.tips

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

 

 

 

3. 명령어

DB 생성

create database DB이름
use DB이름

 

show DB이름

 

데이터 삽입

필드 키 목록과 타임 키 사이에는 콤마를 사용하지 않는다. 

콤마 뒤에는 공백이 들어와서는 안된다.

insert testtest,company='company',region='SouthKorea' X=15,Y=29,Z=31

 

데이터 조회

show measurements

 

show series

series는 measurement와 tag key를 합쳐놓은 구조체라고 생각하면 된다.

 

select * from measurement 이름

 

measurement나 DB 삭제

drop measurement DB이름

 

 

참고

https://m.blog.naver.com/PostView.naver?blogId=alice_k106&logNo=221226137412&proxyReferer=https:%2F%2Fwww.google.com%2Fㄷㅌㅑㅅ

 

 

130. [InfluxDB] InfluxDB Quickstart 및 간단한 사용 방법 정리

이번 포스트에서는 시계열 데이터베이스의 대표격인 InfluxDB의 사용 방법에 대해서 다룬다. InfluxD...

blog.naver.com

https://foreverhappiness.tistory.com/60?category=825565