Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Brooklin
- 비동기
- JVM
- Reactive
- Vmagent
- Reassign
- raft
- consumer
- springboot
- Mirror
- OFFSET
- broker
- Rebalance
- swagger
- kafka
- java
- ProjectLoom
- tsdb
- JDK
- webflux
- OpenJDK
- spring
- API문서
- Zookeeper
- Vmalert
- VictoriaMetrics
- ExecutableJar
- restdocs
- NoClassDefFoundError
Archives
- Today
- Total
거북이 developer
[VictoriaMetrics] Overview 본문
개요
- Go-fasthttp 개발자가 만든 Prometheus 호환 TSDB
특징
- PromQL 을 하위호환하는 MetricsQL 지원
- InfluxDB, Graphite, Prometheus 등 다양한 Metric Input 지원
- 간단한 아키텍쳐
- Gorilla Compression 을 통한 효율적인 storage 활용
- Line Use Case 존재
설계 철학
- KISS(Keep It Simple, Stupid)
- 단순한 아키텍쳐 지향 - shared nothing
- 외부 의존성 최소화
- 최소한의 자동화
지원하지 않는 것들
- 클러스터 자동 resizing
- 자동 노드 discovering
- data rebalancing
Architecture

Gorilla Compression
- Facebook 에서 Time Series Data 를 효과적으로 압축하는 방법론 소개
- 이후 대부분의 Modern TSDB 에 적용 & 응용되고 있음
Timestamp Compression

- timestamp 는 대부분 일정한 간격으로 수집 된다.
- 간격(delta)이 일정하다(delta of delta = 0)면 그냥 1bit flag 하나만으로 다음 timestamp 값을 표현 가능하다.
Value Compression

- 이진수 표현 시 이전 값과 현재 값의 대부분의 bit 는 동일 -> XOR 연산 시 '0'
- XOR 연산으로 '0' 으로 바뀐 bit 들은 압축시켜서 표현
Compression Summary


- Timestamp: 96.39%. 1bit 만으로 시간 표현 가능.
- Value: 59.06%. 1bit 만으로 값 표현 가능.
- 압축률: 16 bytes를 1.37 bytes 로 줄임 (약 12배 향상)
- Query 속도: 경우에 따라 최대 73 ~ 350배 향상
'Database' 카테고리의 다른 글
[VictoriaMetrics] Metric 수집(Direct Push) (0) | 2022.03.16 |
---|---|
[VictoriaMetrics] 설치 (0) | 2022.03.14 |