0Pricing
SQL Academy · Ders

Sürekli Toplamalar

CONTINUOUS AGGREGATE materialised VIEW'larıyla zaman serisi verilerini önceden toplayın ve artımlı REFRESH uygulayın.

Sürekli Toplamalar, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.

Sürekli Toplama Nedir?

Bir hiper tablo üzerinde önceden hesaplanmış ve artımlı olarak yenilenen bir toplamadır — yeni veriler geldikçe akıllıca güncellenen bir gerçekleştirilmiş görünüm gibidir.

Oluşturma

Saatlik cihaz ortalamaları:

CREATE MATERIALIZED VIEW metrics_hourly
WITH (timescaledb.continuous) AS
SELECT device_id,
       time_bucket('1 hour', ts) AS hour,
       AVG(value) AS avg_value,
       COUNT(*)   AS samples
FROM metrics
GROUP BY device_id, hour;

Yenileme İlkesi

TimescaleDB otomatik olarak yeniler:

SELECT add_continuous_aggregate_policy('metrics_hourly',
  start_offset => INTERVAL '1 day',
  end_offset   => INTERVAL '1 hour',
  schedule_interval => INTERVAL '15 minutes');
-- Every 15 minutes, refresh the window from 1 day ago to 1 hour ago.

Sorgulama

Yalnızca SELECT — TimescaleDB en son gerçekleştirilmemiş dönem için gerçekleştirilmiş verileri ham verilerle birleştirir:

SELECT * FROM metrics_hourly
WHERE device_id = 42
  AND hour >= NOW() - INTERVAL '7 days'
ORDER BY hour;

Gerçek Zamanlı Toplama

Varsayılan olarak sürekli toplamalar, önceden hesaplanmış verileri PLUS gerçekleştirilmemiş kuyruk için ham verileri gösterir. En güncel değerleri her zaman görürsünüz; bunun bedeli, kuyruğun anlık olarak hesaplanmasıdır.

Yalnızca Gerçekleştirilmiş Veri Modu

Tamamen önceden hesaplanmış panolar için (anlık hesaplama olmadan), gerçek zamanlı toplamayı kapatın:

ALTER MATERIALIZED VIEW metrics_hourly
  SET (timescaledb.materialized_only = true);

Çok Katmanlı Toplama

Saatlik → günlük → aylık oluşturun:

-- daily aggregate from the hourly cagg
CREATE MATERIALIZED VIEW metrics_daily
WITH (timescaledb.continuous) AS
SELECT device_id, time_bucket('1 day', hour) AS day,
       AVG(avg_value) AS avg_value
FROM metrics_hourly
GROUP BY device_id, day;

Hiper Tabloyu Sıkıştırmak Toplamayı Engellemez

Temel hiper tabloyu sıkıştırabilirsiniz; sürekli toplamalar çalışmaya devam eder.

Sürekli Toplamalar Gerçekleştirilmiş Görünümleri Ne Zaman Geride Bırakır

  • Zaman serisi verileri: yerleşik zaman anlamı
  • Artımlı yenileme — tüm geçmişi yeniden taramak gerekmez
  • Gerçek zamanlı kuyruk entegrasyonu
  • Çok katmanlı özetlemeler

Uyumluluk

Sürekli toplamalar TimescaleDB hiper tablolarında çalışır. TS olmayan PostgreSQL için kendi gerçekleştirilmiş görünümünüzü ve yenileme mantığınızı yazmanız gerekir.

Geçmiş Veriyi Doldurma

Toplama tanımını değiştirirseniz geçmiş verileri manuel olarak yenileyin:

CALL refresh_continuous_aggregate('metrics_hourly',
  NULL, NOW());
-- Recompute from the beginning of time.

Özet

Sürekli toplamalar, zaman serisi gerçekleştirilmiş görünümleridir.

  • WITH (timescaledb.continuous) ile tanımlanır
  • Otomatik yenileme ilkesi
  • Gerçek zamanlı + gerçekleştirilmiş birleşim
  • Saatlik toplamaların üzerine günlük/haftalık toplamalar ekleme

Kısa Kontrol

Bir TimescaleDB sürekli toplamasının yenilenmesini REFRESH MATERIALIZED VIEW işlemine kıyasla verimli kılan nedir?

Sıkça Sorulan Sorular

“Sürekli Toplamalar” dersi ücretsiz mi?

Evet — “Sürekli Toplamalar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.

“Sürekli Toplamalar” dersinde ne öğreneceğim?

CONTINUOUS AGGREGATE materialised VIEW'larıyla zaman serisi verilerini önceden toplayın ve artımlı REFRESH uygulayın. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

SQL Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Sürekli Toplamalar” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. TimescaleDB Hiper tabloları
  2. Sürekli Toplamalar
  3. Sıkıştırma ve Saklama İlkeleri
  4. Zaman Serisi INDEX Seçimleri
← SQL Academy Sayfasına Dön