본문 바로가기
  • ANALOG CODE
  • AnalogCode
DB

InfluxDB 종류 및 가격

by 아날로그코더 2023. 4. 28.
반응형

시계열 데이터(time series data)를 저장하는데 특화된 DB들이 많이 존재한다. 그중에서 InfluxDB를 선택한다면 알아야 될 InfluxDB 의 종류와 가격 정책에 대해 정리하여 본다. InfluxDB 종류에 따른 차이점을 알아보고 서비스에 사용할 적절한 타입을 선택하도록 하자.

 

 

InfluxDB 란?

InfluxData에서 Go언어로 개발한 오픈소스 시계열 데이터베이스 (time series database) 이다. 많은 양의 시계열 데이터를 빠르게 저장하고 실시간으로 분석하기 하기 위해 개발되었다. 시계열 데이터를 매우 간편하고 빠르게 시간을 기준으로 쿼리할 수 있으며 Python, Node.js, PHP, Java, Go, R, Ruby, Kotlin, C# 등 다양한 환경의 클라이언트 라이브러리가 제공된다. 또한 버전업이 계속 진행중이며, 버전별로 문서화가 체계적으로 잘 되어있다. 

  

 

InfluxDB 종류

InfluxDB는 아래와 같은 3가지 타입의 제품을 제공한다. 

  • InfluxDB OSS  (무료 버전)
  • InfluxDB Enterprise (On Premise 서비스)
  • InfluxDB Cloud (Cloud 서비스)

 

① InfluxDB OSS

InfluxDB Open Source 버전이다. 완전 무료이며 원하는 곳에 설치하여 사용 가능하다. 단, 무료 버전인만큼 클러스터링이 지원이 되지 않아서 DB 자체적으로 스케일아웃이 불가능하다.  따라서 HA(고가용성)이 보장되어야 하는 서비스에서는 OSS 버전을 사용하기에는 쉽지가 않다.

하지만 고가용성이 필요없는 서비스, 또는 개발단계나 교육용이 목적이라면 무료버전을 설치해서 사용하면 된다.

 

 

② InfluxDB Enterprise

On-premise 로 운영가능한 InfluxDB 클러스터이다.
연단위 구독 요금제이며, 서버 노드와 core 수에 따라 가격이 정해진다.

당연히 클러스터링을 지원하며 아래의 특징을 가진다.

 

  • High Availability
  • Horizon Scalability
  • 유저, 그룹 단위의 권한 제어
  • LDAP, OAuth 인증지원
  • 백업: 마지막 백업이후의 데이터만 백업 가능
  • 기술 지원
  • 다양한 인프라 지원 (AWS, Google Cloud, Microsoft Azure, IBM 등)
  • InfluxDB Insights 모니터링 서비스 연동 지원
     

 

③ InfluxDB Cloud

InfluxDB 완전 관리형 클라우드 서비스이다. 4가지의 가격 플랜이 있다.

  • Free Plan : 제한된 사용량을 가지고 influxDB를 학습할 수 있는 무료 플랜
  • Usage-Based Plan: 초기 상용화 버전에 사용할 수 있는 플랜. 사용량에 따른 비용 지불
  • Annual Plans: 더 많은 사용량을 위한 플랜
  • Dedicated: 싱글테넌트환경의 플랜
     

InfluxDB Cloud 가격 플랜 비교

  Free Plan Usage-Based Plan Annual Plans Dedicated
Fully managed O O O O
 서비스 환경 Serverless
Multi-tenant
Serverless,
Multi-tenant
Serverless,
Multi-tenant
Single-tenant
Uptime SLA
(서비스 수준 협약)
- - O O
가격 Free 사용량에 따라 과금 사용량에 따라 과금
협의 금액
연단위 정액
Writes 5MB / 5mins 300MB / 5mins  협의  없음
Queries - Data Read 300MB / 5mins 3000MB / 5mins  협의  없음
Data Retention 30 days 무제한 무제한 무제한
Cardinality 10,000 series 1,000,000 ~ 협의 없음
Bucket 2 무제한 무제한 무제한
Notification Rules 2 무제한 무제한 무제한
Organizations 1 3 20 N/A
Cloud Marketplace  - AWS
Google Cloud
Microsoft Azure
 협의  협의
End to end encryption O O O O
SAML/SSO
인증
 -  - O O
Private networking  -  -  - O
SOC 2 Type 2
보안인증
O O O O
ISO 27001
보안인증
O O O O

Free Plan은 InfluxDB를 테스트해보고 초기 개발단계에 사용하기 위한 플랜이다.

Usage-Based Plan부터는 상용서비스에 사용하고 내가 사용한만큼 계산되는 가격정책이지만, 사용량에 한계가 있어서 스케일이 커진다면 상위 단계의 플랜으로 업그레이드를 해야한다.

Annual Plan 부터는 본사와의 협의를 통해 가격이 결정된다고 보면 된다. 단 Annual Plan도 협의를 통한 할인이 가능한 것 뿐이지 사용량에 기반하여 비용이 측정된다.

Dedicated 는 클라우드에서 싱글테넌트 환경으로 서비스를 제공하는 가장 고객에게 집중하는 플랜이다.

서비스 단계 및 수준에 맞게 가격정책을 고르면 된다.

 

 



 
Usage-Based Plan 비용 계산

InfluxDB Cloud 는 4가지 항목에 대해 비용을 책정한다.

InfluxDB Cloud Usage-Based Plan

 

 

이에 기반하여 현재 서비스에 사용중인 데이터 트래픽을 가지고 비용을 계산해보았다. 

가격 정책 서비스 사용량 한달 비용 (30일)
Data In
$0.002/MB
11MB / minute 476200MB * 0.002 = $950
Data Out
$0.09/GB
8MB / minute 337.5GB * 0.09 = $30
Query Count
$0.01 per 100 query
1000 Query / minute 43200000 / 100 * 0.01 = $4320
Storage
$0.002/GB-hour
8GB  0.016 * 720 = $11
합계 $5311

 

계산 결과를 보고 깜짝 놀랐다. 데이터를 write하는 양과 쿼리하는 양이 많다보니 여기에서 가격이 상당이 많이 차지한다. Retention을 최대한 짧게 12시간으로 줄여서 스토리지 비용을 줄인다고 하더라도 스토리지 비중은 매우 작다. 

시계열데이터에 특화된 DB이다보니 아무래도 데이터를 저장하고 검색하는 것이 핵심이라 여기에 들어가는 비용에 중점을 두는 것 같다.

 


InfluxDB OSS 버전을 다운받아서 사용하면 무료로 사용가능하나 가장 큰 문제는 클러스터 구성을 할 수 없다는 점이다. DB에 문제가 생기면 바로 서비스 장애로 직결된다. 고가용성을 유지할 수 있게 자체적으로 서비스 구조를 설계하고 구축을 해야한다. 

 

소규모의 작은 서비스에서 InfluxDB에 많은 데이터를 처리하려고 하다보니 무료 vs 고가용성 사이에서 어려운 선택지가 발생한다.

 

 

 

반응형

댓글