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