Bosh sahifa Wiki Timeseries

Timeseries

Timeseries — vaqt tartibida yig‘ilgan o‘lchov, hodisa yoki qiymatlar ketma-ketligi. Har yozuv odatda timestamp va unga tegishli bir yoki bir nechta qiymatdan iborat bo‘ladi. Timeseries ma’lumotlar monitoring, moliya, IoT, sensorlar, server metrikalari, foydalanuvchi faolligi va real vaqtli tahlilda ishlatiladi.

Oddiy jadvaldagi ma’lumotdan farqli ravishda timeseries uchun vaqt asosiy o‘lchov hisoblanadi. Querylar ko‘pincha ma’lum vaqt oralig‘i, interval, agregatsiya va trendga qaratiladi.

Asosiy tuzilishi

Timeseries yozuvi odatda quyidagi qismlarga ega:

Misol:

2026-07-14 09:00:00
metric = cpu_usage
host = server-01
value = 47.2

Bir xil metric turli host, region yoki service bo‘yicha alohida series hosil qiladi.

Timestamp

Timestamp hodisa yoki o‘lchov qachon yuz berganini bildiradi.

U:

  • event time;
  • ingestion time;
  • processing time

ko‘rinishida bo‘lishi mumkin.

Event time manbada hodisa sodir bo‘lgan vaqt. Ingestion time ma’lumot tizimga kelgan vaqt. Network kechikishi sabab bu qiymatlar farq qilishi mumkin.

Series identifikatori

Metric nomi va label kombinatsiyasi bitta seriesni aniqlaydi.

Masalan:

http_requests_total{
    service="api",
    status="200"
}

status="500" bo‘lsa boshqa series hosil bo‘ladi.

Label qiymatlari juda ko‘p bo‘lsa cardinality keskin oshadi.

Cardinality

Cardinality noyob serieslar sonini bildiradi.

Yuqori cardinality qiymatlar:

  • user ID;
  • request ID;
  • tasodifiy token;
  • to‘liq URL;
  • timestampning o‘zi.

Bunday label har yangi hodisa uchun yangi series yaratishi mumkin.

Timeseries storage memory, index va query yukini oshiradi.

Sample

Series ichidagi bitta timestamp va qiymat jufti sample hisoblanadi.

Misol:

09:00 → 42
09:01 → 45
09:02 → 43

Sample interval muntazam yoki nomuntazam bo‘lishi mumkin.

Monitoring tizimlarida scrape interval ko‘pincha muntazam bo‘ladi.

Gauge

Gauge oshishi va kamayishi mumkin bo‘lgan joriy qiymat.

Misollar:

  • CPU foizi;
  • memory hajmi;
  • queue uzunligi;
  • harorat;
  • aktiv connection.

Gauge ma’lum vaqtdagi holatni ko‘rsatadi.

Counter

Counter odatda faqat oshib boradigan umumiy hisoblagich.

Misollar:

  • request soni;
  • yuborilgan byte;
  • error soni;
  • qayta ishlangan event.

Process restart bo‘lsa counter nolga qaytishi mumkin.

Rate hisoblashda reset holati aniqlanadi.

Histogram

Histogram o‘lchovlarni bucketlar bo‘yicha sanaydi.

Masalan, request duration:

  • 0.1 soniyagacha;
  • 0.5 soniyagacha;
  • 1 soniyagacha;
  • undan yuqori.

Histogram percentile va latency taqsimotini tahlil qilishga yordam beradi.

Aggregation

Timeseries ma’lumot ko‘pincha interval bo‘yicha agregatsiya qilinadi.

Amallar:

  • sum;
  • average;
  • minimum;
  • maximum;
  • count;
  • percentile;
  • rate.

Masalan, har soniyalik sample’lar bir soatlik o‘rtacha qiymatga aylantiriladi.

Window

Window ma’lum vaqt oralig‘idagi sample’larni bir guruh sifatida qayta ishlaydi.

Turlari:

  • fixed window;
  • sliding window;
  • tumbling window;
  • session window.

Sliding window har yangi vaqt nuqtasida oldingi ma’lum davrni qayta hisoblaydi.

Downsampling

Eski yuqori aniqlikdagi data keyinchalik yirik intervalga qisqartiriladi.

Masalan:

1 soniyalik sample → 1 daqiqalik average
1 daqiqalik sample → 1 soatlik average

Bu storage hajmini kamaytiradi.

Eski raw sample’lar retention muddati tugagach o‘chirilishi mumkin.

Retention

Timeseries data qancha vaqt saqlanishi retention siyosati bilan belgilanadi.

Masalan:

  • raw data — 7 kun;
  • 1 daqiqalik agregat — 90 kun;
  • 1 soatlik agregat — 3 yil.

Retention storage xarajati va tahlil talabiga mos tanlanadi.

Compression

Timeseries data’da timestamp va qiymatlar bir-biriga yaqin bo‘lishi mumkin.

Shuning uchun:

  • delta encoding;
  • run-length encoding;
  • dictionary compression;
  • bit packing

samarali ishlaydi.

Compression disk va network hajmini kamaytiradi.

Partitioning

Timeseries table ko‘pincha vaqt bo‘yicha partition qilinadi.

Masalan:

  • kunlik;
  • haftalik;
  • oylik partition.

Query ma’lum intervalni so‘rasa faqat kerakli partitionlar o‘qiladi.

Eski partitionni drop qilish retentionni soddalashtiradi.

Late-arriving data

Hodisa tizimga kech kelishi mumkin.

Masalan, sensor offline bo‘lib, ma’lumotni bir soatdan keyin yuboradi.

Storage event timestamp bo‘yicha eski intervalga yozishi kerak.

Aggregation allaqachon hisoblangan bo‘lsa correction yoki qayta hisoblash talab qilinadi.

Out-of-order data

Distributed manbalarda eventlar vaqt tartibida kelmasligi mumkin.

Timeseries engine ma’lum kechikish oynasida tartibsiz sample’larni qabul qiladi.

Juda eski yozuv rad etilishi yoki alohida backfill jarayoniga yuborilishi mumkin.

Query

Keng tarqalgan querylar:

  • oxirgi bir soat;
  • bir kunlik average;
  • oldingi hafta bilan taqqoslash;
  • threshold’dan yuqori vaqt;
  • o‘sish sur’ati;
  • anomaly;
  • top N series.

Time filter deyarli har queryning asosiy qismi hisoblanadi.

Monitoring

Timeseries monitoring tizimlarining asosiy data modelidir.

Service metrikalari:

vaqt bo‘yicha saqlanadi.

Dashboard trendni ko‘rsatadi, alert esa shart bajarilganda ishga tushadi.

Mavsumiylik

Timeseries ichida kunlik, haftalik yoki yillik takrorlanish bo‘lishi mumkin.

Masalan, ish kunlari trafik yuqori, dam olish kunlari past bo‘ladi.

Mavsumiylikni hisobga olmasdan oddiy threshold qo‘yish ko‘p noto‘g‘ri alert yaratadi.

Baseline vaqt segmenti va tarixiy pattern asosida tuziladi.

Anomaly

Kutilgan trend va mavsumiylikdan keskin farq qiladigan nuqta anomaly hisoblanadi.

Anomaly:

  • spike;
  • keskin pasayish;
  • uzoq muddatli siljish;
  • missing data;
  • odatiy bo‘lmagan oscillation

ko‘rinishida bo‘lishi mumkin.

U avtomatik incident degani emas; deployment, bayram yoki traffic kampaniyasi ham sabab bo‘lishi mumkin.

Bog‘liq tushunchalar

Time series database, Timestamp, Metric, Sample, Gauge, Counter, Histogram, Cardinality, Retention, Downsampling, Windowing