개요
시계열 데이터
현재 우리가 살아가는 환경에서는 시계열 데이터가 폭발적으로 존재한다.
여기서 말하는 시계열 데이터란, 다음의 특징을 가진다.
- 시간별로 구성된 값들의 집합
- 시간과 하나 이상의 속성으로 구성
- Line diagram으로 시각화할 수 있다.
시계열 데이터를 분석하기 위해 많은 기업들이 노력을 한다. 1s는 물론 1ns 또는 그 이하의 아주 짧은 시간 동안 생성되는 수많은 데이터를 분석하여 경향, 주기 등의 특성을 파악할 수 있다.
시계열 데이터베이스
- 시간 처리에 최적화 된 데이터베이스
- SQL 기반 시계열 질의 지원
- 빠른 데이터 입력 → 트랜잭션 지원 및 데이터 변경 불가
- 롤업 기능 지원
시계열 데이터베이스의 종류
- InfluxDB
- Kdb+
- Graphite
등이 존재하고, influxDB가 현재 가장 많이 쓰이고 있는 데이터베이스이다.
이번 학기에 진행하는 졸업 프로젝트에서도 influxDB를 사용할 예정이다.
InfluxDB란
- 빠른 쓰기 및 읽기가 가능한 오픈소스
- 시계열 데이터를 저장하는 NoSQL 형태의 데이터베이스
- Go, Java, Python, Node.js 등과 같은 클라이언트 지원
- Schemaless Design
- 플러그인 아키텍처 설계로 타사 제품과 통합하는데 용이
일반 DB와 용어 비교
RDEBMS | InfluxDB |
database | database |
table | measurement |
rows | points |
indexed columns | tags(string type only) |
unindexed columns | fileds |
Unix time
influxDB는 nanosecond단위의 unix time 값을 이용한다.
unix time이란?
- <1970년 1월 1일 00:00:00> 부터의 경과 시간을 초로 환산하여 정수로 나타낸 것
- ex. 1561681930 ( 2019-06-28T00:32:10Z)
예제 문법
show databases
데이터베이스 조회
create database exemDB
exemDB라는 데이터베이스 생성
use (database)
데이터베이스 선택
show (measurements)
선택한 데이터베이스 내의 measurements 조회
influx -precision rfc3339
읽기 쉬운 형태의 시간 표현으로 열기
Data Format
Line protocol을 사용해 data format을 정의한다.
- Measurement, Tag-set Field-set timestamp
- 하나의 행을 point라 부른다.
- Tag-set과 Field-set은 key=value 형태로 구성되며 여러 개 일 때 쉼표로 구분해서 나열
쉼표와 띄어쓰기를 굉장히 주의해야 한다!
tag는 string type만 가능하다. 따라서 문자열에 따옴표를 붙여주지 않아도 된다.
하지만, fieild는 다른 type도 가능하기 때문에 문자열에 따옴표를 붙여야 한다.
(예시)
soccer,name=son,team=tot city="london",age=28 1511783000000000000
- measurement: soccer
- tag: name, team
- field: city, age
백업
'exemDB' 데이터베이스를 /tmp/backup 디렉토리에 백업(디렉토리 없을 시 자동생성)
influxd backup -portable -database exemDB /tmp/backup
/tmp/backup 디렉토리에 있는 정보를 'exemDB' 데이터베이스명으로 복구
influxd restore -portable -db exemDB /backdup
참조
[엑셈 웨비나] 시계열 데이터베이스 'InfluxDB' - https://www.youtube.com/watch?v=a00l1GxJszM
'CS' 카테고리의 다른 글
HTTPS, SSL를 쉽게 알아보자 (천천히 읽으면 누구나 이해가능한,) (0) | 2022.05.22 |
---|---|
Elastic Stack: Elasticsearch, Kibana, Beats, Logstash (0) | 2022.05.07 |
테스트 주도 개발(TDD) 실전 스킬 웨비나 (라이엇 게임즈) (0) | 2021.07.20 |
Machine Learning Basic (0) | 2021.07.15 |
모바일 앱 (0) | 2021.06.23 |