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
- raft
- broker
- Reactive
- VictoriaMetrics
- Vmagent
- Rebalance
- tsdb
- Vmalert
- spring
- API문서
- webflux
- OFFSET
- restdocs
- ProjectLoom
- Reassign
- kafka
- swagger
- ExecutableJar
- JVM
- java
- springboot
- NoClassDefFoundError
- Brooklin
- Zookeeper
- JDK
- OpenJDK
- 비동기
- consumer
- Mirror
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 |
Comments