InfluxDB
1. 개요
InfluxDB는 와이 콤비네이터의 지원을 받아 Errplane이 개발한 오픈 소스 시계열 데이터베이스이다. 2013년에 시작되어, 2014년부터 여러 차례의 벤처 투자를 유치했으며, 2015년에는 InfluxData Inc.로 사명을 변경했다. InfluxDB는 자체 라인 프로토콜을 사용하며, HTTP, TCP, UDP를 통해 데이터를 수신한다. InfluxData는 InfluxDB 관련 기술 컨벤션인 InfluxDays를 개최하며, 기여자는 InfluxData Inc.에 기여 내용을 폐쇄 소스 라이선스로 라이선스할 수 있는 권한을 부여해야 한다.
| 이름 | InfluxDB |
|---|---|
| 개발사 | 인플럭스데이터 |
| 출시일 | 2013년 9월 24일 |
| 저장소 | 깃허브 저장소 |
| 프로그래밍 언어 | 러스트 |
| 운영 체제 | 크로스 플랫폼 |
| 장르 | 시계열 데이터베이스 |
| 라이선스 | MIT |
| 웹사이트 | 인플럭스데이터 공식 웹사이트 |
| 관련 서적 | The Art of Monitoring |
|---|
-
Go로 작성된 자유 소프트웨어 -
쿠버네티스
쿠버네티스는 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링, 관리하는 오픈 소스 시스템으로, 구글의 Borg 시스템에서 영감을 받아 설계되었으며 파드, 서비스 등의 기능을 제공하여 클라우드 네이티브 환경에서 중요한 역할을 한다. -
Go로 작성된 자유 소프트웨어 -
테라폼 (소프트웨어)
테라폼은 해시코프에서 개발한 IaC 도구로, 선언적 구성을 통해 클라우드 인프라 및 서비스를 관리하며, 라이선스 변경 후 OpenTofu 프로젝트로 포크되어 리눅스 재단의 지원을 받고 있다. -
시계열 소프트웨어 -
시계열 데이터베이스
시계열 데이터베이스는 시간 순서에 따라 기록된 데이터를 효율적으로 저장, 관리, 분석하기 위해 설계된 데이터베이스 시스템으로, 시간 기반 인덱싱, 높은 데이터 압축률, 데이터 보존 정책 등의 특징을 가지며 다양한 분야에서 활용된다. -
시계열 소프트웨어 -
Stata
Stata는 통계 분석, 데이터 관리, 그래프 작성 기능을 제공하는 통계 소프트웨어 패키지로, 다양한 운영체제 지원, 명령줄 및 그래픽 사용자 인터페이스 제공, 사회과학 및 자연과학 분야에서의 폭넓은 활용, 사용자 커뮤니티를 통한 확장 기능 지원 및 파이썬 연동을 특징으로 한다. -
MIT 라이선스 소프트웨어 -
MS-DOS
MS-DOS는 마이크로소프트가 개발한 개인용 컴퓨터용 디스크 운영 체제로, IBM PC의 표준 운영 체제로 널리 사용되었으며, 단일 작업 환경과 명령줄 인터페이스를 특징으로 한다. -
MIT 라이선스 소프트웨어 -
Zcash
Zcash는 존스 홉킨스 대학교 연구를 기반으로 개발된 익명성 강화 암호화폐로, zk-SNARK 영지식 증명을 통해 거래 당사자의 익명성을 보장하지만, 범죄 악용 우려와 규제 대상 가능성이 존재한다.
2. 역사
와이 콤비네이터의 지원을 받은 Errplane은 2013년 말 성능 모니터링 및 경보 처리를 위한 오픈 소스 프로젝트로서 InfluxDB를 개발하기 시작했다. 2014년 11월, Errplane은 메이필드 펀드와 트리니티 벤처스가 주도하는 8.1 시리즈 A 펀딩을 받았다. 2015년 말, Errplane은 공식적으로 사명을 InfluxData Inc.로 변경하였다. 2016년 9월에는 16의 시리즈 B 펀딩을 받았다. 2018년 2월, InfluxData는 사파이어 벤처스 주도의 35 시리즈 C 펀딩을 마무리했다.
2019년에는 60 규모의 추가 자금 유치를 공개했고, 2023년 2월에는 81 규모의 시리즈 E 자금 유치를 완료했다.
2.1. 초기 자금 조달 (2014-2016)
와이 콤비네이터의 지원을 받은 Errplane은 2013년 말 성능 모니터링 및 경보 처리를 위한 오픈 소스 프로젝트로서 InfluxDB를 개발하기 시작했다. 2014년 11월, Errplane은 메이필드 펀드와 트리니티 벤처스가 주도하는 8.1 규모의 시리즈 A 자금 조달에 성공했다. 2015년 말, Errplane은 공식적으로 사명을 InfluxData Inc.로 변경했다. InfluxData는 2016년 9월 16 규모의 시리즈 B 펀딩 라운드를 유치했다.
2.2. 지속적인 성장과 확장 (2018-현재)
와이 콤비네이터(Y Combinator)의 지원을 받은 Errplane은 2018년 이전에 이미 InfluxDB 개발을 시작하고 여러 차례 펀딩을 받았다. 2018년 이후에도 지속적으로 성장하여 추가적인 자금 유치를 이어갔다.
2019년에는 60 규모의 자금 유치를 공개했고, 2023년 2월에는 81 규모의 시리즈 E 자금 유치를 완료했다.
2.3. 클러스터링 구성 요소의 폐쇄 소스 전환 (2016)
2016년 5월, 인플럭스데이터는 인플럭스DB의 컴퓨터 클러스터 구성 요소를 프로젝트 개발을 위한 지속 가능한 자금 조달원을 만들기 위해 폐쇄형 소스 소프트웨어로 판매할 것이라고 발표했다. 이에 대한 커뮤니티 반응은 엇갈렸으며, 일부는 이러한 움직임이 "미끼 상품"이라고 느꼈다.
3. 기술 개요
InfluxDB는 외부 의존성이 없으며 SQL과 유사한 언어를 제공하고 8086 포트를 리스닝한다. InfluxDB는 메저먼트(measurement), 시리즈(series), 포인트(point)로 구성된 데이터 구조를 조회하기 위한 시간 중심 함수를 내장하고 있다. 각 포인트는 필드셋(field set)이라 불리는 여러 키-값 쌍과 타임스탬프로 구성된다. 키-값 쌍을 묶어 태그셋(tag set)이라 부르며, 이를 통해 시리즈를 정의한다. 문자열 식별자를 통해 시리즈를 그룹화하면 메저먼트가 된다.
값은 64비트 정수, 64비트 부동소수점, 문자열, 불리언(참/거짓)이 될 수 있다. 포인트는 시간과 태그셋으로 인덱싱된다. 보존 정책은 메저먼트에 대해 정의되며, 데이터가 다운샘플링되고 삭제되는 방식을 제어한다. 연속 쿼리는 주기적으로 실행되어 결과를 대상 메저먼트에 저장한다.
4. 라인 프로토콜 (Line protocol)
InfluxDB는 HTTP, TCP 및 UDP를 통해 데이터를 수신한다. Graphite와 호환되는 라인 프로토콜을 정의하며 다음과 같은 형식을 사용한다.
:측정값(,tag_key=tag_val)* field_key=field_val(,field_key_n=field_value_n)* (nanoseconds-timestamp)?
값은 64비트 정수, 64비트 부동소수점, 문자열, 불리언(참/거짓)이 될 수 있다. 포인트는 시간과 태그셋으로 인덱싱된다.