Mesai: Pzt–Cum 09:00–18:00
Tarihçe Veri Saklama Maliyeti: SQL Server'dan Time-Series DB'ye Geçiş

Tarihçe Veri Saklama Maliyeti: SQL Server'dan Time-Series DB'ye Geçiş

SCADA tarihçesi büyüdükçe SQL Server lisans + disk maliyeti hızla artar. Time-series DB'ye (TimescaleDB, InfluxDB) geçiş 10x veri sıkıştırma + 100x query hızı sunar. Saha geçiş örneği.

Saha mühendisi şöyle anlatıyor: "SCADA historian'ımız 4 yıl önce SQL Server'a 200 GB ile başladı. Bugün 4.5 TB. Aylık disk + lisans 1500 USD'yi geçti. 5 yıllık veri sorgusu 2-3 dakika sürüyor. Yöneticiye 10 yıllık trend istediklerinde 'sistem dondu' demek zorunda kalıyoruz."

Bu manzara her tesisin tarihsel veri büyüdükçe karşılaştığı sorundur. Çözüm bir yedek diski daha eklemek değil — time-series veritabanına geçiş.

Klasik SQL Server historian'ın sınırı

  • Yapı: her örnek bir satır → satır overhead'i (8-16 byte) örnek verisinden (4-8 byte) daha büyük
  • İndeksleme: tag_id + timestamp birleşik indeks devamlı büyür, RAM'i şişirir
  • Disk: raw veri 1 byte/sample ihtiyacı varken SQL Server 20-40 byte/sample tutar
  • Aggregat sorgusu: "son 5 yılda günlük ortalama" sorgusu milyarlarca satıra full scan yapar
  • Lisans: Standard Edition ~3K USD/core, Enterprise ~14K USD/core

Time-Series DB neden farklı?

Time-series DB'ler zaman-damgalı veri için optimize edilmiştir:

  • Sütun bazlı depolama: aynı tag'in örnekleri ardışık tutulur, sıkıştırma 5-15x
  • Otomatik partition: zaman aralığına göre veri bölünür, eski partition'lar sorguya katılmaz
  • Continuous aggregates: dakikalık, saatlik, günlük aggregat'lar arka planda hesaplanır, sorgu anında hazır
  • Retention policy: 1 günlük veri 30 gün, dakikalık 6 ay, saatlik 5 yıl gibi katmanlı saklama
  • Açık kaynak: TimescaleDB (PostgreSQL eklentisi) ve InfluxDB Community ücretsiz

TimescaleDB vs InfluxDB

ÖzellikTimescaleDBInfluxDB
TemelPostgreSQL eklentisiBağımsız DB
Sorgu diliStandart SQLFlux (özel) / InfluxQL
EkosistemTüm PostgreSQL araçları çalışırKendi araçları (Telegraf, Kapacitor)
Sıkıştırma~10x~15x
Yatay ölçekDistributed hypertablesInfluxDB Enterprise (ödenir)
İlişkisel veriVar (PostgreSQL gücü)Yok / sınırlı
Saha tercihimizÇoğunlukSaf IoT senaryolarda

Pratik öneri: SCADA + ERP entegrasyonu varsa TimescaleDB (PostgreSQL ile aynı veritabanında ilişkisel ve zaman serisi). Saf telemetri ise InfluxDB.

Saha rakamları — geçiş örneği

5000 tag, 1 sn örnekleme, 3 yıl retention:

MetrikSQL ServerTimescaleDB
Disk boyutu4.2 TB320 GB
"Son 1 yıl, günlük ort." sorgu2.5 dk0.8 sn
Yıllık lisans~8.000 USD (Standard)0 USD
Disk + backup yıllık3.500 USD800 USD
Yedekli setupLisans 2xStreaming replication ücretsiz
3 yıl TOPLAM~35.000 USD~2.500 USD

Geçiş adımları

  1. Yeni DB'yi paralel kur. SCADA aynı veriyi her iki tarafa da yazsın (dual-write).
  2. Tarihsel veriyi taşı. Eski SQL'den batch script ile yeni DB'ye. CSV intermediary kullan, doğrudan link değil.
  3. Sorguları yeni DB'ye çevir. Önce raporlama dashboardları, sonra alarm geri-dönüş analizleri.
  4. 2-4 hafta paralel çalış. Karşılaştırmalı doğruluk kontrol et.
  5. Eski DB'yi okunabilir-only yap. Yazımları kes, sadece eski sorgular için tut.
  6. 3-6 ay sonra eski DB'yi tamamen kaldır. Lisans iptali.

Continuous aggregates — sihirli kısım

TimescaleDB'de bir kez tanımlanır, otomatik güncellenir:

CREATE MATERIALIZED VIEW telemetry_hourly
WITH (timescaledb.continuous) AS
SELECT
  time_bucket('1 hour', ts) AS hour,
  tag_id,
  avg(value) AS avg_val,
  max(value) AS max_val,
  min(value) AS min_val
FROM telemetry
GROUP BY 1, 2;

"Son 5 yıl saatlik ortalama" sorgusu milisaniyede döner çünkü pre-aggregated veri okur.

Retention politikası örneği

  • Raw (1 sn): 30 gün
  • 1 dk aggregat: 6 ay
  • 5 dk aggregat: 2 yıl
  • 1 saatlik aggregat: 10 yıl

Disk 1/30 oranında küçülür, "tarihsel" sorgular hâlâ mümkündür.

NEOVUS pratiği: Bir AVM enerji izleme projemizde 320 sayaç × 1 dk = 460k örnek/gün. SQL Server'da 18 ayda 1.2 TB olmuş, sorgular yavaşlamıştı. TimescaleDB'ye geçişten sonra disk 87 GB'a düştü, raporlama hızı 25x arttı. Yıllık tasarruf: 4.800 USD + 0.5 FTE bakım süresi.

Mevcut historian'ınızın boyutu + günlük veri yazma hızını paylaşın — geçiş öncesi/sonrası benzeri bir karşılaştırma simülasyonu yapabiliriz.

← Tüm yazılar

Tesisinizdeki sorunu konuşalım

SCADA entegrasyonu, sayaç okuma, çoklu protokol uyumu veya sistem renovasyonu için uzman ekibimiz hazır.

İletişime Geç →