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:
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:
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:
- throughput;
- latency;
- error rate;
- resource usage;
- saturation
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