# Zaman Serisi Veritabanı

Adres: https://softwaredictionary.org/tr/terimler/time-series-database
Kategori: Veritabanları
Son güncelleme: 2026-09-30
İngilizcesi: Time-Series Database
Okunuşu: taym siriz deytıbeys

Kısaca: Zaman serisi veritabanı, sensör okumaları ya da metrikler gibi zaman damgalı ölçümleri sırayla saklayıp sorgulamak için optimize edilmiş bir veritabanıdır.

## Zaman serisi veritabanı nedir?

Zaman serisi veritabanı, her biri bir zaman damgası, bir ya da daha fazla değer ve kaynağı tanımlayan, çoğu zaman etiket (tag) denen `host=web-1` ve `metric=cpu_usage` gibi etiketler taşıyan veri noktalarını saklar. Bu tür veri sürekli gelir, neredeyse her zaman güncellenmek yerine sona eklenir ve hemen hemen her zaman zaman aralığına göre sorgulanır.

Saniyede milyonlarca noktayı kaldırmak için bu veritabanları depolamayı zamana göre parçalara böler ve veriyi agresif biçimde sıkıştırır; örneğin ardışık zaman damgaları arasındaki küçük farkları saklayarak. Ham noktaları dakika ya da saat başına ortalamalara özetleyen downsampling'in yanı sıra oranlar, yüzdelikler ve boşluk doldurma için fonksiyonlar içerirler. Saklama politikaları (retention policy) eski veriyi otomatik olarak siler veya özetler. Örnekler arasında yerleşik zaman serisi deposu olan bir izleme sistemi Prometheus, InfluxDB ve PostgreSQL için bir eklenti olan TimescaleDB vardır.

Zaman serisi veritabanı bir geminin seyir defteri ya da bir kalp ritmi monitörü gibi çalışır: yeni kayıtlar yalnızca sona eklenir ve olağan soru, iki zaman noktası arasında ne olduğudur. Altyapı izleme ve gözlemlenebilirlik metrikleri, Nesnelerin İnterneti (IoT) sensörleri, finansal piyasa tikleri, enerji sayaçları ve ürün analitiği için kullanılır.

İnsanlar sıklıkla zaman damgalarını neden normal bir ilişkisel tabloya koyamayacaklarını sorar. Küçük hacimler için koyabilirsiniz; ancak zaman serisi veritabanı, zamana göre bölümleme, sıkıştırma ve otomatik saklama sayesinde çok yüksek yazma oranlarını ve uzun geçmişleri çok daha ucuza yönetir. Ayrıca birçok boyutta geniş iş analitiği sunan data warehouse'dan ve sayısal ölçümler yerine metin olayları tutan günlük depolamasından da farklıdır.

## Önemli noktalar

- Her veri noktasının bir zaman damgası, değerleri ve tanımlayıcı etiketleri vardır.
- Veri çoğunlukla sona eklenir ve zaman aralığına göre sorgulanır.
- Zamana göre bölümleme ve sıkıştırma, devasa hacimleri saklamayı ucuz tutar.
- Downsampling ve saklama politikaları eski veriyi otomatik yönetir.
- Yüksek kardinalite, yani çok fazla benzersiz etiket kombinasyonu, yaygın bir performans sorunudur.

## Örnek: SQL ile zaman serisi verisini sorgulamak (PostgreSQL sözdizimi)

```sql
-- One row per measurement: when, from where, and the value
CREATE TABLE cpu_usage (
  time  TIMESTAMPTZ NOT NULL,
  host  TEXT NOT NULL,
  usage DOUBLE PRECISION
);

-- Average CPU per host for each minute of the last hour
SELECT host, date_trunc('minute', time) AS minute, avg(usage) AS avg_usage
FROM cpu_usage
WHERE time > now() - INTERVAL '1 hour'
GROUP BY host, minute
ORDER BY minute;
```

## Sık sorulan sorular

**PostgreSQL'i zaman serisi veritabanı olarak kullanabilir miyim?**

Evet, orta hacimler için zaman damgası üzerinde indeksi olan normal bir tablo iyi çalışır. Çok yüksek yazma oranlarında eklentiler veya özel zaman serisi veritabanları otomatik bölümleme, sıkıştırma ve saklama ekler.

**Downsampling nedir?**

Downsampling, birçok ayrıntılı veri noktasını daha az özet noktayla değiştirir; örneğin saniyede bir okuma yerine saatte bir ortalama. Genel eğilimi korurken uzun geçmişleri küçük tutar.

**Zaman serisi veritabanında yüksek kardinalite nedir?**

Kardinalite, benzersiz seri sayısıdır; yani metrik adı ile etiket değerlerinin benzersiz kombinasyonları. Kullanıcı ID'leri gibi çok sayıda olası değeri olan etiketler çok büyük sayıda seri yaratır ve veritabanını yavaşlatabilir ya da aşırı yükleyebilir.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
