Blog logo콜로리 블로그
개발 > 데이터
2달 전

시계열 데이터베이스 InfluxDB 사용해보기 - 1편 - 설치

Post thumbnailImage

서론

퀀트 프로그램을 만들다보면 시간 단위의 데이터 속성을 주로 만나게 된다.


데이터가 그리 많지 않다면 Mysql과 같은 RDBMS에 데이터를 밀어 넣어도 되지만,

분단위, 초단위의 데이터까지 저장하려다보면 데이터 사이즈도 커지고 RDBMS로는 한계에 부딪힌다.


몇년전에 시계열 DB 존재에 대해 알게되었으나 드디어 직접 써볼때인가 싶어서

이참에 InfluxDB를 검토해보기로 했다.





왜 InfluxDB인가?

시계열 DB 를 검색하면 대표적으로 몇가지 나오는 데이터베이스들이 있다.

InfluxDB, OpenTSDB, Postgresql & Timescale, AWS Timestream 등..



현재 니즈로는 쓰고있는 맥북에 데이터 저장해서 앱을 운영할 계획이기에,

무료로 직접 설치 가능하고 대중적인 것들을 찾다보니 최종적으로는 InfluxDB와 Postgresql에 Timescaledb 조합이 남게되었다.


Postgresql에 Timescale 익스텐션을 설치해서 사용하면 RDBMS와 결합하기도 좋을듯하였으나,

검색해보면 InfluxDB가 가장 많이 나오고 Postgresql 대비 시계열 DB의 특성을 더 느낄수 있을 듯 해서 선택하게 되었다.






InfluxDB 설치

InfluxDB는 오픈소스(OSS)와 클라우드, 온프레미스 3가지 환경으로 제공된다.


OSS는 무료로 직접 설치해서 사용하면 되는 반면 클러스터링 지원이 안된다는 단점이 있다.

하지만 나처럼 서비스 목적이 아닌 개인용도 혹은 공부 목적이라면 충분할듯 해서 OSS를 직접 맥북에 설치해서 사용해보기로했다.


InfluxDB는 OSS외에도 온프레미스와 클라우드 환경으로도 서비스되고 있다.

Pricing에서 얼추 계산해보니 쿼리 횟수에 대한 과금이 좀 높은것 같은데, 사용하려는 용도에 맞게 잘 선택하기를 바란다.




DB Server 설치

Downloads 페이지에 가서 버전과 플랫폼을 선택하면 그에 맞게 가이드가 나온다.

개인적으로 DB 환경은 Docker보다는 직접 설치하는 것을 선호하기에 'Mac OS (Homebrew)' 로 설치하기로 했다.


brew update
brew install influxdb



5초가 채 안걸린것 같은데 설치가 잘 되었나 확인해보자


influxd


위 명령어를 실행하면 DB 인스턴스가 실행이 되는데 http://localhost:8086 주소로 접속해서 정상적으로 화면이 뜨면 잘 설치된 것이다.





Influx CLI 설치

위에 설치한 Influxd는 데이터를 저장하고 운영되는 그릇인 서버이고, 서버를 조작할 CLI 설치가 필요하다.

Brew로 역시 쉽게 설치 가능하다

brew install influxdb-cli



CLI 명령어에 대한 매뉴얼(도움말)도 같이 설치해주자.


1. 매뉴얼 다운로드

curl -O https://dl.influxdata.com/influxdb/releases/influxdb2-client-2.7.3-darwin-amd64.tar.gz \
    --output-dir ~/Downloads



2. 압축 풀기

tar zxvf ~/Downloads/influxdb2-client-2.7.3-darwin-amd64.tar.gz \
  --directory ~/Downloads



3. /bin 디렉토리 하위로 복사

sudo cp ~/Downloads/influx /usr/local/bin/



4. CLI 설치 확인





자 이제 기본적인 설치가 마무리 되었다.

다음편에 이어서 기본 설정을 구성하고 쿼리를 다루어 보자.




다음 글 - 시계열 데이터베이스 InfluxDB 사용해보기 - 2편 - 설정


#시계열 DB#InfluxDB#데이터베이스