Zaman serisi veritabanı: zamana göre sıralı ölçümleri depolamak için tasarlanmış sistem
Zaman serisi veritabanı nedir, sensör ve izleme verisi neden özel depolama ister? Çalışma mantığı, örnek kullanım, historian ve ilişkisel veritabanından farkı.
Zaman serisi veritabanı nedir?
Zaman serisi veritabanı (İngilizce time series database), kayıtların birincil ekseninin zaman damgası olduğu verileri verimli biçimde depolamak ve sorgulamak için tasarlanmış veritabanıdır. Sıcaklık sensörü okumaları, sunucu işlemci kullanımı, borsa fiyatları ya da bir üretim hattındaki basınç değerleri tipik örneklerdir.
Bu verilerin ortak özelliği, sürekli ve sıralı biçimde akmaları, çoğunlukla yalnızca eklenmeleri (eski kaydın nadiren değiştirilmesi) ve sorguların çoğunlukla bir zaman aralığı üzerinde toplama ya da trend arama biçiminde olmasıdır.
Neden özel bir veritabanı gerekir?
Genel amaçlı bir ilişkisel veritabanı da zaman damgalı veri saklayabilir; ancak veri hacmi büyüdükçe sorunlar belirir: yazma yükü çok yüksek olur, sorgular ise yoğun biçimde zaman aralıklarına dayanır. Zaman serisi veritabanları bu kalıba göre uyarlanmıştır:
- Zamana göre bölümleme: Veri zaman dilimlerine ayrılır, böylece yeni yazmalar küçük bir parçada toplanır ve eski parçalar kolayca yönetilir.
- Sıkıştırma: Ardışık değerler birbirine benzediği için çok yüksek oranda sıkıştırılabilir.
- Saklama politikası: Belirli bir yaşın üstündeki ham veri otomatik silinir ya da daha seyrek örneklenmiş özete dönüştürülür.
- Zaman odaklı sorgu işlevleri: Dakika veya saat bazında gruplama, hareketli ortalama, bir önceki değerle fark alma gibi işlemler yerleşik sunulur.
Nasıl çalışır?
Her ölçüm genellikle şu parçalardan oluşur: zaman damgası, ölçülen değer(ler) ve ölçümü tanımlayan etiketler (hangi cihaz, hangi konum, hangi hat). Etiketlerin tasarımı veri modelinin en önemli kararıdır, çünkü sorguların büyük bölümü etiketlere göre süzer.
Veri, yazma hattından sürekli ve genellikle toplu paketler halinde alınır. Arka planda sistem yeni verileri güncel parçada tutar, belli bir yaşı geçenleri sıkıştırır, saklama süresi dolanları siler. Sürekli toplama (continuous aggregation) ile ham veriden saatlik ya da günlük özetler önceden hesaplanıp ayrı tutulur; gösterge tablosu her açılışta milyonlarca ham satırı taramak yerine bu özetleri okur.
Küçük bir örnek
Örneğin bir fabrikada çok sayıda makinenin titreşim ve sıcaklık sensörü her saniye değer üretiyor olsun. Bu akış zaman serisi veritabanına yazılır. Bakım ekibi son birkaç günün sıcaklığını makine bazında grafik olarak izler; sıcaklık yavaş yavaş yükseliyorsa arıza oluşmadan müdahale planlanır.
Uzun vadeli raporlar ise ham veriyi değil, önceden hesaplanmış saatlik ortalamaları kullanır. Ham veri belirlenen sürenin sonunda silinirken özetler çok daha uzun saklanır. Böylece hem güncel analiz hızlı olur hem de depolama maliyeti kontrol altında kalır.
Historian ve diğer sistemlerle farkı
Historian, endüstriyel otomasyon dünyasında kullanılan ve sensör ile kontrol sistemi verisini toplayıp saklayan özel yazılımın adıdır. Çalışma mantığı zaman serisi veritabanına çok yakındır; çoğu zaman sahada kullanılan protokollere (OPC gibi) hazır bağlantı, etiket yapısı ve üretim odaklı raporlama sunar. Modern zaman serisi veritabanları aynı işi genel IT araçlarıyla yapar.
İlişkisel veritabanı satır güncelleme ve çok tablolu ilişkiler için güçlüdür; zaman serisi veritabanı ise yüksek hızlı ekleme ve zaman aralığı sorguları için optimize edilmiştir. Bazı ürünler ilişkisel veritabanını eklentiyle zaman serisi için uyarlar, bazıları sıfırdan bu iş için yazılmıştır. Veri ambarları ise geniş analitik sorgulara odaklıdır ve genellikle günlük gibi daha seyrek yüklenen veriyle çalışır.
Nerede kullanılır?
Başlıca kullanım alanları altyapı ve uygulama izleme (metrikler, sistem günlüğü sayıları), nesnelerin interneti cihaz verisi, endüstriyel üretim ve enerji izleme, finansal piyasa verisi ve kullanıcı davranışı sayaçlarıdır. Ortak ihtiyaç, geçmişe dönük trendleri görmek ve eşik aşımı gibi olayları yakalamaktır.
Tasarımda sık yapılan hata, etiket olarak yüksek çeşitlilikte değerler (örneğin her isteğe özgü bir kimlik) kullanmaktır. Bu, dizin boyutunu şişirir ve performansı düşürür. Saklama süresini baştan düşünmemek de depolamanın kontrolden çıkmasına yol açar.
Mindset programlarında nerede karşınıza çıkar?
Zaman Serisi Veritabanları ile Uygulama (TimescaleDB, InfluxDB) eğitimi, zaman serisi veri modelleme, TimescaleDB ile hypertable tasarımı, yazma hattı ve veri alımı, sorgulama ve sürekli toplama ile sıkıştırma, saklama ve yaşam döngüsü modüllerini içerir. Historian ve Zaman Serisi Veritabanları ile Üretim Verisi Yönetimi eğitiminde ise zaman serisi verisinin doğası, historian mimarisi, etiket yapısı ve veri modeli, sıkıştırma ve saklama stratejileri, sorgulama ve analiz ile raporlama ve yönetişim yer alır.
İlgili Mindset programı
Zaman Serisi Veritabanları ile Uygulama (TimescaleDB, InfluxDB)
Sık sorulan sorular
Zaman serisi verisi ile normal veri arasındaki fark nedir?
Zaman serisinde her kayıt bir zaman damgası taşır ve veri çoğunlukla sürekli eklenir, nadiren güncellenir. Sorgular tek bir kaydı değil, bir zaman aralığındaki kayıtları toplar ya da karşılaştırır. Normal iş verisi (müşteri, sipariş) ise sıkça güncellenir ve ilişkilerle sorgulanır.
TimescaleDB ve InfluxDB aynı şey mi?
Hayır. Bunlar zaman serisi için kullanılan ayrı ürünlerdir. TimescaleDB, PostgreSQL üzerine eklenti olarak çalışır ve SQL dilini kullanır; InfluxDB ise baştan zaman serisi için yazılmış bir sistemdir. Seçim, ekibin mevcut becerilerine, veri hacmine ve sorgu ihtiyaçlarına bağlıdır.
Ham veri ne kadar süre saklanmalı?
Tek bir doğru yoktur; kararı analiz ihtiyacı, mevzuat ve depolama maliyeti belirler. Yaygın yöntem, ham veriyi kısa süre saklayıp özetlenmiş veriyi uzun süre tutmaktır. Saklama politikası baştan tanımlanmazsa disk dolar ve sorgular yavaşlar. Düzenleme gerektiren sektörlerde yasal saklama süresi ayrıca kontrol edilmelidir.
Historian ile zaman serisi veritabanı arasında nasıl seçim yapılır?
Veri doğrudan fabrika kontrol sistemlerinden geliyor ve hazır sanayi protokol desteği gerekiyorsa historian pratik olabilir. Veri IT altyapısından, uygulamalardan veya genel amaçlı cihazlardan geliyorsa ve esnek sorgu isteniyorsa zaman serisi veritabanı uygundur. Birçok kurumda bu çözümler birlikte kullanılır.