ΠΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΠΌ Π΄Π° Π³ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠ΅ΠΏΠΈΡΠΎΡ ΠΎΠ΄ ΠΈΠ·Π²Π΅ΡΡΠ°ΡΠΎΡ ΠΎΠ΄ ΠΊΡΠ°ΡΠΎΡ Π½Π° 2019 Π³ΠΎΠ΄ΠΈΠ½Π° Π½Π° ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Π°Ρ ΠΠ°ΡΠ°Π»ΠΊΠΈΠ½ βΠΠ΄ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΎ ΠΠΈΠΊΡΠΎΡΠΈΡΠ° ΠΠ΅ΡΡΠΈΠΊΡβ
ΠΠ²Π΅ Π»ΠΈΠ½ΠΊ Π΄ΠΎ Π²ΠΈΠ΄Π΅ΠΎΡΠΎ ΠΎΠ΄ ΠΎΠ²ΠΎΡ ΠΈΠ·Π²Π΅ΡΡΠ°Ρ -
ΠΠ°ΠΆΠΈ Π½ΠΈ Π·Π° ΡΠ΅Π±Π΅. ΠΠ°Ρ ΡΡΠΌ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Π°Ρ ΠΠ°ΡΠ°Π»ΠΊΠΈΠ½. ΠΠ²Π΅ fast
, ΠΈΠ»ΠΈ ΡΠΎ quick
ΠΏΡΠ΅ΡΠΈΠΊΡ.
ΠΠΎΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΠΌ Π½Π° VictoriaMetrics. Π¨ΡΠΎ Π΅ ΡΠΎΠ° ΠΈ ΡΡΠΎ ΠΏΡΠ°Π²Π°ΠΌ ΡΠ°ΠΌΡ? ΠΠ΅ Π·Π±ΠΎΡΡΠ²Π°ΠΌ Π·Π° ΠΎΠ²Π° Π²ΠΎ ΠΎΠ²Π°Π° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡΠ°.
ΠΡΠ΅Π³Π»Π΅Π΄ΠΎΡ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ°ΡΠΎΡ Π΅ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΠ²Π°:
- ΠΡΠ²ΠΎ, ΡΠ΅ Π²ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ ΡΡΠΎ Π΅ VictoriaMetrics.
- ΠΠΎΡΠΎΠ° ΡΠ΅ Π²ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ ΡΡΠΎ ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ.
- ΠΠΎΡΠΎΠ° ΡΠ΅ Π²ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ ΠΊΠ°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ.
- Π‘Π»Π΅Π΄Π½ΠΎ, ΡΠ΅ Π²ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ: ΠΎΠ΄ ΡΡΠΎ ΡΠ΅ ΡΠΎΡΡΠΎΠΈ.
- Π ΠΏΠΎΡΠΎΠ° Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌΠ΅ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ ΡΡΠΎ Π³ΠΈ ΠΈΠΌΠ° VictoriaMetrics. ΠΠ²Π° Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° Π·Π° ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Π±ΠΈΡΠΎΠ²ΠΈ Π²ΠΎ Go.
ΠΠ°Π»ΠΈ Π½Π΅ΠΊΠΎΡ ΠΎΠ΄ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠ° Π·Π½Π°Π΅ ΡΡΠΎ Π΅ VictoriaMetrics? ΠΠ΅Π»Π΅, ΠΌΠ½ΠΎΠ³Ρ Π»ΡΡΠ΅ Π²Π΅ΡΠ΅ Π·Π½Π°Π°Ρ. Π’ΠΎΠ° Π΅ Π΄ΠΎΠ±ΡΠ° Π²Π΅ΡΡ. ΠΠ° ΠΎΠ½ΠΈΠ΅ ΠΊΠΎΠΈ Π½Π΅ Π·Π½Π°Π°Ρ, ΠΎΠ²Π° Π΅ Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ. Π‘Π΅ Π·Π°ΡΠ½ΠΎΠ²Π° Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ClickHouse, Π½Π° Π½Π΅ΠΊΠΎΠΈ Π΄Π΅ΡΠ°Π»ΠΈ ΠΎΠ΄ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ClickHouse. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅: MergeTree, ΠΏΠ°ΡΠ°Π»Π΅Π»Π½Π° ΠΏΡΠ΅ΡΠΌΠ΅ΡΠΊΠ° Π½Π° ΡΠΈΡΠ΅ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΠΊΠΈ ΡΠ°Π΄ΡΠ° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ ΡΠΎ ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠ½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΠΊΠΎΠΈ ΡΠ΅ ΡΠΌΠ΅ΡΡΠ΅Π½ΠΈ Π²ΠΎ ΠΊΠ΅ΡΠΎΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ.
VictoriaMetrics ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ Π΄ΡΡΠ³ΠΈΡΠ΅ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ.
Π‘Π΅ ΡΠΊΠ°Π»ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»Π½ΠΎ - ΡΠΎΠ° Π΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, ΠΏΠΎΠ²Π΅ΡΠ΅ RAM Π½Π° Π΅Π΄Π΅Π½ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. VictoriaMetrics ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΅ Π³ΠΈ ΠΈΡΠΊΠΎΡΠΈΡΡΠΈ ΠΎΠ²ΠΈΠ΅ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΈ ΡΠ΅ ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ Π»ΠΈΠ½Π΅Π°ΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡ.
VictoriaMetrics ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠΊΠ°Π»ΠΈΡΠ° Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ - ΠΎΠ΄Π½ΠΎΡΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ°Π·Π»ΠΈ Π²ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ VictoriaMetrics, Π° Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ ΡΠ΅ ΡΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΠ°Ρ ΡΠ΅ΡΠΈΡΠΈ Π»ΠΈΠ½Π΅Π°ΡΠ½ΠΎ.
ΠΠ°ΠΊΠΎ ΡΡΠΎ ΠΏΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅, VictoriaMetrics Π΅ Π±ΡΠ·Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π½Π΅ ΠΌΠΎΠΆΠ°ΠΌ Π΄Π° ΠΏΠΈΡΡΠ²Π°ΠΌ Π΄ΡΡΠ³ΠΈ. Π Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π΅ Π²ΠΎ Go, ΡΠ°ΠΊΠ° ΡΡΠΎ Π·Π±ΠΎΡΡΠ²Π°ΠΌ Π·Π° ΡΠΎΠ° Π½Π° ΠΎΠ²ΠΎΡ ΡΠΎΡΡΠ°Π½ΠΎΠΊ.
ΠΠΎΡ Π·Π½Π°Π΅ ΡΡΠΎ Π΅ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠ° ΡΠ΅ΡΠΈΡΠ°? Π’ΠΎΡ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΠ·Π½Π°Π²Π° ΠΌΠ½ΠΎΠ³Ρ Π»ΡΡΠ΅. ΠΡΠ΅ΠΌΠ΅Π½ΡΠΊΠ° ΡΠ΅ΡΠΈΡΠ° Π΅ ΡΠ΅ΡΠΈΡΠ° ΠΎΠ΄ ΠΏΠ°ΡΠΎΠ²ΠΈ (timestamp, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅)
, ΠΊΠ°Π΄Π΅ ΠΎΠ²ΠΈΠ΅ ΠΏΠ°ΡΠΎΠ²ΠΈ ΡΠ΅ ΠΏΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΡΠ΅Π΄Π½ΠΎΡΡΠ° Π΅ Π±ΡΠΎΡ ΡΠΎ ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½Π° Π·Π°ΠΏΠΈΡΠΊΠ° β float64.
Π‘Π΅ΠΊΠΎΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠ° ΡΠ΅ΡΠΈΡΠ° Π΅ ΡΠ½ΠΈΠΊΠ°ΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π°Π½Π° ΡΠΎ ΠΊΠ»ΡΡ. ΠΠ΄ ΡΡΠΎ ΡΠ΅ ΡΠΎΡΡΠΎΠΈ ΠΎΠ²ΠΎΡ ΠΊΠ»ΡΡ? Π‘Π΅ ΡΠΎΡΡΠΎΠΈ ΠΎΠ΄ Π½Π΅ΠΏΡΠ°Π·Π΅Π½ ΡΠ΅Ρ Π½Π° ΠΏΠ°ΡΠΎΠ²ΠΈ ΠΊΠ»ΡΡ-Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ.
ΠΠ²Π΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠ° ΡΠ΅ΡΠΈΡΠ°. ΠΠ»ΡΡΠΎΡ Π½Π° ΠΎΠ²Π°Π° ΡΠ΅ΡΠΈΡΠ° Π΅ ΡΠΏΠΈΡΠΎΠΊ Π½Π° ΠΏΠ°ΡΠΎΠ²ΠΈ: __name__="cpu_usage"
Π΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ°, instance="my-server"
- ΠΎΠ²Π° Π΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΡ Π½Π° ΠΊΠΎΡ ΡΠ΅ ΡΠΎΠ±ΠΈΡΠ° ΠΎΠ²Π°Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°, datacenter="us-east"
- ΠΎΠ²Π° Π΅ ΡΠ΅Π½ΡΠ°ΡΠΎΡ Π·Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΡΠ΅ Π½Π°ΠΎΡΠ° ΠΎΠ²ΠΎΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
ΠΠ°Π²ΡΡΠΈΠ²ΠΌΠ΅ ΡΠΎ ΠΈΠΌΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠ° ΡΠ΅ΡΠΈΡΠ° ΡΡΠΎ ΡΠ΅ ΡΠΎΡΡΠΎΠΈ ΠΎΠ΄ ΡΡΠΈ ΠΏΠ°ΡΠ° ΠΊΠ»ΡΡΠ΅Π²ΠΈ ΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ. ΠΠ²ΠΎΡ ΠΊΠ»ΡΡ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ° Π½Π° Π»ΠΈΡΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ²ΠΈ (timestamp, value)
. t1, t3, t3, ..., tN
- ΠΎΠ²Π° ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΠΏΠ΅ΡΠ°ΡΠΈ, 10, 20, 12, ..., 15
β ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΈΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ. ΠΠ²Π° Π΅ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ Π²ΠΎ Π΄Π°Π΄Π΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π΄Π°Π΄Π΅Π½Π° ΡΠ΅ΡΠΈΡΠ°.
ΠΠ°Π΄Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ? ΠΠ°Π»ΠΈ Π½Π΅ΠΊΠΎΡ ΠΈΠΌΠ° ΠΈΠ΄Π΅ΡΠ°?
- ΠΠΎ DevOps, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡ, RAM, ΠΌΡΠ΅ΠΆΠ°, rps, Π±ΡΠΎΡ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈΡΠ½.
- IoT - ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΌΠ΅ΡΠΈΠΌΠ΅ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ°, ΠΏΡΠΈΡΠΈΡΠΎΠΊ, Π³Π΅ΠΎΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈ ΠΈ Π½Π΅ΡΡΠΎ Π΄ΡΡΠ³ΠΎ.
- ΠΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠΈΠ½Π°Π½ΡΠΈΠΈ - ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΈ ΡΠ»Π΅Π΄ΠΈΠΌΠ΅ ΡΠ΅Π½ΠΈΡΠ΅ Π·Π° ΡΠΈΡΠ΅ Π²ΠΈΠ΄ΠΎΠ²ΠΈ Π°ΠΊΡΠΈΠΈ ΠΈ Π²Π°Π»ΡΡΠΈ.
- ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ Π²ΠΎ ΡΠ°Π±ΡΠΈΠΊΠΈΡΠ΅. ΠΠΌΠ°ΠΌΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΊΠΎΠΈ ΠΊΠΎΡΠΈΡΡΠ°Ρ VictoriaMetrics Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΡΡΡΠ±ΠΈΠ½ΠΈΡΠ΅ Π½Π° Π²Π΅ΡΠ΅Ρ, Π·Π° ΡΠΎΠ±ΠΎΡΠΈ.
- ΠΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ ΡΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΊΠΎΡΠΈΡΠ½ΠΈ Π·Π° ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ΄ ΡΠ΅Π½Π·ΠΎΡΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΠΌΠΎΡΠΎΡ; Π·Π° ΠΌΠ΅ΡΠ΅ΡΠ΅ Π½Π° ΠΏΡΠΈΡΠΈΡΠΎΠΊΠΎΡ Π²ΠΎ Π³ΡΠΌΠΈΡΠ΅; Π·Π° ΠΌΠ΅ΡΠ΅ΡΠ΅ Π½Π° Π±ΡΠ·ΠΈΠ½Π°, ΡΠ°ΡΡΠΎΡΠ°Π½ΠΈΠ΅; Π·Π° ΠΌΠ΅ΡΠ΅ΡΠ΅ Π½Π° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π½Π° Π±Π΅Π½Π·ΠΈΠ½ ΠΈ ΡΠ».
- ΠΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΈ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° Π°Π²ΠΈΠΎΠ½ΠΈΡΠ΅. Π‘Π΅ΠΊΠΎΡ Π°Π²ΠΈΠΎΠ½ ΠΈΠΌΠ° ΡΡΠ½Π° ΠΊΡΡΠΈΡΠ° ΠΊΠΎΡΠ° ΡΠΎΠ±ΠΈΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° Π·Π΄ΡΠ°Π²ΡΠ΅ΡΠΎ Π½Π° Π°Π²ΠΈΠΎΠ½ΠΎΡ. ΠΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΈ Π²ΠΎ Π²ΠΎΠ·Π΄ΡΡΠ½Π°ΡΠ° ΠΈΠ½Π΄ΡΡΡΡΠΈΡΠ°.
- ΠΠ΄ΡΠ°Π²ΡΡΠ²ΠΎΡΠΎ Π΅ ΠΊΡΠ²Π΅Π½ ΠΏΡΠΈΡΠΈΡΠΎΠΊ, ΠΏΡΠ»Ρ ΠΈΡΠ½.
ΠΠΎΠΆΠ΅Π±ΠΈ ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΠΊΠΎΠΈ Π·Π°Π±ΠΎΡΠ°Π²ΠΈΠ², Π½ΠΎ ΡΠ΅ Π½Π°Π΄Π΅Π²Π°ΠΌ Π΄Π΅ΠΊΠ° ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅ Π΄Π΅ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π²ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈΠΎΡ ΡΠ²Π΅Ρ. Π ΠΎΠ±Π΅ΠΌΠΎΡ Π½Π° Π½ΠΈΠ²Π½Π°ΡΠ° ΡΠΏΠΎΡΡΠ΅Π±Π° ΡΠ°ΡΡΠ΅ ΡΠ΅ΠΊΠΎΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π°.
ΠΠΎΡΡΠΎ Π²ΠΈ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ? ΠΠΎΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π½Π° ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ?
ΠΠΈΠ΄Π΅ΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ ΠΎΠ±ΠΈΡΠ½ΠΎ ΡΠΎΠ΄ΡΠΆΠ°Ρ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π° Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΠΈ ΡΠ΅ΡΠΊΠΎ ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°Π°Ρ Π²ΠΎ ΠΊΠΎΠ½Π²Π΅Π½ΡΠΈΠΎΠ½Π°Π»Π½ΠΈΡΠ΅ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠ°ΡΠΎΠ° ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈΡΠ° ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ. ΠΠ²ΠΈΠ΅ Π±Π°Π·ΠΈ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ ΠΏΠΎΠ΅Π½ΠΈ (timestamp, value)
ΡΠΎ Π΄Π°Π΄Π΅Π½ΠΈΠΎΡ ΠΊΠ»ΡΡ. Π’ΠΈΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°Π°Ρ API Π·Π° ΡΠΈΡΠ°ΡΠ΅ Π·Π°ΡΡΠ²Π°Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΠΎ ΠΊΠ»ΡΡ, ΡΠΎ Π΅Π΄Π΅Π½ ΠΏΠ°Ρ ΠΊΠ»ΡΡ-Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΠΈΠ»ΠΈ ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠ°ΡΠΎΠ²ΠΈ ΠΊΠ»ΡΡ-Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΠΈΠ»ΠΈ ΡΠΎ regexp. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊΠ°ΡΠ΅ Π΄Π° Π³ΠΎ ΠΏΡΠΎΠ½Π°ΡΠ΄Π΅ΡΠ΅ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ Π½Π° ΡΠΈΡΠ΅ Π²Π°ΡΠΈ ΡΡΠ»ΡΠ³ΠΈ Π²ΠΎ ΡΠ΅Π½ΡΠ°ΡΠΎΡ Π·Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΠΌΠ΅ΡΠΈΠΊΠ°, ΡΠΎΠ³Π°Ρ ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΎΠ²Π° ΠΏΡΠ΅Π²Π΄ΠΎ-ΠΏΡΠ°ΡΠ°ΡΠ΅.
ΠΠΎΠΎΠ±ΠΈΡΠ°Π΅Π½ΠΎ, Π±Π°Π·ΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°Π°Ρ ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ°Π·ΠΈΡΠΈ Π·Π° ΠΏΡΠ°ΡΠ°ΡΠ°, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ SQL Π½Π΅ ΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ΠΈ. ΠΠ°ΠΊΠΎ ΠΏΠΎΡΡΠΎΡΠ°Ρ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΊΠΎΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°Π°Ρ SQL, ΡΠΎΡ Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ³ΠΎΠ΄Π΅Π½. ΠΠ°Π·ΠΈΡΠΈ Π·Π° ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅
ΠΠ°ΠΊΠ° ΠΈΠ·Π³Π»Π΅Π΄Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠΎ ΠΌΠΎΠ΄Π΅ΡΠ½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° VictoriaMetrics ΠΊΠ°ΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Ρ.
Π‘Π΅ ΡΠΎΡΡΠΎΠΈ ΠΎΠ΄ Π΄Π²Π° Π΄Π΅Π»Π°. ΠΠ²Π° Π΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π·Π° ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π·Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ. ΠΠ²ΠΈΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ° ΡΠ΅ ΠΎΠ΄Π²ΠΎΠ΅Π½ΠΈ.
ΠΠΎΠ³Π° ΡΠ΅ ΠΏΡΠΈΡΡΠΈΠ³Π½Π΅ Π½ΠΎΠ² Π·Π°ΠΏΠΈΡ Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΏΡΠ²ΠΎ ΠΏΡΠΈΡΡΠ°ΠΏΡΠ²Π°ΠΌΠ΅ Π΄ΠΎ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π·Π° Π΄Π° Π³ΠΎ Π½Π°ΡΠ΄Π΅ΠΌΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠ°ΡΠ° ΡΠ΅ΡΠΈΡΠ° Π·Π° Π΄Π°Π΄Π΅Π½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ label=value
Π·Π° Π΄Π°Π΄Π΅Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°. ΠΠΎ Π½Π°ΠΎΡΠ°ΠΌΠ΅ ΠΎΠ²ΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈ ΡΠ° Π·Π°ΡΡΠ²ΡΠ²Π°ΠΌΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠ° Π²ΠΎ ΠΏΡΠΎΠ΄Π°Π²Π½ΠΈΡΠ°ΡΠ° Π·Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ.
ΠΠΎΠ³Π° ΡΠ΅ Π΄ΠΎΡΠ΄Π΅ Π±Π°ΡΠ°ΡΠ΅ Π·Π° ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ TSDB, ΠΏΡΠ²ΠΎ ΠΎΠ΄ΠΈΠΌΠ΅ Π½Π° ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΡΠ΄Π΅ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ ΡΓ¨ timeseries_ids
ΡΠ΅ΠΊΠΎΡΠ΄ΠΈ ΠΊΠΎΠΈ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°Π°Ρ Π½Π° ΠΎΠ²ΠΎΡ ΡΠ΅Ρ label=value
. Π ΡΠΎΠ³Π°Ρ Π³ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ timeseries_ids
.
ΠΡΠ΄Π΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠΎΠ° ΠΊΠ°ΠΊΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π° Π΄ΠΎΡΠ΄ΠΎΠ²Π½ΠΎ ΠΈΠ·Π±ΡΠ°Π½ΠΎ Π±Π°ΡΠ°ΡΠ΅.
- ΠΡΠ²ΠΎ, ΡΠ°Π° Π΄ΠΎΠ±ΠΈΠ²Π° ΡΓ¨
timeseries_ids
ΠΎΠ΄ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠΎΡ Π³ΠΈ ΡΠΎΠ΄ΡΠΆΠΈ Π΄Π°Π΄Π΅Π½ΠΈΡΠ΅ ΠΏΠ°ΡΠΎΠ²ΠΈlabel=value
, ΠΈΠ»ΠΈ Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΡΠ²Π° Π΄Π°Π΄Π΅Π½ ΡΠ΅Π³ΡΠ»Π°ΡΠ΅Π½ ΠΈΠ·ΡΠ°Π·. - ΠΠΎΡΠΎΠ° Π³ΠΈ ΠΏΠΎΠ²Π»Π΅ΠΊΡΠ²Π° ΡΠΈΡΠ΅ ΡΠΎΡΠΊΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ Π΄Π°Π΄Π΅Π½ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π·Π° ΠΏΡΠΎΠ½Π°ΡΠ΄Π΅Π½ΠΈΡΠ΅
timeseries_ids
. - ΠΠΎ ΠΎΠ²Π°, Π±Π°Π·Π°ΡΠ° Π²ΡΡΠΈ Π½Π΅ΠΊΠΎΠΈ ΠΏΡΠ΅ΡΠΌΠ΅ΡΠΊΠΈ Π½Π° ΠΎΠ²ΠΈΠ΅ ΡΠΎΡΠΊΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΡΠΏΠΎΡΠ΅Π΄ Π±Π°ΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ. Π ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ° Π³ΠΎ Π²ΡΠ°ΡΠ° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΎΡ.
ΠΠΎ ΠΎΠ²Π°Π° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡΠ° ΡΠ΅ Π²ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ Π·Π° ΠΏΡΠ²ΠΈΠΎΡ Π΄Π΅Π». ΠΠ²Π° Π΅ ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ timeseries_ids
ΡΠΎ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΠ° Π²ΡΠΎΡΠΈΠΎΡ Π΄Π΅Π» ΠΈ ΡΡΠ΅ΡΠΈΠΎΡ Π΄Π΅Π» ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ ΠΏΠΎΠ΄ΠΎΡΠ½Π°
ΠΠ° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌΠ΅ Π½Π° ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΠ½ΠΎΠ³ΡΠΌΠΈΠ½Π° ΠΌΠΎΠΆΠ΅Π±ΠΈ ΠΌΠΈΡΠ»Π°Ρ Π΄Π΅ΠΊΠ° ΠΎΠ²Π° Π΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ. ΠΠΎΡ Π·Π½Π°Π΅ ΡΡΠΎ Π΅ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°? Π, Π½Π΅ΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ Π»ΡΡΠ΅. ΠΡΠ΄Π΅ Π΄Π° ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΠ΅ ΡΡΠΎ Π΅ ΡΠΎΠ°.
Π’ΠΎΠ° Π΅ Π²ΡΡΡΠ½ΠΎΡΡ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ. Π’ΠΎΠ° Π΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΡΠ΅ΡΠ½ΠΈΠΊ ΠΊΠΎΡ Π³ΠΎ ΠΌΠ°ΠΏΠΈΡΠ° ΠΊΠ»ΡΡΠΎΡ Π·Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ. Π¨ΡΠΎ Π΅ ΠΊΠ»ΡΡ? ΠΠ²ΠΎΡ ΠΏΠ°Ρ label=value
ΠΊΠ°Π΄Π΅ label
ΠΈ value
- ΠΎΠ²Π° ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ. Π Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈΡΠ΅ ΡΠ΅ Π·Π±ΠΈΡ timeseries_ids
, ΠΊΠΎΡ Π³ΠΎ Π²ΠΊΠ»ΡΡΡΠ²Π° Π΄Π°Π΄Π΅Π½ΠΈΠΎΡ ΠΏΠ°Ρ label=value
.
ΠΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π±ΡΠ·ΠΎ Π΄Π° Π½Π°ΡΠ΄Π΅ΡΠ΅ ΡΓ¨ timeseries_ids
, ΠΊΠΎΠΈ Π΄Π°Π΄ΠΎΠ° label=value
.
ΠΡΡΠΎ ΡΠ°ΠΊΠ°, Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π±ΡΠ·ΠΎ Π½Π°ΠΎΡΠ°ΡΠ΅ timeseries_ids
Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ Π·Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΠ°ΡΠΎΠ²ΠΈ label=value
, ΠΈΠ»ΠΈ Π·Π° ΠΏΠ°ΡΠΎΠ²ΠΈ label=regexp
. ΠΠ°ΠΊΠΎ ΡΠ΅ ΡΠ»ΡΡΡΠ²Π° ΠΎΠ²Π°? Π‘ΠΎ Π½Π°ΠΎΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠ΅ΡΠ΅ΠΊΠΎΡ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΡΠΎ timeseries_ids
Π·Π° ΡΠ΅ΠΊΠΎΡ ΠΏΠ°Ρ label=value
.
ΠΡΠ΄Π΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΠ° ΠΏΠΎΡΠ½Π΅ΠΌΠ΅ ΡΠΎ Π½Π°ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½Π°ΡΠ° Π½Π°ΠΈΠ²Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°. Π’Π°Π° ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°.
Π€ΡΠ½ΠΊΡΠΈΡΠ° getMetricIDs
Π΄ΠΎΠ±ΠΈΠ²Π° Π»ΠΈΡΡΠ° Π½Π° ΠΆΠΈΡΠΈ. Π‘Π΅ΠΊΠΎΡΠ° Π»ΠΈΠ½ΠΈΡΠ° ΡΠΎΠ΄ΡΠΆΠΈ label=value
. ΠΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΡΠ° Π²ΡΠ°ΡΠ° ΡΠΏΠΈΡΠΎΠΊ metricIDs
.
ΠΠ°ΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈ? ΠΠ²Π΄Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π³Π»ΠΎΠ±Π°Π»Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π°ΡΠ΅ΡΠ΅Π½Π° invertedIndex
. ΠΠ²Π° Π΅ ΠΎΠ±ΠΈΡΠ΅Π½ ΡΠ΅ΡΠ½ΠΈΠΊ (map
), ΡΡΠΎ ΡΠ΅ ΡΠ° ΠΌΠ°ΠΏΠΈΡΠ° Π½ΠΈΠ·Π°ΡΠ° Π·Π° Π΄Π° Π³ΠΈ ΠΈΡΠ΅ΡΠ΅ ΠΈΠ½ΡΠΈΡΠ΅. ΠΠΈΠ½ΠΈΡΠ°ΡΠ° ΡΠΎΠ΄ΡΠΆΠΈ label=value
.
ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ°: ΡΠ΅ metricIDs
Π·Π° ΠΏΡΠ²ΠΈΠΎΡ label=value
, ΠΏΠΎΡΠΎΠ° ΠΏΠΎΠΌΠΈΠ½ΡΠ²Π°ΠΌΠ΅ Π½ΠΈΠ· ΡΠ΅ ΠΎΡΡΠ°Π½Π°ΡΠΎ label=value
, Π³ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌΠ΅ metricIDs
Π·Π° Π½ΠΈΠ². Π ΠΏΠΎΠ²ΠΈΠΊΠ°ΡΡΠ΅ ΡΠ° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° intersectInts
, Π·Π° ΡΡΠΎ ΡΠ΅ ΡΠ΅ Π΄ΠΈΡΠΊΡΡΠΈΡΠ° ΠΏΠΎΠ΄ΠΎΠ»Ρ. Π ΠΎΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΡΠ° Π³ΠΎ Π²ΡΠ°ΡΠ° ΠΏΡΠ΅ΡΠ΅ΠΊΠΎΡ Π½Π° ΠΎΠ²ΠΈΠ΅ ΡΠΏΠΈΡΠΎΡΠΈ.
ΠΠ°ΠΊΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³Ρ ΠΊΠΎΠΌΠΏΠ»ΠΈΡΠΈΡΠ°Π½ΠΎ. ΠΠΎ, ΠΎΠ²Π° Π΅ Π½Π°ΠΈΠ²Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°. ΠΠ°ΠΊΠ²ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠΈ ΠΈΠΌΠ°? ΠΠ»Π°Π²Π½ΠΈΠΎΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π½Π° Π½Π°ΠΈΠ²Π½Π°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π΅ ΡΠΎΠ° ΡΡΠΎ ΡΠ°ΠΊΠΎΠ² ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ Π΅ Π·Π°ΡΡΠ²Π°Π½ Π²ΠΎ RAM ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°. ΠΠΎ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π³ΠΎ Π³ΡΠ±ΠΈΠΌΠ΅ ΠΎΠ²ΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΠ΅ΠΌΠ° Π·Π°ΡΡΠ²ΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠ²ΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π° Π΄ΠΈΡΠΊΠΎΡ. Π’Π°ΠΊΠΎΠ² ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ Π²Π΅ΡΠΎΡΠ°ΡΠ½ΠΎ Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π΅ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ΅Π½ Π·Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ.
ΠΡΠΎΡΠΈΠΎΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΠ²ΡΠ·Π°Π½ ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°. ΠΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ Π²ΠΊΠ»ΠΎΠΏΠΈ Π²ΠΎ RAM ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°. ΠΠΊΠΎ ΡΠ° Π½Π°Π΄ΠΌΠΈΠ½Π΅ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° RAM ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΡΠΎΠ³Π°Ρ ΠΎΡΠΈΠ³Π»Π΅Π΄Π½ΠΎ ΡΠ΅ Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ Π³ΡΠ΅ΡΠΊΠ° - Π½Π°Π΄Π²ΠΎΡ ΠΎΠ΄ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π½Π΅ΠΌΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ.
ΠΠ²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΈ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Π³ΠΎΡΠΎΠ²ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ° ΠΊΠ°ΠΊΠΎ Π½Π° ΠΏΡ
ΠΠ°ΠΊΡΠ°ΡΠΊΠΎ, ΠΏΠΎΡΡΠ΅Π±Π½Π° Π½ΠΈ Π΅ Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΡΠΎ Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π±ΡΠ·ΠΎ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠ΅ ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
- ΠΡΠ²Π°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Π΅ ΡΠ½ΠΈΠΌΠ°ΡΠ΅
ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π½Π° ΠΎΠ²Π°Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. Π’Π°Π° Π³ΠΎ ΠΏΡΠ°Π²ΠΈ ΡΠΎΠ° ΠΌΠ½ΠΎΠ³Ρ Π±ΡΠ·ΠΎ, ΠΊΠ°Π΄Π΅ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΆΠΈΡΠΈ. - ΠΡΠΎΡΠ°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Π΅ Π±ΡΠ·ΠΎ ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π΄Π°Π΄Π΅Π½ ΠΊΠ»ΡΡ.
- Π ΡΡΠ΅ΡΠ°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Π΅ Π±ΡΠ·ΠΎ ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΈΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΡΠΎ Π΄Π°Π΄Π΅Π½ ΠΏΡΠ΅ΡΠΈΠΊΡ.
LevelDB ΠΈ RocksDB - ΠΎΠ²ΠΈΠ΅ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π±Π΅Π° ΡΠ°Π·Π²ΠΈΠ΅Π½ΠΈ ΠΎΠ΄ Google ΠΈ Facebook. ΠΡΠ²ΠΎ Π΄ΠΎΡΠ΄Π΅ LevelDB. ΠΠΎΡΠΎΠ° ΠΌΠΎΠΌΡΠΈΡΠ΅ ΠΎΠ΄ Π€Π΅ΡΡΠ±ΡΠΊ Π³ΠΎ Π·Π΅ΠΌΠ°Π° LevelDB ΠΈ ΠΏΠΎΡΠ½Π°Π° Π΄Π° Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π°Ρ, Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ° RocksDB. Π‘Π΅Π³Π° ΡΠ΅ΡΠΈΡΠΈ ΡΠΈΡΠ΅ Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π° RocksDB Π²Π½Π°ΡΡΠ΅ Π²ΠΎ Facebook, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π³ΠΈ ΠΈ ΠΎΠ½ΠΈΠ΅ ΡΡΠΎ ΡΠ΅ ΠΏΡΠ΅ΡΡΠ»Π΅Π½ΠΈ Π½Π° RocksDB ΠΈ MySQL. ΠΠΎ ΠΈΠΌΠ΅Π½ΡΠ²Π°Π°
ΠΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° LevelDB. ΠΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠΎΠ°? ΠΠ°ΡΡΠ΅Π΄ΡΠ²Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ ΠΊΠ»ΡΡ label=value
. Π Π²ΡΠ΅Π΄Π½ΠΎΡΡΠ° Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ ΠΊΠ°Π΄Π΅ ΡΡΠΎ Π΅ ΠΏΡΠΈΡΡΡΠ΅Π½ ΠΏΠ°ΡΠΎΡ label=value
.
ΠΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ ΡΠΎ Π΄Π°Π΄Π΅Π½ ΠΏΠ°Ρ label=value
, ΡΠΎΠ³Π°Ρ ΡΠ΅ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρ ΡΠ΅Π΄ΠΎΠ²ΠΈ Π²ΠΎ ΠΎΠ²Π°Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠΎ ΠΈΡΡ ΠΊΠ»ΡΡ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ timeseries_ids
. ΠΠ° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ Π½Π° ΡΠΈΡΠ΅ timeseries_ids
, ΠΊΠΎΠΈ Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π°Π°Ρ ΡΠΎ ΠΎΠ²Π° label=prefix
, ΠΏΡΠ°Π²ΠΈΠΌΠ΅ ΡΠΊΠ΅Π½ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΎΠΏΡΠ΅Π³ Π·Π° ΡΡΠΎ Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° ΠΎΠ²Π°Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. Π’ΠΎΠ° Π΅, Π³ΠΈ ΠΈΠ·Π±ΠΈΡΠ°ΠΌΠ΅ ΡΠΈΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠΎ Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π°Π°Ρ ΡΠΎ label=prefix
ΠΈ Π΄ΠΎΠ±ΠΈΡΡΠ΅ Π³ΠΎ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΠΎ timeseries_ids
.
ΠΠ²Π΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΡΠΎΠ° ΠΊΠ°ΠΊΠΎ Π±ΠΈ ΠΈΠ·Π³Π»Π΅Π΄Π°Π»ΠΎ Π²ΠΎ Go. ΠΠΌΠ°ΠΌΠ΅ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΠ²Π° Π΅ LevelDB.
Π€ΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° Π΅ ΠΈΡΡΠ° ΠΊΠ°ΠΊΠΎ ΠΈ Π·Π° Π½Π°ΠΈΠ²Π½Π°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°. Π Π΅ΡΠΈΡΠΈ ΡΠ΅Π΄ ΠΏΠΎ ΡΠ΅Π΄ ΡΠ° ΠΏΠΎΠ²ΡΠΎΡΡΠ²Π° Π½Π°ΠΈΠ²Π½Π°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° ΠΏΠΎΠ΅Π½ΡΠ° Π΅ Π΄Π΅ΠΊΠ° Π½Π°ΠΌΠ΅ΡΡΠΎ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΈΠΌΠ΅ ΠΊΠΎΠ½ map
ΠΏΡΠΈΡΡΠ°ΠΏΡΠ²Π°ΠΌΠ΅ Π΄ΠΎ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΠΈ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ ΡΠΈΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π·Π° ΠΏΡΠ²ΠΎΡΠΎ label=value
. ΠΠΎΡΠΎΠ° ΠΏΠΎΠΌΠΈΠ½ΡΠ²Π°ΠΌΠ΅ Π½ΠΈΠ· ΡΠΈΡΠ΅ ΠΏΡΠ΅ΠΎΡΡΠ°Π½Π°ΡΠΈ ΠΏΠ°ΡΠΎΠ²ΠΈ label=value
ΠΈ Π΄Π° Π³ΠΈ Π΄ΠΎΠ±ΠΈΠ΅ΡΠ΅ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΈΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π½Π° metricIDs Π·Π° Π½ΠΈΠ². ΠΠΎΡΠΎΠ° ΡΠ° Π½Π°ΠΎΡΠ°ΠΌΠ΅ ΡΠ°ΡΠΊΡΡΠ½ΠΈΡΠ°ΡΠ°.
Π‘Π΅ ΡΠΈΠ½ΠΈ Π΄Π΅ΠΊΠ° ΡΓ¨ Π΅ Π²ΠΎ ΡΠ΅Π΄, Π½ΠΎ ΠΈΠΌΠ° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠΈ Π½Π° ΠΎΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. VictoriaMetrics ΠΏΡΠ²ΠΈΡΠ½ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ Π·Π°ΡΠ½ΠΎΠ²Π°Π½ Π½Π° LevelDB. ΠΠΎ, Π½Π° ΠΊΡΠ°ΡΠΎΡ ΠΌΠΎΡΠ°Π² Π΄Π° ΡΠ΅ ΠΎΡΠΊΠ°ΠΆΠ°ΠΌ ΠΎΠ΄ ΡΠΎΠ°.
ΠΠΎΡΡΠΎ? ΠΠΈΠ΄Π΅ΡΡΠΈ LevelDB Π΅ ΠΏΠΎΠ±Π°Π²Π΅Π½ ΠΎΠ΄ Π½Π°ΠΈΠ²Π½Π°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°. ΠΠΎ Π½Π°ΠΈΠ²Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°, ΡΠΎ Π΄Π°Π΄Π΅Π½ ΠΊΠ»ΡΡ, Π²Π΅Π΄Π½Π°Ρ Π³ΠΎ Π²ΡΠ°ΡΠ°ΠΌΠ΅ ΡΠ΅Π»ΠΎΡΠΎ ΠΏΠ°ΡΡΠ΅ metricIDs
. ΠΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³Ρ Π±ΡΠ·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° - ΡΠ΅Π»ΠΎΡΠΎ ΠΏΠ°ΡΡΠ΅ Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΎ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π°.
ΠΠΎ LevelDB, ΡΠ΅ΠΊΠΎΡ ΠΏΠ°Ρ ΠΊΠΎΠ³Π° ΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΡΠ° GetValues
ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΈ ΠΏΠΎΠΌΠΈΠ½Π΅ΡΠ΅ ΡΠΈΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠΎ ΠΏΠΎΡΠ½ΡΠ²Π°Π°Ρ ΡΠΎ label=value
. Π Π΄ΠΎΠ±ΠΈΡΡΠ΅ ΡΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠ° Π·Π° ΡΠ΅ΠΊΠΎΡΠ° Π»ΠΈΠ½ΠΈΡΠ° timeseries_ids
. ΠΠ΄ ΡΠ°ΠΊΠ²ΠΈΡΠ΅ timeseries_ids
ΡΠΎΠ±Π΅ΡΠ΅ΡΠ΅ ΠΏΠ°ΡΡΠ΅ ΠΎΠ΄ Π½ΠΈΠ² timeseries_ids
. ΠΡΠΈΠ³Π»Π΅Π΄Π½ΠΎ, ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ±Π°Π²Π½ΠΎ ΠΎΡΠΊΠΎΠ»ΠΊΡ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΠΏΡΠΈΡΡΠ°ΠΏΡΠ²Π°ΡΠ΅ Π΄ΠΎ ΠΎΠ±ΠΈΡΠ½Π° ΠΌΠ°ΠΏΠ° ΡΠΎ ΠΊΠ»ΡΡ.
ΠΡΠΎΡΠΈΠΎΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π΅ ΡΠΎΠ° ΡΡΠΎ LevelDB Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π²ΠΎ C. ΠΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ C ΠΎΠ΄ Go Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³Ρ Π±ΡΠ·ΠΎ. ΠΠΎΡΡΠ΅Π±Π½ΠΈ ΡΠ΅ ΡΡΠΎΡΠΈΡΠΈ Π½Π°Π½ΠΎΡΠ΅ΠΊΡΠ½Π΄ΠΈ. ΠΠ²Π° Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³Ρ Π±ΡΠ·ΠΎ, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π²ΠΎ ΡΠΏΠΎΡΠ΅Π΄Π±Π° ΡΠΎ ΡΠ΅Π΄ΠΎΠ²Π΅Π½ ΠΏΠΎΠ²ΠΈΠΊ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ Π΄Π²ΠΈΠΆΠ΅ΡΠ΅, ΠΊΠΎΡ ΡΡΠ°Π΅ 1-5 Π½Π°Π½ΠΎΡΠ΅ΠΊΡΠ½Π΄ΠΈ, ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° Π²ΠΎ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π΅ Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΠΏΠ°ΡΠΈ. ΠΠ° VictoriaMetrics ΠΎΠ²Π° Π±Π΅ΡΠ΅ ΡΠ°ΡΠ°Π»Π΅Π½ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ :)
Π’Π°ΠΊΠ° Π½Π°ΠΏΠΈΡΠ°Π² ΡΠΎΠΏΡΡΠ²Π΅Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ. Π ΡΠΎΡ ΠΈ ΡΠ΅ ΡΠ°Π²ΠΈ
Mergeset ΡΠ΅ Π±Π°Π·ΠΈΡΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ MergeTree. ΠΠ²Π°Π° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π΅ ΠΏΠΎΠ·Π°ΡΠΌΠ΅Π½Π° ΠΎΠ΄ ClickHouse. ΠΡΠΈΠ³Π»Π΅Π΄Π½ΠΎ, mergeset ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ° Π·Π° Π±ΡΠ·ΠΎ ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ timeseries_ids
ΡΠΏΠΎΡΠ΅Π΄ Π΄Π°Π΄Π΅Π½ΠΈΠΎΡ ΠΊΠ»ΡΡ. Mergeset Π΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ Go. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅
mergeset API Π΅ ΠΌΠ½ΠΎΠ³Ρ ΡΠ»ΠΈΡΠ΅Π½ Π½Π° LevelDB ΠΈ RocksDB. Π’ΠΎΠ° Π΅, ΡΠΎΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π±ΡΠ·ΠΎ Π΄Π° Π·Π°ΡΡΠ²Π°ΡΠ΅ Π½ΠΎΠ²ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠ°ΠΌΡ ΠΈ Π±ΡΠ·ΠΎ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΡΠΎ Π΄Π°Π΄Π΅Π½ ΠΏΡΠ΅ΡΠΈΠΊΡ.
ΠΠΎΠ΄ΠΎΡΠ½Π° ΡΠ΅ Π·Π±ΠΎΡΡΠ²Π°ΠΌΠ΅ Π·Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π° mergeset. Π‘Π΅Π³Π° Π΄Π° ΡΠ°Π·Π³ΠΎΠ²Π°ΡΠ°ΠΌΠ΅ Π·Π° ΡΠΎΠ° ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈΡΠ° ΡΠΎ VictoriaMetrics Π²ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ ΠΏΡΠΈ ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ.
ΠΠΎΡΡΠΎ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈΡΠ°?
ΠΡΠ²Π°ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π° Π΅ Π²ΠΈΡΠΎΠΊΠ°ΡΠ° ΡΡΠ°ΠΏΠΊΠ° Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅. ΠΡΠ΅Π²Π΅Π΄Π΅Π½ΠΎ Π½Π° ΡΡΡΠΊΠΈ, ΠΎΠ²Π° Π΅ ΡΠ΅ΡΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π° Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ. ΠΠ²Π° Π΅ ΠΊΠΎΠ³Π° Π΅Π΄Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠ° ΡΠ΅ΡΠΈΡΠ° Π·Π°Π²ΡΡΡΠ²Π° ΠΈ Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° Π½ΠΎΠ²Π° ΡΠ΅ΡΠΈΡΠ° ΠΈΠ»ΠΈ Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π°Π°Ρ ΠΌΠ½ΠΎΠ³Ρ Π½ΠΎΠ²ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ. Π ΠΎΠ²Π° ΡΠ΅ ΡΠ»ΡΡΡΠ²Π° ΡΠ΅ΡΡΠΎ.
ΠΡΠΎΡΠ°ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π° Π΅ Π³ΠΎΠ»Π΅ΠΌΠΈΠΎΡ Π±ΡΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ. ΠΠ° ΠΏΠΎΡΠ΅ΡΠΎΠΊΠΎΡ, ΠΊΠΎΠ³Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ΡΠΎ Π΄ΠΎΠ±ΠΈΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΠΏΡΠ»Π°ΡΠ½ΠΎΡΡ, Π±ΡΠΎΡΠΎΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ Π±Π΅ΡΠ΅ ΠΌΠ°Π». ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΡΠ΅ΠΊΠΎΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ ΡΠ»Π΅Π΄ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ, ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΈ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΡ. 4 Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. ΠΠ° ΡΠ΅ΡΠ΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΈΠΌΠ°ΡΠ΅ 100 ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΈ ΠΈ 400 Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ. ΠΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³Ρ ΠΌΠ°Π»ΠΊΡ.
Π‘ΠΎ ΡΠ΅ΠΊΠΎΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, Π»ΡΡΠ΅ΡΠΎ ΡΡΠ°ΡΠΈΡΠ° Π΄Π΅ΠΊΠ° ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΠΈΠ·ΠΌΠ΅ΡΠ°Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ Π³ΡΠ°Π½ΡΠ»Π°ΡΠ½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΠΌΠ΅ΡΠ΅ΡΠ΅ Π³ΠΎ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π΅ Π½Π° ΡΠ΅Π»ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ, ΡΡΠΊΡ ΠΎΠ΄Π΄Π΅Π»Π½ΠΎ Π½Π° ΡΠ΅ΠΊΠΎΠ΅ ΡΠ°Π΄ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ. ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ 40 ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΠΊΠΈ ΡΠ°Π΄ΡΠ°, ΡΠΎΠ³Π°Ρ ΠΈΠΌΠ°ΡΠ΅ 40 ΠΏΠ°ΡΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ Π·Π° ΠΌΠ΅ΡΠ΅ΡΠ΅ Π½Π° ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ.
ΠΠΎ, ΡΠΎΠ° Π½Π΅ Π΅ ΡΠ΅. Π‘Π΅ΠΊΠΎΠ΅ ΡΠ°Π΄ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠΎΡΡΠΎΡΠ±ΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ Π½Π΅Π°ΠΊΡΠΈΠ²Π΅Π½, ΠΊΠΎΠ³Π° Π΅ Π½Π΅Π°ΠΊΡΠΈΠ²Π΅Π½. Π, ΠΈΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΠ°Π±ΠΎΡΠ° Π²ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎΡ, ΡΠ°Π±ΠΎΡΠ° Π²ΠΎ ΠΏΡΠΎΡΡΠΎΡ Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠΎΡΡΠΎΡΠ±ΠΈ. Π ΡΠ΅ΠΊΠΎΡΠ° ΡΠ°ΠΊΠ²Π° ΡΠΎΡΡΠΎΡΠ±Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΌΠ΅ΡΠΈ ΠΈ ΠΊΠ°ΠΊΠΎ ΠΏΠΎΡΠ΅Π±Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠ° ΡΠ΅ΡΠΈΡΠ°. ΠΠ²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π³ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° Π±ΡΠΎΡΠΎΡ Π½Π° ΡΠ΅Π΄ΠΎΠ²ΠΈ Π·Π° 7-8 ΠΏΠ°ΡΠΈ.
ΠΠ΄ Π΅Π΄Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ° Π΄ΠΎΠ±ΠΈΠ²ΠΌΠ΅ 40 x 8 = 320 ΠΌΠ΅ΡΡΠΈΠΊΠ° Π·Π° ΡΠ°ΠΌΠΎ Π΅Π΄Π΅Π½ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. ΠΠΎΠΌΠ½ΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅ ΡΠΎ 100, Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ 32 Π½Π°ΠΌΠ΅ΡΡΠΎ 000.
ΠΠΎΡΠΎΠ° Π΄ΠΎΡΠ΄Π΅ ΠΡΠ±Π΅ΡΠ½Π΅ΡΠ΅Ρ. Π ΡΠ΅ Π²Π»ΠΎΡΠΈ Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΡΠ±Π΅ΡΠ½Π΅ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ Π΄ΠΎΠΌΠ°ΡΠΈΠ½ Π½Π° ΠΌΠ½ΠΎΠ³Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ. Π‘Π΅ΠΊΠΎΡΠ° ΡΡΠ»ΡΠ³Π° Π²ΠΎ ΠΡΠ±Π΅ΡΠ½Π΅ΡΠ΅Ρ ΡΠ΅ ΡΠΎΡΡΠΎΠΈ ΠΎΠ΄ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ΄Π»ΠΎΠ³ΠΈ. Π ΡΠ΅ΡΠΎ ΡΠΎΠ° ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΡΠ»Π΅Π΄ΠΈ. ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Π½ΠΎΠ²ΠΈ Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° Π²Π°ΡΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ. ΠΠ° ΡΠ΅ΠΊΠΎΡΠ° Π½ΠΎΠ²Π° Π²Π΅ΡΠ·ΠΈΡΠ°, ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π°Ρ Π½ΠΎΠ²ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ. ΠΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ°, Π±ΡΠΎΡΠΎΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ ΡΠ°ΡΡΠ΅ Π΅ΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ°Π»Π½ΠΎ ΠΈ ΡΠ΅ ΡΠΎΠΎΡΡΠ²Π°ΠΌΠ΅ ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ Π½Π° Π³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ, ΠΊΠΎΡ ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π° Π²ΠΈΡΠΎΠΊΠ° ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»Π½ΠΎΡΡ. VictoriaMetrics ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΅ ΡΠΏΡΠ°Π²ΡΠ²Π° ΡΠΎ ΡΠΎΠ° Π²ΠΎ ΡΠΏΠΎΡΠ΅Π΄Π±Π° ΡΠΎ Π΄ΡΡΠ³ΠΈΡΠ΅ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ.
ΠΡΠ΄Π΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ Π΄Π° ΡΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²ΠΈΡΠΎΠΊΠ°ΡΠ° ΡΡΠ°ΠΏΠΊΠ° Π½Π° ΠΎΡΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅. Π¨ΡΠΎ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΡΠ²Π° Π²ΠΈΡΠΎΠΊΠ° ΡΡΠ°ΠΏΠΊΠ° Π½Π° ΠΎΡΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ Π²ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ? ΠΠΈΠ΄Π΅ΡΡΠΈ Π½Π΅ΠΊΠΎΠΈ Π·Π½Π°ΡΠ΅ΡΠ° Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ΅ ΠΈ ΠΎΠ·Π½Π°ΠΊΠΈΡΠ΅ ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π°Π°Ρ.
ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π΅ΠΌΠ΅ΡΠ΅ Π³ΠΎ ΠΡΠ±Π΅ΡΠ½Π΅ΡΠ΅Ρ, ΠΊΠΎΡ Π³ΠΎ ΠΈΠΌΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΎΡ deployment
, Ρ.Π΅. ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ Π½ΠΎΠ²Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° Π²Π°ΡΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°. ΠΠΎΡΠ°Π΄ΠΈ Π½Π΅ΠΊΠΎΡΠ° ΠΏΡΠΈΡΠΈΠ½Π°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π° Kubernetes ΠΎΠ΄Π»ΡΡΠΈΡΠ° Π΄Π° Π³ΠΎ Π΄ΠΎΠ΄Π°Π΄Π°Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΡ Π·Π° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠ°ΡΠ°.
ΠΠΎ ΡΡΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ ΠΎΠ²Π°? ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, ΡΠΎ ΡΠ΅ΠΊΠΎΠ΅ Π½ΠΎΠ²ΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅, ΡΠΈΡΠ΅ ΡΡΠ°ΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ ΡΠ΅ ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°Π°Ρ, Π° Π½Π°ΠΌΠ΅ΡΡΠΎ Π½ΠΈΠ², Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π°Π°Ρ Π½ΠΎΠ²ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ ΡΠΎ Π½ΠΎΠ²Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π½Π° ΠΎΠ·Π½Π°ΠΊΠ°ΡΠ° deployment_id
. ΠΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΡΡΠΎΡΠΈΡΠΈ ΠΈΠ»ΡΠ°Π΄ΠΈ, ΠΏΠ° Π΄ΡΡΠΈ ΠΈ ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΡΠ°ΠΊΠ²ΠΈ ΡΠ΅Π΄ΠΎΠ²ΠΈ.
ΠΠ°ΠΆΠ½ΠΎ Π·Π° ΡΠ΅ΡΠΎ ΠΎΠ²Π° Π΅ ΡΡΠΎ Π²ΠΊΡΠΏΠ½ΠΈΠΎΡ Π±ΡΠΎΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ ΡΠ°ΡΡΠ΅, Π½ΠΎ Π±ΡΠΎΡΠΎΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ ΠΊΠΎΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΈ ΠΈ ΠΏΡΠΈΠΌΠ°Π°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΡΡΠ°Π½ΡΠ²Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅Π½. ΠΠ²Π°Π° ΡΠΎΡΡΠΎΡΠ±Π° ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π° Π²ΠΈΡΠΎΠΊΠ° ΡΡΠ°ΠΏΠΊΠ° Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅.
ΠΠ»Π°Π²Π½ΠΈΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π° Π²ΠΈΡΠΎΠΊΠ°ΡΠ° ΡΡΠ°ΠΏΠΊΠ° Π½Π° ΡΠ°Π·Π΄Π²ΠΎΡΡΠ²Π°ΡΠ΅ Π΅ Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΏΠΎΡΡΠΎΡΠ°Π½Π° Π±ΡΠ·ΠΈΠ½Π° Π½Π° ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ Π·Π° ΡΠΈΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ Π·Π° Π΄Π°Π΄Π΅Π½ ΡΠ΅Ρ Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈ Π²ΠΎ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π». ΠΠ±ΠΈΡΠ½ΠΎ ΠΎΠ²Π° Π΅ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΎΡ ΡΠ°Ρ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΎΡ Π΄Π΅Π½.
ΠΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΈ ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ? ΠΠ²Π΅ ΡΠ° ΠΏΡΠ²Π°ΡΠ° ΠΎΠΏΡΠΈΡΠ°. ΠΠ²Π° Π΅ Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π° Π½Π΅Π·Π°Π²ΠΈΡΠ½ΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ ΡΠΎ ΡΠ΅ΠΊΠΎΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ. Π’ΠΎΠ° Π΅, ΠΏΠΎΠΌΠΈΠ½ΡΠ²Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π», Π·Π°Π²ΡΡΡΠ²Π°ΠΌΠ΅ ΡΠΎ ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ. Π ΠΊΡΠ΅ΠΈΡΠ°ΡΡΠ΅ Π½ΠΎΠ² ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΠΎΠΌΠΈΠ½ΡΠ²Π° Π΄ΡΡΠ³ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π», ΡΠΎΠ·Π΄Π°Π²Π°ΠΌΠ΅ Π΄ΡΡΠ³ ΠΈ Π΄ΡΡΠ³.
Π ΠΏΡΠΈ Π·Π΅ΠΌΠ°ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡΠΈ ΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, Π½Π°ΠΎΡΠ°ΠΌΠ΅ Π·Π±ΠΈΡ Π½Π° ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΊΠΎΠΈ ΡΠΏΠ°ΡΠ°Π°Ρ Π²ΠΎ Π΄Π°Π΄Π΅Π½ΠΈΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π». Π, ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ, ΠΎΠ΄ ΡΠ°ΠΌΡ Π³ΠΎ ΠΈΠ·Π±ΠΈΡΠ°ΠΌΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠ°ΡΠ° ΡΠ΅ΡΠΈΡΠ°.
ΠΠ²Π° Π·Π°ΡΡΠ΅Π΄ΡΠ²Π° ΡΠ΅ΡΡΡΡΠΈ Π±ΠΈΠ΄Π΅ΡΡΠΈ Π½Π΅ ΠΌΠΎΡΠ° Π΄Π° Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΄Π΅Π»ΠΎΠ²ΠΈ ΡΡΠΎ Π½Π΅ ΡΠΏΠ°ΡΠ°Π°Ρ Π²ΠΎ Π΄Π°Π΄Π΅Π½ΠΈΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π». Π’ΠΎΠ° Π΅, ΠΎΠ±ΠΈΡΠ½ΠΎ, Π°ΠΊΠΎ ΠΎΠ΄Π±Π΅ΡΠ΅ΠΌΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΎΡ ΡΠ°Ρ, ΡΠΎΠ³Π°Ρ Π·Π° ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΈ Π³ΠΈ ΠΏΡΠ΅ΡΠΊΠΎΠΊΠ½ΡΠ²Π°ΠΌΠ΅ Π±Π°ΡΠ°ΡΠ°ΡΠ°.
ΠΠΎΡΡΠΎΠΈ ΡΡΡΠ΅ Π΅Π΄Π½Π° ΠΎΠΏΡΠΈΡΠ° Π·Π° ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ Π½Π° ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠ²Π° Π΅ Π·Π° Π΄Π° ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ° Π·Π° ΡΠ΅ΠΊΠΎΡ Π΄Π΅Π½ ΠΏΠΎΡΠ΅Π±Π½Π° Π»ΠΈΡΡΠ° Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ ΡΡΠΎ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈΠ»Π΅ Π½Π° ΡΠΎΡ Π΄Π΅Π½.
ΠΡΠ΅Π΄Π½ΠΎΡΡΠ° Π½Π° ΠΎΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΅ ΡΠΎΠ° ΡΡΠΎ Π½Π΅ Π³ΠΈ Π΄ΡΠΏΠ»ΠΈΡΠ°ΠΌΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈΡΠ΅ Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ ΠΊΠΎΠΈ Π½Π΅ ΠΈΡΡΠ΅Π·Π½ΡΠ²Π°Π°Ρ ΡΠΎ ΡΠ΅ΠΊΠΎΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ. Π’ΠΈΠ΅ ΡΠ΅ ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ ΠΏΡΠΈΡΡΡΠ½ΠΈ ΠΈ Π½Π΅ ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π°Π°Ρ.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π΅ ΡΡΠΎ Π²Π°ΠΊΠ²ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΅ ΠΏΠΎΡΠ΅ΡΠΊΠΎ Π΄Π° ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΈ ΠΏΠΎΡΠ΅ΡΠΊΠΎ Π΄Π° ΡΠ΅ Π΄Π΅Π±Π°Π³ΠΈΡΠ°. Π VictoriaMetrics Π³ΠΎ ΠΈΠ·Π±ΡΠ° ΠΎΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊΠ° ΡΠ΅ ΡΠ»ΡΡΡΠ²Π°Π»ΠΎ ΠΈΡΡΠΎΡΠΈΡΠΊΠΈ. ΠΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° Π΄ΠΎΠ±ΡΠΎ Π²ΠΎ ΡΠΏΠΎΡΠ΅Π΄Π±Π° ΡΠΎ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎΡΠΎ. ΠΠΈΠ΄Π΅ΡΡΠΈ ΠΎΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±Π΅ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ°ΠΊΡΠΎΡ ΡΡΠΎ Π΅ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ Π΄ΡΠΏΠ»ΠΈΡΠ°Π°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΡΠ΅ΠΊΠΎΡΠ° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ° Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ ΠΊΠΎΠΈ Π½Π΅ ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π°Π°Ρ, ΠΎΠ΄Π½ΠΎΡΠ½ΠΎ ΠΊΠΎΠΈ Π½Π΅ ΠΈΡΡΠ΅Π·Π½ΡΠ²Π°Π°Ρ ΡΠΎ ΡΠ΅ΠΊΠΎΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ. VictoriaMetrics Π±Π΅ΡΠ΅ ΠΏΡΠ²Π΅Π½ΡΡΠ²Π΅Π½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π·Π° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ° Π½Π° ΠΏΡΠΎΡΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΠΎΡ, Π° ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½Π°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΡΠ° Π²Π»ΠΎΡΠΈ ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΎΡΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΠΎΡ. ΠΠΎ, ΠΎΠ²Π°Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΎ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½Π° Π·Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΎΡΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΠΎΡ, ΠΏΠ° Π·Π°ΡΠΎΠ° Π±Π΅ΡΠ΅ ΠΈΠ·Π±ΡΠ°Π½Π°.
ΠΠΎΡΠ°Π² Π΄Π° ΡΠ΅ Π±ΠΎΡΠ°ΠΌ ΡΠΎ Π½Π΅Π°. ΠΠΎΡΠ±Π°ΡΠ° Π±Π΅ΡΠ΅ Π΄Π΅ΠΊΠ° Π²ΠΎ ΠΎΠ²Π°Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΡΓ¨ ΡΡΡΠ΅ ΡΡΠ΅Π±Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ timeseries_ids
Π·Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΡΠΊΠΎΠ»ΠΊΡ ΠΊΠΎΠ³Π° ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π΅ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΠΏΠΎΠ΄Π΅Π»Π΅Π½.
ΠΠ°ΠΊΠΎ Π³ΠΎ ΡΠ΅ΡΠΈΠ²ΠΌΠ΅ ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ? ΠΠΎ ΡΠ΅ΡΠΈΠ²ΠΌΠ΅ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π΅Π½ Π½Π°ΡΠΈΠ½ - ΡΠΎ Π·Π°ΡΡΠ²ΡΠ²Π°ΡΠ΅ Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ Π²ΠΎ ΡΠ΅ΠΊΠΎΡ Π·Π°ΠΏΠΈΡ Π½Π° ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π°ΠΌΠ΅ΡΡΠΎ Π΅Π΄Π΅Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ. Π’ΠΎΠ° Π΅, Π½ΠΈΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΊΠ»ΡΡ label=value
, ΡΡΠΎ ΡΠ΅ ΡΠ°Π²ΡΠ²Π° Π²ΠΎ ΡΠ΅ΠΊΠΎΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠ° ΡΠ΅ΡΠΈΡΠ°. Π ΡΠ΅Π³Π° ΡΠΏΠ°ΡΡΠ²Π°ΠΌΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ timeseries_ids
Π²ΠΎ Π΅Π΄Π΅Π½ Π·Π°ΠΏΠΈΡ.
ΠΠ²Π΅ Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠΌΠ°Π²ΠΌΠ΅ N Π·Π°ΠΏΠΈΡΠΈ, Π½ΠΎ ΡΠ΅Π³Π° ΠΈΠΌΠ°ΠΌΠ΅ Π΅Π΄Π΅Π½ Π·Π°ΠΏΠΈΡ ΡΠΈΡ ΠΏΡΠ΅ΡΠΈΠΊΡ Π΅ ΠΈΡΡ ΠΊΠ°ΠΊΠΎ ΠΈ ΡΠΈΡΠ΅ Π΄ΡΡΠ³ΠΈ. ΠΠ° ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΈΠΎΡ Π·Π°ΠΏΠΈΡ, Π²ΡΠ΅Π΄Π½ΠΎΡΡΠ° Π³ΠΈ ΡΠΎΠ΄ΡΠΆΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π° ΡΠΈΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ.
ΠΠ²Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° ΡΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΠΈ Π±ΡΠ·ΠΈΠ½Π°ΡΠ° Π½Π° ΡΠΊΠ΅Π½ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ°ΠΊΠΎΠ² ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄ΠΎ 10 ΠΏΠ°ΡΠΈ. Π Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° ΡΠ° Π½Π°ΠΌΠ°Π»ΠΈΠΌΠ΅ ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π·Π° ΠΊΠ΅ΡΠΎΡ, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΡΠ΅Π³Π° ΡΠ° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΠΌΠ΅ Π½ΠΈΠ·Π°ΡΠ° label=value
ΡΠ°ΠΌΠΎ Π΅Π΄Π½Π°Ρ Π²ΠΎ ΠΊΠ΅ΡΠΎΡ Π·Π°Π΅Π΄Π½ΠΎ N ΠΏΠ°ΡΠΈ. Π ΠΎΠ²Π°Π° Π»ΠΈΠ½ΠΈΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ Π³ΠΎΠ»Π΅ΠΌΠ° Π°ΠΊΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π΄ΠΎΠ»Π³ΠΈ ΡΠ΅Π΄ΠΎΠ²ΠΈ Π²ΠΎ Π²Π°ΡΠΈΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΈ ΠΈ Π΅ΡΠΈΠΊΠ΅ΡΠΈ, ΠΊΠΎΠΈ ΠΡΠ±Π΅ΡΠ½Π΅ΡΠ΅Ρ ΡΠ°ΠΊΠ° Π΄Π° Π³ΠΈ ΡΡΡΠΊΠ° ΡΠ°ΠΌΡ.
ΠΡΡΠ³Π° ΠΎΠΏΡΠΈΡΠ° Π·Π° Π·Π°Π±ΡΠ·ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ Π΅ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ΡΠΎ. Π‘ΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π½Π°ΠΌΠ΅ΡΡΠΎ Π΅Π΄Π΅Π½ ΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΌΠ΅ΡΡ Π½ΠΈΠ² ΡΠΎ ΠΊΠ»ΡΡ. ΠΠ²Π° Π΅ ΡΠ΅Ρ key=value
ΠΏΠ°ΡΠ΅Π°. ΠΠ΄Π½ΠΎΡΠ½ΠΎ, Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π½Π΅Π·Π°Π²ΠΈΡΠ½ΠΈ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠ°Π½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΈ Π±Π°ΡΠ°ΠΌΠ΅ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ. ΠΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΈΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Π° ΡΠ°Π±ΠΎΡΠ° ΡΠ°ΠΌΠΎ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π΅Π΄Π΅Π½ ΠΏΡΠΎΡΠ΅ΡΠΎΡ, Ρ.Π΅. ΡΠΊΠ΅Π½ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠ°ΠΌΠΎ Π½Π° Π΅Π΄Π½ΠΎ ΡΠ°Π΄ΡΠΎ. ΠΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠΊΠ΅Π½ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠ°Π΄ΡΠ° ΠΎΠ΄Π΅Π΄Π½Π°Ρ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΠΏΡΠ°Π²ΠΈ ClickHouse. ΠΠ²Π° Π΅ ΠΎΠ½Π° ΡΡΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° Π³ΠΎ ΡΠΏΡΠΎΠ²Π΅Π΄Π΅ΠΌΠ΅.
Π‘Π΅Π³Π° Π΄Π° ΡΠ΅ Π²ΡΠ°ΡΠΈΠΌΠ΅ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΠΎΠ²ΡΠΈ - Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° Π½Π° ΠΏΡΠ΅ΡΠ΅ΠΊ timeseries_ids
. ΠΡΠ΄Π΅ Π΄Π° ΡΠ°Π·ΠΌΠΈΡΠ»ΠΈΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ°. ΠΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΡΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π½Π°ΡΠ΄Π΅ΡΠ΅ timeseries_ids
Π·Π° Π΄Π°Π΄Π΅Π½ ΡΠ΅Ρ label=value
.
ΠΡΠ²Π°ΡΠ° ΠΎΠΏΡΠΈΡΠ° Π΅ Π½Π°ΠΈΠ²Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°. ΠΠ²Π΅ Π²Π³Π½Π΅Π·Π΄Π΅Π½ΠΈ ΡΠ°ΠΌΠΊΠΈ. ΠΠ²Π΄Π΅ Π³ΠΎ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ Π²Π»Π΅Π·ΠΎΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° intersectInts
Π΄Π²Π΅ ΠΏΠ°ΡΡΠΈΡΠ° - a
ΠΈ b
. ΠΠ° ΠΈΠ·Π»Π΅Π·ΠΎΡ, ΡΡΠ΅Π±Π° Π΄Π° Π½ΠΈ Π³ΠΎ Π²ΡΠ°ΡΠΈ ΠΏΡΠ΅ΡΠ΅ΠΊΠΎΡ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΏΠ°ΡΡΠΈΡΠ°.
ΠΠ°ΠΈΠ²Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°. ΠΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ²Π°ΠΌΠ΅ ΡΠΈΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΎΠ΄ ΠΏΠ°ΡΡΠ΅ a
, Π²Π½Π°ΡΡΠ΅ Π²ΠΎ ΠΎΠ²Π°Π° ΡΠ°ΠΌΠΊΠ° ΠΏΠΎΠΌΠΈΠ½ΡΠ²Π°ΠΌΠ΅ Π½ΠΈΠ· ΡΠΈΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π½Π° ΠΏΠ°ΡΡΠ΅ΡΠΎ b
. Π Π½ΠΈΠ΅ Π³ΠΈ ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΠΌΠ΅. ΠΠΊΠΎ ΡΠ΅ ΡΠΎΠ²ΠΏΠ°ΡΠ°Π°Ρ, ΡΠΎΠ³Π°Ρ Π½Π°ΡΠ΄ΠΎΠ²ΠΌΠ΅ ΡΠ°ΡΠΊΡΡΠ½ΠΈΡΠ°. Π Π·Π°ΡΡΠ²Π°ΡΡΠ΅ Π³ΠΎ Π²ΠΎ result
.
ΠΠΎΠΈ ΡΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠΈΡΠ΅? ΠΠ²Π°Π΄ΡΠ°ΡΠ½Π°ΡΠ° ΡΠ»ΠΎΠΆΠ΅Π½ΠΎΡΡ Π΅ Π½Π΅ΡΠ·ΠΈΠ½ΠΈΠΎΡ Π³Π»Π°Π²Π΅Π½ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ Π²Π°ΡΠΈΡΠ΅ Π΄ΠΈΠΌΠ΅Π½Π·ΠΈΠΈ ΡΠ΅ ΠΏΠ°ΡΡΠ΅ a
ΠΈ b
Π΅Π΄Π΅Π½ ΠΌΠΈΠ»ΠΈΠΎΠ½ ΠΎΠ΄Π΅Π΄Π½Π°Ρ, ΡΠΎΠ³Π°Ρ ΠΎΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΡΠ° Π½ΠΈΠΊΠΎΠ³Π°Ρ Π½Π΅ΠΌΠ° Π΄Π° Π²ΠΈ Π²ΡΠ°ΡΠΈ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ. ΠΠ°ΡΠΎΠ° ΡΡΠΎ ΡΠ΅ ΡΡΠ΅Π±Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ Π΅Π΄Π΅Π½ ΡΡΠΈΠ»ΠΈΠΎΠ½ ΠΏΠΎΠ²ΡΠΎΡΡΠ²Π°ΡΠ°, ΡΡΠΎ Π΅ ΠΌΠ½ΠΎΠ³Ρ Π΄ΡΡΠΈ ΠΈ Π·Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΈ.
ΠΡΠΎΡΠ°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΡΠ΅ Π±Π°Π·ΠΈΡΠ° Π½Π° ΠΌΠ°ΠΏΠ°. ΠΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΠΌΠ°ΠΏΠ°. ΠΠΈ ΡΡΠ°Π²Π°ΠΌΠ΅ ΡΠΈΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΎΠ΄ ΠΏΠ°ΡΡΠ΅ Π²ΠΎ ΠΎΠ²Π°Π° ΠΊΠ°ΡΡΠ° a
. ΠΠΎΡΠΎΠ° ΠΏΠΎΠΌΠΈΠ½ΡΠ²Π°ΠΌΠ΅ Π½ΠΈΠ· ΠΏΠ°ΡΡΠ΅ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π½Π° ΡΠ°ΠΌΠΊΠ° b
. Π Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ Π΄Π°Π»ΠΈ ΠΎΠ²Π°Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π΅ ΠΎΠ΄ ΠΏΠ°ΡΡΠ΅ b
Π²ΠΎ ΠΌΠ°ΠΏΠ°ΡΠ°. ΠΠΊΠΎ ΠΏΠΎΡΡΠΎΠΈ, ΡΠΎΠ³Π°Ρ Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ Π³ΠΎ Π²ΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ.
ΠΠΎΠΈ ΡΠ΅ ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈΡΠ΅? ΠΡΠ΅Π΄Π½ΠΎΡΡΠ° Π΅ ΡΡΠΎ ΠΈΠΌΠ° ΡΠ°ΠΌΠΎ Π»ΠΈΠ½Π΅Π°ΡΠ½Π° ΡΠ»ΠΎΠΆΠ΅Π½ΠΎΡΡ. ΠΠ΄Π½ΠΎΡΠ½ΠΎ, ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ±ΡΠ·ΠΎ Π·Π° ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΠ°ΡΡΠΈΡΠ°. ΠΠ° ΠΏΠ°ΡΡΠ΅ ΡΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° ΠΎΠ΄ ΠΌΠΈΠ»ΠΈΠΎΠ½, ΠΎΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΡΠ° ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π²ΠΎ 2 ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ²Π°ΡΠ°, Π½Π°ΡΠΏΡΠΎΡΠΈ ΡΡΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ²Π°ΡΠ° Π½Π° ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡΠ°.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π΅ ΡΡΠΎ ΠΎΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΡΠ° Π±Π°ΡΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π·Π° Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ ΠΎΠ²Π°Π° ΠΊΠ°ΡΡΠ°.
ΠΡΠΎΡΠΈΠΎΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π΅ Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ ΡΡΠΎΡΠΎΡΠΈ Π·Π° Ρ Π°ΡΠΈΡΠ°ΡΠ΅. ΠΠ²ΠΎΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³Ρ ΠΎΡΠΈΠ³Π»Π΅Π΄Π΅Π½. Π ΠΊΠ°Ρ Π½Π°Ρ ΡΠΎΠ° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π΅ Π±Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ ΠΎΡΠΈΠ³Π»Π΅Π΄Π½ΠΎ, ΡΠ°ΠΊΠ° ΡΡΠΎ Π½Π° ΠΏΠΎΡΠ΅ΡΠΎΠΊΠΎΡ Π²ΠΎ VictoriaMetrics ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π²ΠΊΡΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π±Π΅ΡΠ΅ ΠΏΡΠ΅ΠΊΡ ΠΌΠ°ΠΏΠ°. ΠΠΎ, ΡΠΎΠ³Π°Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ°ΡΠ΅ΡΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ° Π΄Π΅ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° Π³Π»Π°Π²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΡΠ΅ ΡΡΠΎΡΠΈ Π·Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠ°ΠΏΠ°ΡΠ° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° ΠΏΡΠΈΡΡΡΡΠ²ΠΎ Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π½Π° ΠΎΠ²Π°Π° ΠΊΠ°ΡΡΠ°.
ΠΠΎΡΡΠΎ ΡΠ΅ ΡΡΠΎΡΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΌΠ΅ΡΡΠ°? ΠΠΈΠ΄Π΅ΡΡΠΈ Go Π²ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Π·Π° Ρ Π°ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΎΠ²ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΈ. ΠΠ΄Π½ΠΎΡΠ½ΠΎ, Π³ΠΎ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π° Ρ Π°ΡΠΎΡ Π½Π° ΠΊΠ»ΡΡΠΎΡ Π·Π° ΠΏΠΎΡΠΎΠ° Π΄Π° ΠΌΡ ΠΏΡΠΈΡΡΠ°ΠΏΠΈ Π½Π° Π΄Π°Π΄Π΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ Π²ΠΎ HashMap. ΠΠΏΠ΅ΡΠ°ΡΠΈΡΠ°ΡΠ° Π·Π° ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ Π½Π° Ρ Π°Ρ Π΅ Π·Π°Π²ΡΡΠ΅Π½Π° Π²ΠΎ Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ Π½Π°Π½ΠΎΡΠ΅ΠΊΡΠ½Π΄ΠΈ. ΠΠ²Π° Π΅ Π±Π°Π²Π½ΠΎ Π·Π° VictoriaMetrics.
Π Π΅ΡΠΈΠ² Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΠΌ Π±ΠΈΡ-ΡΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ Π·Π° ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ. ΠΠ°ΠΊΠ° ΡΠ΅Π³Π° ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΏΡΠ΅ΡΠ΅ΠΊΠΎΡ Π½Π° Π΄Π²Π΅ ΠΏΠ°ΡΡΠΈΡΠ°. ΠΠ²Π΄Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΠΌΠ΅ Π±ΠΈΡΠΎΠ²ΠΈ. ΠΠΎ Π½Π΅Π° Π΄ΠΎΠ΄Π°Π²Π°ΠΌΠ΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΠΎΠ΄ ΠΏΡΠ²ΠΎΡΠΎ ΠΏΠ°ΡΡΠ΅. ΠΠΎΡΠΎΠ° Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ ΠΏΡΠΈΡΡΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΎΠ²ΠΈΠ΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π²ΠΎ Π²ΡΠΎΡΠΈΠΎΡ Π΄Π΅Π». Π Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ Π³ΠΈ Π²ΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ. Π’ΠΎΠ° Π΅, ΡΠ΅ΡΠΈΡΠΈ Π½Π΅ ΡΠ΅ ΡΠ°Π·Π»ΠΈΠΊΡΠ²Π° ΠΎΠ΄ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΈΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎΡΠΎ Π½Π΅ΡΡΠΎ ΠΎΠ²Π΄Π΅ Π΅ ΡΡΠΎ Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠ²ΠΌΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏΠΎΡ Π΄ΠΎ ΠΊΠ°ΡΡΠ°ΡΠ° ΡΠΎ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ add
ΠΈ has
.
ΠΠ° ΠΏΡΠ² ΠΏΠΎΠ³Π»Π΅Π΄, ΡΠ΅ ΡΠΈΠ½ΠΈ Π΄Π΅ΠΊΠ° ΠΎΠ²Π° ΡΡΠ΅Π±Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎΠ±Π°Π²Π½ΠΎ, Π°ΠΊΠΎ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΡΠ°ΠΌΡ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅Π»Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π° ΠΌΠ°ΠΏΠ°, Π° ΠΏΠΎΡΠΎΠ° ΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΠ°Π°Ρ Π½Π΅ΠΊΠΎΠΈ Π΄ΡΡΠ³ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ°ΡΠ΅ΡΠΎ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° Π΄Π΅ΠΊΠ° ΠΎΠ²Π°Π° ΡΠ°Π±ΠΎΡΠ° ΡΠ°Π±ΠΎΡΠΈ 10 ΠΏΠ°ΡΠΈ ΠΏΠΎΠ±ΡΠ·ΠΎ ΠΎΠ΄ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π°ΡΠ° ΠΌΠ°ΠΏΠ° Π²ΠΎ ΡΠ»ΡΡΠ°ΡΠΎΡ ΡΠΎ VictoriaMetrics.
ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, ΠΊΠΎΡΠΈΡΡΠΈ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π²ΠΎ ΡΠΏΠΎΡΠ΅Π΄Π±Π° ΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΌΠ°ΠΏΠ°ΡΠ°. ΠΠ°ΡΠΎΠ° ΡΡΠΎ ΠΎΠ²Π΄Π΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΠΌΠ΅ Π±ΠΈΡΠΎΠ²ΠΈ Π½Π°ΠΌΠ΅ΡΡΠΎ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΎΠ΄ ΠΎΡΡΠΌ Π±Π°ΡΡΠΈ.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π½Π° ΠΎΠ²Π°Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π΅ ΡΡΠΎ Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΡ ΠΎΡΠΈΠ³Π»Π΅Π΄Π½Π°, Π½Π΅ Π΅ ΡΡΠΈΠ²ΠΈΡΠ°Π»Π½Π°.
ΠΡΡΠ³ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΡΠΌΠΈΠ½Π° ΠΌΠΎΠΆΠ΅Π±ΠΈ Π½Π΅ΠΌΠ° Π΄Π° Π³ΠΎ Π·Π°Π±Π΅Π»Π΅ΠΆΠ°Ρ Π΅ ΡΠΎΠ° ΡΡΠΎ ΠΎΠ²Π°Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ Π΄ΠΎΠ±ΡΠΎ Π²ΠΎ Π½Π΅ΠΊΠΎΠΈ ΡΠ»ΡΡΠ°ΠΈ. ΠΠ΄Π½ΠΎΡΠ½ΠΎ, ΡΠΎΡ Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠ»ΡΡΠ°Ρ, Π·Π° ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ Π½Π° Π²ΠΊΡΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ Π½Π° VictoriaMetrics. ΠΠ²Π° Π½Π΅ Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° Π΅ ΠΏΠΎΠ³ΠΎΠ΄Π΅Π½ Π·Π° ΡΠΈΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ. ΠΠΊΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, Π½Π΅ΠΌΠ° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅, ΡΡΠΊΡ Π³ΡΠ΅ΡΠΊΠ° Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΈ Π·Π°Π±Π°Π²ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅.
ΠΡΠ΄Π΅ Π΄Π° ΡΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΎΠ²Π°Π° ΡΡΡΡΠΊΡΡΡΠ°. ΠΠΊΠΎ ΡΠ°ΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅, ΡΠ΅ Π½Π°ΠΎΡΠ° Π²ΠΎ ΠΈΠ·Π²ΠΎΡΠΈΡΠ΅ Π½Π° VictoriaMetrics, Π²ΠΎ ΠΏΠ°ΠΏΠΊΠ°ΡΠ° timeseries_id
Π΅ 64-Π±ΠΈΡΠ½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ, ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΠΏΡΠ²ΠΈΡΠ΅ 32 Π±ΠΈΡΠ° ΡΠ΅ Π²ΠΎ ΠΎΡΠ½ΠΎΠ²Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΈ ΠΈ ΡΠ°ΠΌΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ 32 Π±ΠΈΡΠ° ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π°Π°Ρ.
ΠΠ²Π°Π° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π΅ Π΅ Π·Π°ΡΡΠ²Π°Π½Π° Π½Π° Π΄ΠΈΡΠΊΠΎΡ, ΡΠ°Π° ΡΠ°Π±ΠΎΡΠΈ ΡΠ°ΠΌΠΎ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°.
ΠΠ²Π΅ Π³ΠΎ Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ API. ΠΠ΅ Π΅ ΠΌΠ½ΠΎΠ³Ρ ΠΊΠΎΠΌΠΏΠ»ΠΈΡΠΈΡΠ°Π½ΠΎ. API Π΅ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° VictoriaMetrics. ΠΠ΄Π½ΠΎΡΠ½ΠΎ, ΡΡΠΊΠ° Π½Π΅ΠΌΠ° Π½Π΅ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ²Π΅ Π³ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ ΡΡΠΎ Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠΈ VictoriaMetrics.
ΠΠΎΡΡΠΎΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ add
, ΡΡΠΎ Π΄ΠΎΠ΄Π°Π²Π° Π½ΠΎΠ²ΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ. ΠΠΌΠ° ΡΡΠ½ΠΊΡΠΈΡΠ° has
, ΠΊΠΎΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π·Π° Π½ΠΎΠ²ΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ. Π ΠΈΠΌΠ° ΡΡΠ½ΠΊΡΠΈΡΠ° del
, ΡΡΠΎ Π³ΠΈ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈΡΠ΅. ΠΠΎΡΡΠΎΠΈ ΠΏΠΎΠΌΠΎΡΠ½Π° ΡΡΠ½ΠΊΡΠΈΡΠ° len
, ΡΡΠΎ ΡΠ° Π²ΡΠ°ΡΠ° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠ»Π΅ΡΠΎΡ. Π€ΡΠ½ΠΊΡΠΈΡΠ° clone
ΠΊΠ»ΠΎΠ½ΠΈΡΠ° ΠΌΠ½ΠΎΠ³Ρ. Π ΡΡΠ½ΠΊΡΠΈΡΠ° appendto
Π³ΠΎ ΠΏΡΠ΅ΡΠ²ΠΎΡΠ° ΠΎΠ²Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΎ ΠΏΠ°ΡΡΠ΅ timeseries_ids
.
ΠΠ°ΠΊΠ° ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΎΠ²Π°Π° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΊΠΎΠΌΠΏΠ»Π΅ΡΠΎΡ ΠΈΠΌΠ° Π΄Π²Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ:
-
ItemsCount
Π΅ ΠΏΠΎΠΌΠΎΡΠ½ΠΎ ΠΏΠΎΠ»Π΅ Π·Π° Π±ΡΠ·ΠΎ Π²ΡΠ°ΡΠ°ΡΠ΅ Π½Π° Π±ΡΠΎΡΠΎΡ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΡΠΎ. Π’ΠΎΠ° Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Π±Π΅Π· ΠΎΠ²Π° ΠΏΠΎΠΌΠΎΡΠ½ΠΎ ΠΏΠΎΠ»Π΅, Π½ΠΎ ΠΌΠΎΡΠ°ΡΠ΅ Π΄Π° ΡΠ΅ Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΎΠ²Π΄Π΅ Π±ΠΈΠ΄Π΅ΡΡΠΈ VictoriaMetrics ΡΠ΅ΡΡΠΎ ΡΠ° Π±Π°ΡΠ° Π΄ΠΎΠ»ΠΆΠΈΠ½Π°ΡΠ° Π½Π° Π±ΠΈΡΠΎΠ²ΠΈ Π²ΠΎ ΡΠ²ΠΎΠΈΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ. -
ΠΡΠΎΡΠΎΡΠΎ ΠΏΠΎΠ»Π΅ Π΅
buckets
. ΠΠ²Π° Π΅ ΠΏΠ°ΡΡΠ΅ ΠΎΠ΄ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°bucket32
. Π‘Π΅ΠΊΠΎΡΠ° ΡΡΡΡΠΊΡΡΡΠ° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°hi
ΠΠΎΠ»Π΅. ΠΠ²Π° ΡΠ΅ Π³ΠΎΡΠ½ΠΈΡΠ΅ 32 Π±ΠΈΡΠ°. Π Π΄Π²Π΅ ΠΏΠ°ΡΡΠΈΡΠ° -b16his
ΠΈbuckets
Π½Π°bucket16
ΡΡΡΡΠΊΡΡΡΠΈ.
Π’ΡΠΊΠ° ΡΠ΅ Π·Π°ΡΡΠ²Π°Π½ΠΈ ΠΏΡΠ²ΠΈΡΠ΅ 16 Π±ΠΈΡΠ° ΠΎΠ΄ Π²ΡΠΎΡΠΈΠΎΡ Π΄Π΅Π» ΠΎΠ΄ 64-Π±ΠΈΡΠ½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ°. Π ΡΡΠΊΠ° Π±ΠΈΡΠΎΠ²ΠΈ ΡΠ΅ Π·Π°ΡΡΠ²Π°Π½ΠΈ Π·Π° Π΄ΠΎΠ»Π½ΠΈΡΠ΅ 16 Π±ΠΈΡΠ° ΠΎΠ΄ ΡΠ΅ΠΊΠΎΡ Π±Π°ΡΡ.
Bucket64
ΡΠ΅ ΡΠΎΡΡΠΎΠΈ ΠΎΠ΄ Π½ΠΈΠ·Π° uint64
. ΠΠΎΠ»ΠΆΠΈΠ½Π°ΡΠ° ΡΠ΅ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π° ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈ. ΠΠΎ Π΅Π΄Π΅Π½ bucket16
ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ° 2^16=65536
ΠΌΠ°Π»ΠΊΡ. ΠΠΊΠΎ Π³ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΠ΅ ΠΎΠ²Π° ΡΠΎ 8, ΡΠΎΠ³Π°Ρ ΡΠΎΠ° Π΅ 8 ΠΊΠΈΠ»ΠΎΠ±Π°ΡΡΠΈ. ΠΠΊΠΎ ΠΏΠ°ΠΊ ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈ ΡΠΎ 8, ΡΠΎΠ° Π΅ 1000 uint64
Π·Π½Π°ΡΠ΅ΡΠ΅. Π’ΠΎΠ° Π΅ Bucket16
β ΠΎΠ²Π° Π΅ Π½Π°ΡΠ°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° ΠΎΠ΄ 8 ΠΊΠΈΠ»ΠΎΠ±Π°ΡΡΠΈ.
ΠΡΠ΄Π΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° Π΅Π΄Π΅Π½ ΠΎΠ΄ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π½Π° ΠΎΠ²Π°Π° ΡΡΡΡΠΊΡΡΡΠ° Π·Π° Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ Π½ΠΎΠ²Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ.
Π‘Γ¨ Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° ΡΠΎ uint64
Π·Π½Π°ΡΠ΅ΡΠ°. ΠΠΈ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΠΌΠ΅ Π³ΠΎΡΠ½ΠΈΡΠ΅ 32 Π±ΠΈΡΠ°, Π³ΠΈ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΠΌΠ΅ Π΄ΠΎΠ»Π½ΠΈΡΠ΅ 32 Π±ΠΈΡΠ°. ΠΡΠ΄Π΅ Π΄Π° ΠΏΠΎΠΌΠΈΠ½Π΅ΠΌΠ΅ Π½ΠΈΠ· ΡΓ¨ buckets
. ΠΠΈ ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΠΌΠ΅ ΠΏΡΠ²ΠΈΡΠ΅ 32 Π±ΠΈΡΠ° Π²ΠΎ ΡΠ΅ΠΊΠΎΡΠ° ΠΊΠΎΡΠΏΠ° ΡΠΎ Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π°ΡΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡ. Π Π°ΠΊΠΎ ΡΠΈΠ΅ ΡΠ΅ ΡΠΎΠ²ΠΏΠ°ΡΠ°Π°Ρ, ΡΠΎΠ³Π°Ρ ΡΠ° Π½Π°ΡΠ΅ΠΊΡΠ²Π°ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° add
Π²ΠΎ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° b32 buckets
. Π Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ Π³ΠΈ Π΄ΠΎΠ»Π½ΠΈΡΠ΅ 32 Π±ΠΈΡΠ° ΡΠ°ΠΌΡ. Π Π°ΠΊΠΎ ΡΠ΅ Π²ΡΠ°ΡΠΈ true
, ΡΠΎΠ³Π°Ρ ΡΠΎΠ° Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° ΡΠΌΠ΅ Π΄ΠΎΠ΄Π°Π»Π΅ ΡΠ°ΠΊΠ²Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΡΠ°ΠΌΡ ΠΈ Π½Π΅ ΡΠΌΠ΅ ΠΈΠΌΠ°Π»Π΅ ΡΠ°ΠΊΠ²Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ. ΠΠΊΠΎ ΡΠ΅ Π²ΡΠ°ΡΠΈ false
, ΡΠΎΠ³Π°Ρ ΡΠ°ΠΊΠ²ΠΎΡΠΎ Π·Π½Π°ΡΠ΅ΡΠ΅ Π²Π΅ΡΠ΅ ΠΏΠΎΡΡΠΎΠ΅Π»ΠΎ. ΠΠΎΡΠΎΠ° Π³ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΠΌΠ΅ Π±ΡΠΎΡΠΎΡ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π²ΠΎ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°.
ΠΠΊΠΎ Π½Π΅ Π³ΠΎ Π½Π°ΡΠ΄ΠΎΠ²ΠΌΠ΅ ΠΎΠ½ΠΎΡ ΡΡΠΎ Π²ΠΈ ΡΡΠ΅Π±Π° bucket
ΡΠΎ ΠΏΠΎΡΡΠ΅Π±Π½Π°ΡΠ° hi-Π²ΡΠ΅Π΄Π½ΠΎΡΡ, ΡΠΎΠ³Π°Ρ ΡΠ° ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° addAlloc
, ΠΊΠΎΡ ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅ Π½ΠΎΠ² bucket
, Π΄ΠΎΠ΄Π°Π²Π°ΡΡΠΈ Π³ΠΎ Π²ΠΎ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΊΠΎΡΠΏΠ°ΡΠ°.
ΠΠ²Π° Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° b32.add
. Π‘Π»ΠΈΡΠ½ΠΎ Π΅ Π½Π° ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½Π°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°. ΠΠΈΠ΅ Π³ΠΈ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΠΌΠ΅ Π½Π°ΡΠ·Π½Π°ΡΠ°ΡΠ½ΠΈΡΠ΅ 16 Π±ΠΈΡΠ°, Π½Π°ΡΠΌΠ°Π»ΠΊΡ Π·Π½Π°ΡΠ°ΡΠ½ΠΈΡΠ΅ 16 Π±ΠΈΡΠ°.
ΠΠΎΡΠΎΠ° ΠΏΠΎΠΌΠΈΠ½ΡΠ²Π°ΠΌΠ΅ Π½ΠΈΠ· ΡΠΈΡΠ΅ Π³ΠΎΡΠ½ΠΈ 16 Π±ΠΈΡΠ°. ΠΠ°ΠΎΡΠ°ΠΌΠ΅ Π½Π°ΡΠΏΡΠ΅Π²Π°ΡΠΈ. Π Π°ΠΊΠΎ ΠΈΠΌΠ° ΡΠΎΠ²ΠΏΠ°ΡΠ°ΡΠ΅, Π³ΠΎ Π½Π°ΡΠ΅ΠΊΡΠ²Π°ΠΌΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΡ Π·Π° Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅, ΠΊΠΎΡ ΡΠ΅ Π³ΠΎ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π° ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° bucket16
.
Π ΡΡΠΊΠ° Π΅ Π½Π°ΡΠ½ΠΈΡΠΊΠΎΡΠΎ Π½ΠΈΠ²ΠΎ, ΠΊΠΎΠ΅ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ° ΡΡΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅. ΠΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΠΌΠ΅ Π·Π° uint64
id Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π²ΠΎ ΠΏΠ°ΡΡΠ΅ Π±ΠΈΡ ΠΈ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° bitmask
. ΠΠ²Π° Π΅ ΠΌΠ°ΡΠΊΠ° Π·Π° Π΄Π°Π΄Π΅Π½Π° 64-Π±ΠΈΡΠ½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ, ΠΊΠΎΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈ ΠΏΡΠΈΡΡΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΎΠ²ΠΎΡ Π±ΠΈΡ ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΈ. ΠΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ Π΄Π°Π»ΠΈ ΠΎΠ²ΠΎΡ Π±ΠΈΡ Π΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½ ΠΈ Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΠΌΠ΅ ΠΈ Π²ΡΠ°ΡΠ°ΠΌΠ΅ ΠΏΡΠΈΡΡΡΡΠ²ΠΎ. ΠΠ²Π° Π΅ Π½Π°ΡΠ°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°, ΠΊΠΎΡΠ° Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° ΡΠ° Π·Π°Π±ΡΠ·Π°ΠΌΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π²ΠΊΡΡΡΠ΅Π½ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ Π·Π° 10 ΠΏΠ°ΡΠΈ Π²ΠΎ ΡΠΏΠΎΡΠ΅Π΄Π±Π° ΡΠΎ ΠΊΠΎΠ½Π²Π΅Π½ΡΠΈΠΎΠ½Π°Π»Π½ΠΈΡΠ΅ ΠΊΠ°ΡΡΠΈ.
ΠΠΎΠΊΡΠ°Ρ ΠΎΠ²Π°Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ°, VictoriaMetrics ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρ Π΄ΡΡΠ³ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π±Π΅Π° Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π°, Π½ΠΎ ΠΏΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄ΠΎΡ Π²ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ.
ΠΠ²Π° Π΅ Π³Π»Π°Π²Π½ΠΎΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° - Π½Π΅ Π΄ΠΎΠ΄Π°Π²Π°ΡΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° ΠΏΠΎΠ΄ ΠΏΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΠΊΠ° Π΄Π΅ΠΊΠ° ΡΠ΅ ΠΈΠΌΠ° ΡΠ΅ΡΠ½ΠΎ Π³ΡΠ»ΠΎ ΠΎΠ²Π΄Π΅, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΡΠΏΠ°Π΄Π½Π΅ Π΄Π΅ΠΊΠ° ΡΠ°ΠΌΡ Π½Π΅ΠΌΠ° Π΄Π° ΠΈΠΌΠ° ΡΠ΅ΡΠ½ΠΎ Π³ΡΠ»ΠΎ. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ°ΡΠ° ΠΎΠ±ΠΈΡΠ½ΠΎ Π³ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΠΊΠ²Π°Π»ΠΈΡΠ΅ΡΠΎΡ Π½Π° ΠΊΠΎΠ΄ΠΎΡ. ΠΠ°ΡΠΎΠ°, Π²ΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ° ΡΠ°ΠΌΠΎ ΠΏΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ°ΡΠ΅ΡΠΎ ΠΈ ΠΏΠΎ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π²ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ, ΡΠ°ΠΊΠ° ΡΡΠΎ ΠΎΠ²Π° ΡΠ΅ Π²ΠΈΡΡΠΈΠ½ΡΠΊΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠΊΠΎ Π½Π΅ΠΊΠΎΡ Π΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈΡΠ°Π½, ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ ΠΈΠ·Π²ΠΎΡΠ½ΠΈΠΎΡ ΠΊΠΎΠ΄ Π½Π° VictoriaMetrics ΠΈ Π΄Π° ΠΈΡΡΡΠ°ΠΆΠΈ Π΄ΡΡΠ³ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎ ΡΠ΅ ΡΠ°ΠΌΡ.
ΠΠΌΠ°ΠΌ ΠΏΡΠ°ΡΠ°ΡΠ΅ Π·Π° bitset. ΠΠ½ΠΎΠ³Ρ ΡΠ»ΠΈΡΠ½ΠΎ Π½Π° C++ Π²Π΅ΠΊΡΠΎΡΡΠΊΠ°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Π±ΡΠ», ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ Π±ΠΈΡ-ΡΠ΅Ρ. ΠΠ°Π»ΠΈ ΠΎΠ΄ ΡΠ°ΠΌΡ ΡΠ° Π·Π΅Π΄ΠΎΠ²ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ°?
ΠΠ΅, Π½Π΅ ΠΎΠ΄ ΡΠ°ΠΌΡ. ΠΠΎΠ³Π° Π³ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π² ΠΎΠ²ΠΎΡ Π±ΠΈΡ-ΡΠ΅Ρ, Π±Π΅Π² Π²ΠΎΠ΄Π΅Π½ ΠΎΠ΄ Π·Π½Π°Π΅ΡΠ΅ΡΠΎ Π·Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΎΠ²ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°, ΠΊΠΎΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π²ΠΎ VictoriaMetrics. Π Π½ΠΈΠ²Π½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Π΅ ΡΠ°ΠΊΠ²Π° ΡΡΠΎ Π³ΠΎΡΠ½ΠΈΡΠ΅ 32 Π±ΠΈΡΠ° ΡΠ΅ Π²ΠΎ ΠΎΡΠ½ΠΎΠ²Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΈ. ΠΠΎΠ»Π½ΠΈΡΠ΅ 32 Π±ΠΈΡΠ° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π°. ΠΠΎΠ»ΠΊΡ Π΅ ΠΏΠΎΠΌΠ°Π» Π±ΠΈΡΠΎΡ, ΡΠΎΠ»ΠΊΡ ΠΏΠΎΡΠ΅ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π°. ΠΠ°ΡΠΎΠ°, ΠΎΠ²Π°Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π΅ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π·Π° ΠΎΠ²Π°Π° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° C++, ΠΊΠΎΠ»ΠΊΡ ΡΡΠΎ Π·Π½Π°ΠΌ, Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π·Π° ΠΎΠΏΡΡΠΈΠΎΡ ΡΠ»ΡΡΠ°Ρ. ΠΠΊΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π·Π° ΠΎΠΏΡΡΠΈΠΎΡ ΡΠ»ΡΡΠ°Ρ, ΡΠΎΠ° Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π΅ Π½Π°ΡΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΎ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠ»ΡΡΠ°Ρ.
ΠΡΡΠΎ ΡΠ°ΠΊΠ°, Π²Π΅ ΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌ Π΄Π° Π³ΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ°ΡΠΎΡ Π½Π° ΠΠ»Π΅ΠΊΡΠ΅Ρ ΠΠΈΠ»ΠΎΠ²ΠΈΠ΄. ΠΡΠ΅Π΄ ΠΎΠΊΠΎΠ»Ρ Π΅Π΄Π΅Π½ ΠΌΠ΅ΡΠ΅Ρ Π·Π±ΠΎΡΡΠ²Π°ΡΠ΅ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° Π²ΠΎ ClickHouse Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π’ΠΎΡ ΡΠ°ΠΌΠΎ Π²Π΅Π»ΠΈ Π΄Π΅ΠΊΠ° Π²ΠΎ ΠΎΠΏΡΡΠΈΠΎΡ ΡΠ»ΡΡΠ°Ρ, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° C++ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠ° Π΄ΡΡΠ³Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π΅ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π΄ΠΎΠ±ΡΠΎ Π²ΠΎ ΠΏΡΠΎΡΠ΅ΠΊ Π²ΠΎ Π±ΠΎΠ»Π½ΠΈΡΠ°. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎΠ»ΠΎΡΠΎ ΠΎΠ΄ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Π° Π·Π° Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊΠΎ Π½Π°ΡΠ°ΡΠ°, ΠΊΠ°Π΄Π΅ ΡΡΠΎ Π·Π½Π°Π΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΏΡΠ²ΠΈΡΠ΅ 32 Π±ΠΈΡΠ° ΡΠ΅ Π³Π»Π°Π²Π½ΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΈ.
ΠΠΌΠ°ΠΌ Π²ΡΠΎΡΠΎ ΠΏΡΠ°ΡΠ°ΡΠ΅. ΠΠΎΡΠ° Π΅ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ InfluxDB?
ΠΠΌΠ° ΠΌΠ½ΠΎΠ³Ρ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ ΡΠ°Π·Π»ΠΈΠΊΠΈ. ΠΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ ΠΈ ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, InfluxDB Π²ΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° 10 ΠΏΠ°ΡΠΈ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ ΡΠΎ Π²ΠΈΡΠΎΠΊΠ° ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»Π½ΠΎΡΡ, ΠΊΠΎΠ³Π° ΠΈΠΌΠ°ΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ ΠΎΠ΄ Π½ΠΈΠ², Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, VictoriaMetrics ΡΡΠΎΡΠΈ 1 GB Π½Π° ΠΌΠΈΠ»ΠΈΠΎΠ½ Π°ΠΊΡΠΈΠ²Π½ΠΈ ΡΠ΅Π΄ΠΎΠ²ΠΈ, Π΄ΠΎΠ΄Π΅ΠΊΠ° InfluxDB ΡΡΠΎΡΠΈ 10 GB. Π ΡΠΎΠ° Π΅ Π³ΠΎΠ»Π΅ΠΌΠ° ΡΠ°Π·Π»ΠΈΠΊΠ°.
ΠΡΠΎΡΠ°ΡΠ° ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΡΠ°Π·Π»ΠΈΠΊΠ° Π΅ ΡΡΠΎ InfluxDB ΠΈΠΌΠ° ΡΡΠ΄Π½ΠΈ ΡΠ°Π·ΠΈΡΠΈ Π·Π° ΠΏΡΠ°ΡΠ°ΡΠ° - Flux ΠΈ InfluxQL. Π’ΠΈΠ΅ Π½Π΅ ΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ Π²ΠΎ ΡΠΏΠΎΡΠ΅Π΄Π±Π° ΡΠΎ
Π ΡΡΡΠ΅ Π΅Π΄Π½Π° ΡΠ°Π·Π»ΠΈΠΊΠ° Π΅ ΡΡΠΎ InfluxDB ΠΈΠΌΠ° ΠΌΠ°Π»ΠΊΡ ΡΡΠ΄Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΡΠ΅ΠΊΠΎΡΠ° Π»ΠΈΠ½ΠΈΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΠΎΠ»ΠΈΡΠ° ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΡΠ΅Ρ Π½Π° ΠΎΠ·Π½Π°ΠΊΠΈ. ΠΠ²ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΠΏΠΎΠ½Π°ΡΠ°ΠΌΡ ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°Π±Π΅Π»ΠΈ. ΠΠ²ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΠΎΠΌΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ° ΠΊΠΎΠΌΠΏΠ»ΠΈΡΠΈΡΠ°Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΠΎΠ²Π°Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. Π’Π΅ΡΠΊΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΠΆΠΈ ΠΈ ΡΠ°Π·Π±Π΅ΡΠ΅.
ΠΠΎ VictoriaMetrics ΡΓ¨ Π΅ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ. Π’Π°ΠΌΡ, ΡΠ΅ΠΊΠΎΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠ° ΡΠ΅ΡΠΈΡΠ° Π΅ ΠΊΠ»ΡΡ-Π²ΡΠ΅Π΄Π½ΠΎΡΡ. ΠΡΠ΅Π΄Π½ΠΎΡΡΠ° Π΅ Π·Π±ΠΈΡ Π½Π° ΠΏΠΎΠ΅Π½ΠΈ - (timestamp, value)
, Π° ΠΊΠ»ΡΡΠΎΡ Π΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΡΠΎΡ label=value
. ΠΠ΅ ΠΏΠΎΡΡΠΎΠΈ ΠΏΠΎΠ΄Π΅Π»Π±Π° ΠΏΠΎΠΌΠ΅ΡΡ ΠΏΠΎΠ»ΠΈΡΠ°ΡΠ° ΠΈ ΠΌΠ΅ΡΠ΅ΡΠ°ΡΠ°. ΠΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΡ Π±ΠΈΠ»ΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΠΊ ΠΈ ΠΏΠΎΡΠΎΠ° Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΡΠ΅, Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅, ΠΎΠ΄Π·Π΅ΠΌΠ°ΡΠ΅, ΠΌΠ½ΠΎΠΆΠΈΡΠ΅, Π΄Π΅Π»ΠΈΡΠ΅, Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ InfluxDB ΠΊΠ°Π΄Π΅ ΠΏΡΠ΅ΡΠΌΠ΅ΡΠΊΠΈΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π΄ΠΎΠ²ΠΈ ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ»ΠΊΡ ΡΡΠΎ Π·Π½Π°ΠΌ. ΠΡΡΠΈ ΠΈ Π΄Π° ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π°Ρ, ΡΠ΅ΡΠΊΠΎ Π΅, ΠΌΠΎΡΠ° Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ ΠΊΠΎΠ΄.
ΠΠΌΠ°ΠΌ Π΅Π΄Π½ΠΎ ΠΏΠΎΡΠ°ΡΠ½ΡΠ²Π°ΡΠΊΠΎ ΠΏΡΠ°ΡΠ°ΡΠ΅. ΠΠ°Π»ΠΈ Π΄ΠΎΠ±ΡΠΎ ΡΠ°Π·Π±ΡΠ°Π² Π΄Π΅ΠΊΠ° ΠΈΠΌΠ° Π½Π΅ΠΊΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π·Π° ΠΊΠΎΡ Π·Π±ΠΎΡΡΠ²Π°ΡΠ΅, Π΄Π΅ΠΊΠ° ΠΎΠ²ΠΎΡ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅ ΡΠ΅ Π²ΠΊΠ»ΠΎΠΏΡΠ²Π° Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΠΏΠ° ΡΠ°ΠΌΡ ΠΈΠΌΠ° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ°?
ΠΡΠ²ΠΎ, ΠΏΠΎΠΊΠ°ΠΆΠ°Π² Π½Π°ΠΈΠ²Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π° ΠΌΠ°ΠΏΠ° Π½Π° Go. ΠΠ²Π°Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π΅ Π΅ ΠΏΠΎΠ³ΠΎΠ΄Π½Π° Π·Π° Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΎΠ²ΠΎΡ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅ Π΅ Π·Π°ΡΡΠ²Π°Π½ Π½Π° Π΄ΠΈΡΠΊΠΎΡ, Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ Π·Π°ΡΡΠ²Π° Π½Π° Π΄ΠΈΡΠΊΠΎΡ Π·Π° ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π΄Π° ΠΎΡΡΠ°Π½Π°Ρ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ ΠΏΡΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅. ΠΠΎ ΠΎΠ²Π°Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°, ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ° ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ°, Π²Π°ΡΠΈΠΎΡ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ΅ ΠΈΡΡΠ΅Π·Π½Π΅. Π ΡΠ΅ Π³ΠΎ ΠΈΠ·Π³ΡΠ±ΠΈΡΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏΠΎΡ Π΄ΠΎ ΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π±ΠΈΠ΄Π΅ΡΡΠΈ Π½Π΅ΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ Π½Π°ΡΠ΄Π΅ΡΠ΅.
ΠΠ΄ΡΠ°Π²ΠΎ! ΠΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈΠΌΠ΅ Π·Π° ΠΈΠ·Π²Π΅ΡΡΠ°ΡΠΎΡ! ΠΠ°Ρ ΡΠ΅ Π²ΠΈΠΊΠ°ΠΌ ΠΠ°Π²Π΅Π». ΠΠ°Ρ ΡΡΠΌ ΠΎΠ΄ Wildberries. ΠΠΌΠ°ΠΌ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠ°ΡΠ°ΡΠ° Π·Π° Π²Π°Ρ. ΠΡΠ°ΡΠ°ΡΠ΅ Π΅Π΄Π΅Π½. ΠΠ°Π»ΠΈ ΠΌΠΈΡΠ»ΠΈΡΠ΅ Π΄Π΅ΠΊΠ° Π°ΠΊΠΎ ΡΡΠ΅ ΠΈΠ·Π±ΡΠ°Π»Π΅ ΠΏΠΎΠΈΠ½Π°ΠΊΠΎΠ² ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΏΡΠΈ Π³ΡΠ°Π΄Π΅ΡΠ΅ΡΠΎ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Π²Π°ΡΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΈ Π³ΠΈ ΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°Π²ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΠΎ ΡΠ΅ΠΊΠΎΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΡΠΎΠ³Π°Ρ ΠΌΠΎΠΆΠ΅Π±ΠΈ ΡΠ΅ Π±Π΅Π²ΡΠ΅ Π²ΠΎ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° Π³ΠΈ ΠΏΡΠ΅ΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΏΡΠΈ ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ, ΡΠ°ΠΌΠΎ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠ°ΠΊΡΠΎΡ Π΄Π΅ΠΊΠ° Π΅Π΄Π½Π° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ° ΡΠΎΠ΄ΡΠΆΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π΅Π΄Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄, ΠΎΠ΄Π½ΠΎΡΠ½ΠΎ Π²ΠΎ Π΅Π΄Π΅Π½ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΈ Π½Π΅ Π±ΠΈ ΠΌΠΎΡΠ°Π»Π΅ Π΄Π° ΡΠ΅ Π³ΡΠΈΠΆΠΈΡΠ΅ Π·Π° ΡΠ°ΠΊΡΠΎΡ Π΄Π΅ΠΊΠ° Π²Π°ΡΠΈΡΠ΅ ΠΏΠ°ΡΡΠΈΡΠ° ΡΠ΅ ΡΠ°ΡΡΡΠ»Π°Π½ΠΈ ΠΏΠΎΠΈΠ½Π°ΠΊΡ? ΠΡΠ°ΡΠ°ΡΠ΅ Π±ΡΠΎΡ 2 - Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΡΠ»ΠΈΡΠ΅Π½ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ ΡΠΎ Π±ΠΈΡΠΎΠ²ΠΈ ΠΈ ΡΓ¨ Π΄ΡΡΠ³ΠΎ, ΡΠΎΠ³Π°Ρ ΠΌΠΎΠΆΠ΅Π±ΠΈ ΡΡΠ΅ ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅Π»Π΅ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ? ΠΠΎΠΆΠ΅Π±ΠΈ ΡΡΠ΅ ΠΏΡΠΎΠ±Π°Π»Π΅ ΡΠ°ΠΊΠ²ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ?
ΠΠ΅Π΄Π½Π°Ρ ΡΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ°ΠΌ Π½Π° Π²ΡΠΎΡΠΎΡΠΎ. Π‘Γ¨ ΡΡΡΠ΅ Π½Π΅ ΡΠΌΠ΅ ΡΡΠΈΠ³Π½Π°Π»Π΅ Π΄ΠΎ ΡΠ°Π° ΡΠΎΡΠΊΠ°. ΠΠΎ, Π°ΠΊΠΎ ΡΡΠ΅Π±Π°, ΡΠ΅ ΡΡΠΈΠ³Π½Π΅ΠΌΠ΅ ΡΠ°ΠΌΡ. Π ΠΏΡΠ²ΠΎΡΠΎ, ΠΊΠΎΠ΅ Π±Π΅ΡΠ΅ ΠΏΡΠ°ΡΠ°ΡΠ΅ΡΠΎ?
Π Π°Π·Π³ΠΎΠ²Π°ΡΠ°Π²ΡΠ΅ Π·Π° Π΄Π²Π΅ ΡΡΠ΅Π½Π°ΡΠΈΡΠ°. Π ΡΠ΅ΠΊΠΎΠ° Π΄Π΅ΠΊΠ° Π³ΠΎ ΠΈΠ·Π±ΡΠ°Π»Π΅ Π²ΡΠΎΡΠΈΠΎΡ ΡΠΎ ΠΏΠΎΡΠ»ΠΎΠΆΠ΅Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°. Π Π½Π΅ Π³ΠΎ ΠΏΡΠ΅ΡΠΏΠΎΡΠΈΡΠ°Π° ΠΏΡΠ²ΠΎΡΠΎ, ΠΊΠ°Π΄Π΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅.
ΠΠ°. ΠΠΎ ΠΏΡΠ²ΠΈΠΎΡ ΡΠ»ΡΡΠ°Ρ, Π²ΠΊΡΠΏΠ½ΠΈΠΎΡ Π²ΠΎΠ»ΡΠΌΠ΅Π½ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΎΡ Π±ΠΈ Π±ΠΈΠ» ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌ, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π²ΠΎ ΡΠ΅ΠΊΠΎΡΠ° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ° Π±ΠΈ ΡΡΠ΅Π±Π°Π»ΠΎ Π΄Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΠΌΠ΅ Π΄ΡΠΏΠ»ΠΈΠΊΠ°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΠΎΠ½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ ΠΊΠΎΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡΠ²Π°Π°Ρ Π½ΠΈΠ· ΡΠΈΡΠ΅ ΠΎΠ²ΠΈΠ΅ ΠΏΠ°ΡΡΠΈΡΠΈΠΈ. Π Π°ΠΊΠΎ Π²Π°ΡΠ°ΡΠ° Π±ΡΠ·ΠΈΠ½Π° Π½Π° ΠΈΡΠΏΡΡΡΠ°ΡΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ Π΅ ΠΌΠ°Π»Π°, ΠΎΠ΄Π½ΠΎΡΠ½ΠΎ ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΈΡΡΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ, ΡΠΎΠ³Π°Ρ Π²ΠΎ ΠΏΡΠ²ΠΈΠΎΡ ΡΠ»ΡΡΠ°Ρ Π±ΠΈ ΠΈΠ·Π³ΡΠ±ΠΈΠ»Π΅ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΠΎ ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π°ΡΠ° Π½Π° Π·Π°ΡΠ°ΡΠ΅Π½ ΠΏΡΠΎΡΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΠΎΡ Π²ΠΎ ΡΠΏΠΎΡΠ΅Π΄Π±Π° ΡΠΎ Π²ΡΠΎΡΠΈΠΎΡ ΡΠ»ΡΡΠ°Ρ.
Π ΡΠ°ΠΊΠ° - Π΄Π°, Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠ°ΡΠ° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ° Π΅ Π΄ΠΎΠ±ΡΠ° ΠΎΠΏΡΠΈΡΠ°. ΠΡΠΎΠΌΠ΅ΡΠ΅Ρ Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈ. ΠΠΎ, ΠΡΠΎΠΌΠ΅ΡΠ΅Ρ ΠΈΠΌΠ° ΡΡΡΠ΅ Π΅Π΄Π΅Π½ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ. ΠΠΎΠ³Π° ΡΠ΅ ΡΠΏΠΎΡΡΠ²Π°Π°Ρ ΠΎΠ²ΠΈΠ΅ Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΎΠ΄ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΡΡΠ²Π°Π°Ρ ΠΌΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π·Π° ΡΠΈΡΠ΅ Π΅ΡΠΈΠΊΠ΅ΡΠΈ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ. ΠΠ°ΡΠΎΠ°, Π°ΠΊΠΎ Π΄Π΅Π»ΠΎΠ²ΠΈΡΠ΅ ΠΎΠ΄ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΡΠΎ Π³ΠΈ ΡΠΏΠΎΡΡΠ²Π° ΡΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈ, ΡΠΎΠ³Π°Ρ ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΌΠ½ΠΎΠ³Ρ ΡΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΏΠΎΡΡΠ²Π°ΡΠ΅ΡΠΎ, Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ VictoriaMetrics. ΠΠΎΠ³Π° ΡΠ΅ ΡΠΏΠΎΡΡΠ²Π°, VictoriaMetrics Π²ΠΎΠΎΠΏΡΡΠΎ Π½Π΅ ΡΡΠΎΡΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°; ΡΠ΅ ΡΡΠΎΡΠ°Ρ ΡΠ°ΠΌΠΎ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΊΠΈΠ»ΠΎΠ±Π°ΡΡΠΈ, Π±Π΅Π· ΠΎΠ³Π»Π΅Π΄ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΡΠΏΠΎΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌΠΎΡ ΡΡΠΎ Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°. ΠΠΈ ΠΎΠ·Π½Π°ΡΡΠ²Π° ΡΠ°Π³ΠΎΠ²ΠΈΡΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ ΠΊΠΎΠΈ ΡΠΎΠ΄ΡΠΆΠ°Ρ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ. Π Π½Π° ΠΎΠ²ΠΎΡ Π½Π°ΡΠΈΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΡΠ΅ Π·Π° ΡΠΏΠ°ΡΠ΅Π½ΠΎ ΠΏΡΠΈΡΡΡΡΠ²ΠΎ Π²ΠΎ Π΅Π΄Π½Π° Π½ΠΈΠ·Π° ΡΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ Π²ΠΎ Π΄ΡΡΠ³Π°. Π ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅ Π΄Π°Π»ΠΈ ΡΠ΅ ΡΠ»ΡΡΠΈΠ»ΠΎ ΠΏΡΠ΅ΡΠ΅ΠΊΠΎΡ ΠΈΠ»ΠΈ Π½Π΅. ΠΠΎΠΎΠ±ΠΈΡΠ°Π΅Π½ΠΎ, Π±Π°Π·ΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π°Ρ ΠΊΡΡΡΠΎΡΠΈ ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΈ ΠΊΠΎΠΈ ΡΠ° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ Π½ΠΈΠ²Π½Π°ΡΠ° ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π° ΠΈ ΠΏΠΎΠΌΠΈΠ½ΡΠ²Π°Π°Ρ Π½ΠΈΠ· ΡΠΎΡΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½Π°ΡΠ° ΡΠ»ΠΎΠΆΠ΅Π½ΠΎΡΡ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠΎΡΡΠΎ Π½Π΅ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΠΊΡΡΡΠΎΡΠΈ Π·Π° Π΄Π° ΠΏΠΎΠΌΠΈΠ½Π΅ΠΌΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ?
ΠΠ°.
ΠΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΠΌΠ΅ ΠΏΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²ΠΈ Π²ΠΎ LevelDB ΠΈΠ»ΠΈ mergeset. ΠΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠΌΠ΅ ΠΊΡΡΡΠΎΡΠΎΡ ΠΈ Π΄Π° Π³ΠΎ Π½Π°ΡΠ΄Π΅ΠΌΠ΅ ΠΏΡΠ΅ΡΠ΅ΠΊΠΎΡ. ΠΠΎΡΡΠΎ Π½Π΅ Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅? ΠΠ°ΡΠΎΠ° ΡΡΠΎ Π΅ Π±Π°Π²Π½ΠΎ. ΠΠΈΠ΄Π΅ΡΡΠΈ ΠΊΡΡΡΠΎΡΠΈΡΠ΅ Π·Π½Π°ΡΠ°Ρ Π΄Π΅ΠΊΠ° ΡΡΠ΅Π±Π° Π΄Π° ΠΏΠΎΠ²ΠΈΠΊΠ°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΠ° Π·Π° ΡΠ΅ΠΊΠΎΡΠ° Π»ΠΈΠ½ΠΈΡΠ°. ΠΠΎΠ²ΠΈΠΊΠΎΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° Π΅ 5 Π½Π°Π½ΠΎΡΠ΅ΠΊΡΠ½Π΄ΠΈ. Π Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ 100 Π»ΠΈΠ½ΠΈΠΈ, ΡΠΎΠ³Π°Ρ ΠΈΠ·Π»Π΅Π³ΡΠ²Π° Π΄Π΅ΠΊΠ° ΠΏΠΎΠΌΠΈΠ½ΡΠ²Π°ΠΌΠ΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΡΠ΅ΠΊΡΠ½Π΄Π° ΡΠ°ΠΌΠΎ ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΡΠΈ ΡΠ° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ°.
ΠΠΌΠ° ΡΠ°ΠΊΠ²ΠΎ Π½Π΅ΡΡΠΎ, Π΄Π°. Π ΠΌΠΎΠ΅ΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎ ΠΏΡΠ°ΡΠ°ΡΠ΅. ΠΠΎΠΆΠ΅Π±ΠΈ ΠΏΡΠ°ΡΠ°ΡΠ΅ΡΠΎ Π·Π²ΡΡΠΈ ΠΌΠ°Π»ΠΊΡ ΡΡΠ΄Π½ΠΎ. ΠΠΎΡΡΠΎ Π½Π΅ Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°Π°Ρ ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΈ Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΡ Π½Π° ΠΏΡΠΈΡΡΠΈΠ³Π½ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΈ Π΄Π° ΡΠ΅ Π·Π°ΡΡΠ²Π°Π°Ρ Π²ΠΎ ΠΏΠΎΡΡΠ΅Π±Π½Π°ΡΠ° ΡΠΎΡΠΌΠ°? ΠΠΎΡΡΠΎ Π΄Π° Π·Π°ΡΡΠ΅Π΄ΠΈΡΠ΅ ΠΎΠ³ΡΠΎΠΌΠ½ΠΈ ΠΊΠΎΠ»ΠΈΡΠΈΠ½ΠΈ Π²ΠΎ Π½Π΅ΠΊΠΎΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΊΠ°ΠΊΠΎ VictoriaMetrics, ClickHouse ΠΈΡΠ½., Π° ΠΏΠΎΡΠΎΠ° Π΄Π° ΠΏΠΎΡΡΠΎΡΠΈΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π½ΠΈΠ²?
ΠΠ΅ Π΄Π°Π΄Π°ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΠΎΡΠ°ΡΠ½ΠΎ. ΠΠ° ΡΠ΅ΡΠ΅ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΌΠ°Π»ΠΈΠΎΡ Π±ΡΠ·ΠΈΠ½ΠΎΠΌΠ΅Ρ Π·Π° ΠΈΠ³ΡΠ°ΡΠΊΠΈ? ΠΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π° ΡΠ°ΡΡΠΎΡΠ°Π½ΠΈΠ΅ΡΠΎ ΡΡΠΎ ΡΡΠ΅ Π³ΠΎ ΠΏΠΎΠΌΠΈΠ½Π°Π»Π΅, ΡΠ΅Π»ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄ΠΎΠ΄Π°Π²Π°ΡΡΠΈ Π³ΠΎ Π½Π° Π΅Π΄Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ, Π° Π²ΡΠΎΡΠ°ΡΠ° - Π²ΡΠ΅ΠΌΠ΅ΡΠΎ. Π Π΄Π΅Π»ΠΈ. Π Π΄ΠΎΠ±ΠΈΠ²Π° ΠΏΡΠΎΡΠ΅ΡΠ½Π° Π±ΡΠ·ΠΈΠ½Π°. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΈΡΡΠΎΡΠΎ. Π‘ΠΎΠ±Π΅ΡΠ΅ΡΠ΅ Π³ΠΈ ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ ΡΠ°ΠΊΡΠΈ Π²ΠΎ Π»Π΅Ρ.
ΠΠΎΠ±ΡΠΎ, Π³ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌ ΠΏΡΠ°ΡΠ°ΡΠ΅ΡΠΎ. ΠΠ°ΡΠΈΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠΌΠ° ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ. ΠΠΊΠΎ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΈ Π²ΠΈ ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ, ΡΠΎΠ³Π°Ρ ΠΎΠ²Π° Π΅ Π½Π°ΡΠ΄ΠΎΠ±ΡΠ°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°. ΠΠΎ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ Π΅ ΡΡΠΎ Π»ΡΡΠ΅ΡΠΎ Π³ΠΈ Π·Π°ΡΡΠ²ΡΠ²Π°Π°Ρ ΠΎΠ²ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, Π½Π΅ΠΊΠΎΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ClickHouse ΠΈ ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ Π·Π½Π°Π°Ρ ΠΊΠ°ΠΊΠΎ ΡΠ΅ Π³ΠΈ ΡΠΎΠ±Π΅ΡΠ°Ρ ΠΈ ΡΠΈΠ»ΡΡΠΈΡΠ°Π°Ρ Π²ΠΎ ΠΈΠ΄Π½ΠΈΠ½Π°, ΠΏΠ° ΠΌΠΎΡΠ° Π΄Π° Π³ΠΈ Π·Π°ΡΡΠ²Π°Π°Ρ ΡΠΈΡΠ΅ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠΎ, Π°ΠΊΠΎ Π·Π½Π°Π΅ΡΠ΅ Π΄Π΅ΠΊΠ° ΡΡΠ΅Π±Π° Π΄Π° ΠΏΡΠ΅ΡΠΌΠ΅ΡΠ°ΡΠ΅ Π½Π΅ΡΡΠΎ Π²ΠΎ ΠΏΡΠΎΡΠ΅ΠΊ, ΡΠΎΠ³Π°Ρ Π·ΠΎΡΡΠΎ Π΄Π° Π½Π΅ Π³ΠΎ ΠΏΡΠ΅ΡΠΌΠ΅ΡΠ°ΡΠ΅ Π½Π°ΠΌΠ΅ΡΡΠΎ Π΄Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΊΡΠΏ ΡΡΡΠΎΠ²ΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΡΠ°ΠΌΡ? ΠΠΎ, ΠΎΠ²Π° Π΅ ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ ΡΠΎΡΠ½ΠΎ Π·Π½Π°Π΅ΡΠ΅ ΡΡΠΎ Π²ΠΈ ΡΡΠ΅Π±Π°.
ΠΠ°ΡΠ΅ΠΌ, Π±Π°Π·ΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°Π°Ρ Π±ΡΠΎΠ΅ΡΠ΅ Π½Π° Π°Π³ΡΠ΅Π³Π°ΡΠΈ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΡΠΎΠΌΠ΅ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°
ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎ ΠΌΠΎΡΠ°ΡΠ° ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½Π° ΡΠ°Π±ΠΎΡΠ° ΡΡΠ΅Π±Π°ΡΠ΅ Π΄Π° Π³ΠΎ ΠΈΠ·Π±ΡΠΎΡΠ°ΠΌ Π±ΡΠΎΡΠΎΡ Π½Π° Π½Π°ΡΡΠ°Π½ΠΈ Π²ΠΎ Π»ΠΈΠ·Π³Π°ΡΠΊΠΈ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ Π²ΠΎ ΡΠ΅ΠΊΠΎΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΎΡ ΡΠ°Ρ. ΠΡΠΎΠ±Π»Π΅ΠΌΠΎΡ Π΅ ΡΡΠΎ ΠΌΠΎΡΠ°Π² Π΄Π° Π½Π°ΠΏΡΠ°Π²Π°ΠΌ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π²ΠΎ Go, ΠΎΠ΄Π½ΠΎΡΠ½ΠΎ ΡΡΠ»ΡΠ³Π° Π·Π° Π±ΡΠΎΠ΅ΡΠ΅ Π½Π° ΠΎΠ²Π°Π° ΡΠ°Π±ΠΎΡΠ°. ΠΠ²Π°Π° ΡΡΠ»ΡΠ³Π° Π½Π° ΠΊΡΠ°ΡΠΎΡ Π±Π΅ΡΠ΅ Π½Π΅ΡΡΠΈΠ²ΠΈΡΠ°Π»Π½Π°, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π΅ ΡΠ΅ΡΠΊΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΡΠΌΠ΅ΡΠ°. ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½Π° Π°ΠΊΠΎ ΡΡΠ΅Π±Π° Π΄Π° Π±ΡΠΎΠΈΡΠ΅ Π½Π΅ΠΊΠΎΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΈ Π²ΠΎ ΡΠΈΠΊΡΠ½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΈ. ΠΠΊΠΎ ΡΠ°ΠΊΠ°ΡΠ΅ Π΄Π° Π±ΡΠΎΠΈΡΠ΅ Π½Π°ΡΡΠ°Π½ΠΈ Π²ΠΎ Π»ΠΈΠ·Π³Π°ΡΠΊΠΈ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ, ΡΠΎΠ³Π°Ρ ΡΠΎΠ° Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΡ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π°. ΠΠΈΡΠ»Π°ΠΌ Π΄Π΅ΠΊΠ° ΠΎΠ²Π° ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ Π²ΠΎ ClickHouse ΠΈΠ»ΠΈ Π²ΠΎ Π±Π°Π·ΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π΅ ΡΠ΅ΡΠΊΠΎ Π΄Π° ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°.
Π ΡΡΡΠ΅ Π΅Π΄Π½ΠΎ ΠΏΡΠ°ΡΠ°ΡΠ΅. ΠΠ±ΠΎΡΡΠ²Π°Π²ΠΌΠ΅ ΡΠ°ΠΌΠΎ Π·Π° ΠΏΡΠΎΡΠ΅ΠΊΡΠ²Π°ΡΠ΅ ΠΈ ΡΠ΅ ΡΠ΅ΡΠΈΠ² Π΄Π΅ΠΊΠ° Π½Π΅ΠΊΠΎΠ³Π°Ρ ΠΏΠΎΡΡΠΎΠ΅ΡΠ΅ ΡΠ°ΠΊΠ²ΠΎ Π½Π΅ΡΡΠΎ ΠΊΠ°ΠΊΠΎ ΠΡΠ°ΡΠΈΡ ΡΠΎ ΠΊΠ°ΡΠ±ΠΎΠ½ Π·Π°Π΄Π½ΠΈΠ½Π°. Π Π·Π½Π°Π΅ΡΠ΅ Π΄Π° Π³ΠΈ ΠΈΡΡΠ΅Π½ΡΠΈ ΡΡΠ°ΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΎΠ΄Π½ΠΎΡΠ½ΠΎ Π΄Π° ΠΎΡΡΠ°Π²ΠΈ Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π²ΠΎ ΠΌΠΈΠ½ΡΡΠ°, Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΡΠ°Ρ ΠΈΡΠ½. ΠΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ, ΠΎΠ²Π° Π΅ ΡΠΎΡΠ΅ΠΌΠ° ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ Π°ΠΊΠΎ Π½ΠΈ ΡΡΠ΅Π±Π°Π°Ρ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΡΠ΅Π»Π°ΡΠΈΠ²Π½ΠΎ ΠΊΠ°ΠΆΠ°Π½ΠΎ, Π·Π° Π΅Π΄Π΅Π½ ΠΌΠ΅ΡΠ΅Ρ, Π° ΡΠ΅ Π΄ΡΡΠ³ΠΎ ΠΌΠΎΠΆΠ΅ Π±ΠΈΠ΄Π΅ ΡΠ°Π·ΡΠ΅Π΄Π΅Π½Π°. ΠΠΎ, Prometheus ΠΈ VictoriaMetrics Π½Π΅ ΡΠ° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°Π°Ρ ΠΎΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ. ΠΠ°Π»ΠΈ ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΠΆΠΈ? ΠΠΊΠΎ Π½Π΅, Π·ΠΎΡΡΠΎ Π΄Π° Π½Π΅?
Π€Π°Π»Π° Π·Π° ΠΏΡΠ°ΡΠ°ΡΠ΅ΡΠΎ. ΠΠ°ΡΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°Π°Ρ ΠΎΠ²Π° ΠΏΡΠ°ΡΠ°ΡΠ΅. Π’ΠΈΠ΅ ΠΏΡΠ°ΡΡΠ²Π°Π°Ρ ΠΊΠΎΠ³Π° ΡΠ΅ Π΄ΠΎΠ΄Π°Π΄Π΅ΠΌΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΊΠΎΡ. Π’ΡΠΊΠ° ΠΈΠΌΠ° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. ΠΡΠ²ΠΎ, ΡΠ΅ΠΊΠΎΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ ΡΠ°Π·Π±ΠΈΡΠ° downsampling
Π½Π΅ΡΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ: Π½Π΅ΠΊΠΎΡ ΡΠ°ΠΊΠ° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° ΡΠΎΡΠΊΠ° Π½Π° Π΄Π°Π΄Π΅Π½ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π», Π½Π΅ΠΊΠΎΡ ΡΠ°ΠΊΠ° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ, ΠΏΡΠΎΡΠ΅ΡΠ½ΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ. ΠΠΊΠΎ ΠΌΠ½ΠΎΠ³Ρ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΏΠΈΡΡΠ²Π°Π°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ Π²Π°ΡΠ°ΡΠ° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΡΠΎΠ³Π°Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ ΡΠΎΠ±Π΅ΡΠ΅ΡΠ΅ ΡΠΈΡΠ΅ Π·Π°Π΅Π΄Π½ΠΎ. ΠΠΎΠΆΠ΅Π±ΠΈ ΡΠ΅ΠΊΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π±Π°ΡΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ ΡΠ°Π·ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅. Π ΠΎΠ²Π° Π΅ ΡΠ΅ΡΠΊΠΎ Π΄Π° ΡΠ΅ ΡΠΏΡΠΎΠ²Π΅Π΄Π΅.
Π Π²ΡΠΎΡΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π΅ ΡΡΠΎ VictoriaMetrics, ΠΊΠ°ΠΊΠΎ ClickHouse, Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠ»ΠΈΡΠΈΠ½ΠΈ Π½Π° Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΡΠ°ΠΊΠ° ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠΊΠΎΠΏΠ° ΠΌΠΈΠ»ΠΈΡΠ°ΡΠ΄Π° Π»ΠΈΠ½ΠΈΠΈ Π·Π° ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΠΎΠ΄ ΡΠ΅ΠΊΡΠ½Π΄Π° Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ ΡΠ°Π΄ΡΠ° Π²ΠΎ Π²Π°ΡΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ. Π‘ΠΊΠ΅Π½ΠΈΡΠ°ΡΠ΅ ΡΠΎΡΠΊΠΈ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ Π²ΠΎ VictoriaMetrics β 50 ΠΏΠΎΠ΅Π½ΠΈ Π²ΠΎ ΡΠ΅ΠΊΡΠ½Π΄Π° ΠΏΠΎ ΡΠ°Π΄ΡΠΎ. Π ΠΎΠ²Π°Π° ΠΈΠ·Π²Π΅Π΄Π±Π° ΡΠ΅ ΡΠΊΠ°Π»ΠΈ Π½Π° ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈΡΠ΅ ΡΠ°Π΄ΡΠ°. ΠΠ΄Π½ΠΎΡΠ½ΠΎ, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ 000 ΡΠ°Π΄ΡΠ°, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ ΡΠΊΠ΅Π½ΠΈΡΠ°ΡΠ΅ ΠΌΠΈΠ»ΠΈΡΠ°ΡΠ΄Π° ΠΏΠΎΠ΅Π½ΠΈ Π²ΠΎ ΡΠ΅ΠΊΡΠ½Π΄Π°. Π ΠΎΠ²Π° ΡΠ²ΠΎΡΡΡΠ²ΠΎ Π½Π° VictoriaMetrics ΠΈ ClickHouse ΡΠ° Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π·Π° ΡΠΈΠΌΠ½ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΈΠΌΠ½ΡΠ²Π°ΡΠ΅.
ΠΡΡΠ³Π° ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π΅ ΡΡΠΎ VictoriaMetrics Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎ Π³ΠΈ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°ΡΠ° Π²ΠΎ ΠΏΡΠΎΡΠ΅ΠΊ Π²ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ Π΅ ΠΎΠ΄ 0,4 Π΄ΠΎ 0,8 Π±Π°ΡΡΠΈ ΠΏΠΎ ΡΠΎΡΠΊΠ°. Π‘Π΅ΠΊΠΎΡΠ° ΡΠΎΡΠΊΠ° Π΅ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΠΏΠ΅ΡΠ°Ρ + Π²ΡΠ΅Π΄Π½ΠΎΡΡ. Π ΡΠΎΠ° Π΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΎ Π½Π° ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΠΎΠ΄ Π΅Π΄Π΅Π½ Π±Π°ΡΡ Π²ΠΎ ΠΏΡΠΎΡΠ΅ΠΊ.
Π‘Π΅ΡΠ³Π΅Ρ. ΠΠΌΠ°ΠΌ ΠΏΡΠ°ΡΠ°ΡΠ΅. ΠΠΎΠ»ΠΊΠ°Π² Π΅ ΠΊΠ²Π°Π½ΡΡΠΌΠΎΡ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ½ΠΈΠΌΠ°ΡΠ΅?
ΠΠ΄Π½Π° ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΠ΅ΠΎΠ΄Π°ΠΌΠ½Π° ΠΈΠΌΠ°Π²ΠΌΠ΅ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ ΡΠΎ Π΄ΡΡΠ³ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈ Π½Π° Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ. ΠΠΈΠ²Π½ΠΎΡΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΎ ΠΏΠ°ΡΡΠ΅ Π΅ Π΅Π΄Π½Π° ΡΠ΅ΠΊΡΠ½Π΄Π°. Π Π²ΠΎ Π³ΡΠ°ΡΠΈΡΠΎΡ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ° Π΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΅Π΄Π½Π° ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΠΎ OpenTSDB ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π΅Π΄Π½Π° ΡΠ΅ΠΊΡΠ½Π΄Π°. InfluxDB ΠΈΠΌΠ° ΠΏΡΠ΅ΡΠΈΠ·Π½ΠΎΡΡ ΠΎΠ΄ Π½Π°Π½ΠΎΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΠΎ ΠΠΈΠΊΡΠΎΡΠΈΡΠ° ΠΠ΅ΡΡΠΈΠΊΡ Π΅ Π΅Π΄Π½Π° ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π²ΠΎ ΠΡΠΎΠΌΠ΅ΡΠ΅Ρ Π΅ Π΅Π΄Π½Π° ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°. Π VictoriaMetrics ΠΏΡΠ²ΠΈΡΠ½ΠΎ Π±Π΅ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ΅Π½Π° ΠΊΠ°ΠΊΠΎ Π΄Π°Π»Π΅ΡΠΈΠ½ΡΠΊΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π·Π° Prometheus. ΠΠΎ, ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°ΡΡΠ²Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ Π΄ΡΡΠ³ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.
ΠΠΈΡΠ΅ΡΠΎ ΡΠΎ ΠΊΠΎΠ΅ ΡΠ°Π·Π³ΠΎΠ²Π°ΡΠ°Π² Π²Π΅Π»ΠΈ Π΄Π΅ΠΊΠ° ΠΈΠΌΠ° ΡΠΎΡΠ½ΠΎΡΡ ΠΎΠ΄ ΡΠ΅ΠΊΡΠ½Π΄Π° Π΄ΠΎ ΡΠ΅ΠΊΡΠ½Π΄Π° - ΡΠΎΠ° Π΅ Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ Π·Π° Π½ΠΈΠ² Π±ΠΈΠ΄Π΅ΡΡΠΈ Π·Π°Π²ΠΈΡΠΈ ΠΎΠ΄ ΡΠΈΠΏΠΎΡ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΡΠΎ ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ. ΠΠΊΠΎ ΠΎΠ²Π° ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° DevOps ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, ΠΊΠ°Π΄Π΅ ΡΡΠΎ Π³ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ Π²ΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΈ ΠΎΠ΄ 30 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π²ΠΎ ΠΌΠΈΠ½ΡΡΠ°, ΡΠΎΠ³Π°Ρ Π΅ Π΄ΠΎΠ²ΠΎΠ»Π½Π° ΡΠΎΡΠ½ΠΎΡΡ ΠΎΠ΄ ΡΠ΅ΠΊΡΠ½Π΄Π°, Π½Π΅ Π²ΠΈ ΡΡΠ΅Π±Π° Π½ΠΈΡΡΠΎ ΠΏΠΎΠΌΠ°Π»ΠΊΡ. Π Π°ΠΊΠΎ Π³ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΡΠ³ΡΠ²Π°ΡΠ΅ ΡΠΎ Π²ΠΈΡΠΎΠΊΠ° ΡΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°, ΡΠΎΠ³Π°Ρ Π²ΠΈ ΡΡΠ΅Π±Π° ΡΠΎΡΠ½ΠΎΡΡ ΠΎΠ΄ Π½Π°Π½ΠΎΡΠ΅ΠΊΡΠ½Π΄Π°.
Π’ΠΎΡΠ½ΠΎΡΡΠ° ΠΎΠ΄ ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π° Π²ΠΎ VictoriaMetrics Π΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΠ³ΠΎΠ΄Π½Π° Π·Π° ΡΠ»ΡΡΠ°ΡΠΎΡ DevOps ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ³ΠΎΠ΄Π½Π° Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ»ΡΡΠ°ΠΈ ΡΡΠΎ Π³ΠΈ ΡΠΏΠΎΠΌΠ΅Π½Π°Π² Π½Π° ΠΏΠΎΡΠ΅ΡΠΎΠΊΠΎΡ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ°ΡΠΎΡ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎΡΠΎ Π½Π΅ΡΡΠΎ Π·Π° ΠΊΠΎΠ΅ ΠΌΠΎΠΆΠ΅Π±ΠΈ Π½Π΅ Π΅ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° ΡΡΠ³ΡΠ²Π°ΡΠ΅ ΡΠΎ Π²ΠΈΡΠΎΠΊΠ° ΡΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°.
ΠΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ°ΠΌ! Π ΡΡΡΠ΅ Π΅Π΄Π½ΠΎ ΠΏΡΠ°ΡΠ°ΡΠ΅. Π¨ΡΠΎ Π΅ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ Π²ΠΎ PromQL?
Π¦Π΅Π»ΠΎΡΠ½Π° ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ Π½Π°Π½Π°Π·Π°Π΄. VictoriaMetrics ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π³ΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° PromQL. ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, Π΄ΠΎΠ΄Π°Π²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½Π° Π½Π°ΠΏΡΠ΅Π΄Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π²ΠΎ PromQL, ΠΊΠΎΡΠ° ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π°
Π’Π΅Π»Π΅Π³ΡΠ°ΠΌΡΠΊΠΈ ΠΊΠ°Π½Π°Π»
Π‘Π°ΠΌΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π°Ρ Π²ΠΎ Π°Π½ΠΊΠ΅ΡΠ°ΡΠ°.
Π¨ΡΠΎ Π²Π΅ ΡΠΏΡΠ΅ΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΡΡΠ»ΠΈΡΠ΅ Π½Π° VictoriaMetrics ΠΊΠ°ΠΊΠΎ Π²Π°ΡΠ΅ Π΄ΠΎΠ»Π³ΠΎΡΠΎΡΠ½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π·Π° Prometheus? (ΠΠ°ΠΏΠΈΡΠ΅ΡΠ΅ Π²ΠΎ ΠΊΠΎΠΌΠ΅Π½ΡΠ°Ρ, ΡΠ΅ Π³ΠΎ Π΄ΠΎΠ΄Π°Π΄Π°ΠΌ Π²ΠΎ Π°Π½ΠΊΠ΅ΡΠ°ΡΠ°))
-
71,4%ΠΠ΅ ΠΊΠΎΡΠΈΡΡΠ°ΠΌ Prometheus5
-
28,6%ΠΠ΅ Π·Π½Π°Π΅Π² Π·Π° VictoriaMetrics2
ΠΠ»Π°ΡΠ°Π° 7 ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ. 12 ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ Π±Π΅Π° Π²ΠΎΠ·Π΄ΡΠΆΠ°Π½ΠΈ.
ΠΠ·Π²ΠΎΡ: www.habr.com