TimescaleDB Hiper tabloları
Bir Postgres tablosunu TimescaleDB hiper tablosuna dönüştürün ve parça aralığına göre otomatik zaman bölümlendirmesi yapın.
TimescaleDB Hiper tabloları, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 1. 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.
TimescaleDB Nedir?
Zaman serisi verileri için geliştirilmiş bir PostgreSQL uzantısıdır. Otomatik zaman bölümleme, sıkıştırma, saklama ve sürekli toplamalar ekler. Tek başına veya normal PostgreSQL'in yanında kullanılır.
Hiper Tablo
Mantıksal olarak tek, fiziksel olarak zamana göre "parçalara" ayrılmış bir tablo:
CREATE EXTENSION IF NOT EXISTS timescaledb;
CREATE TABLE metrics (
ts TIMESTAMPTZ NOT NULL,
device_id BIGINT NOT NULL,
value DOUBLE PRECISION
);
SELECT create_hypertable('metrics', 'ts');
-- metrics is now a hypertable, chunks created automatically.Parça Zaman Aralığı
Varsayılan parça = 7 gün. Veri akış hızınıza göre ayarlayın (yüksek akış hızlı veriler için daha küçük parçalar):
SELECT create_hypertable('metrics', 'ts', chunk_time_interval => INTERVAL '1 day');
-- One chunk per day, smaller and faster to drop.Veri Ekleme
Yalnızca normal INSERT — TimescaleDB satırları doğru parçaya yönlendirir:
INSERT INTO metrics (ts, device_id, value)
VALUES (NOW(), 1, 42.5);Hiper Tabloları Sorgulama
Normal bir tablo gibi görünür. Planlayıcı, zamanla sınırlandırılmış sorgular için parçaları eler:
SELECT * FROM metrics
WHERE ts >= NOW() - INTERVAL '7 days'
ORDER BY ts DESC LIMIT 100;
-- Only the relevant chunks are read.time_bucket: Daha Akıllı date_trunc
TimescaleDB'nin gruplama yardımcısı:
SELECT time_bucket('1 hour', ts) AS hour,
AVG(value) AS avg_value
FROM metrics
WHERE device_id = 42
AND ts >= NOW() - INTERVAL '24 hours'
GROUP BY hour
ORDER BY hour;Çok Sütunlu Bölümleme
Çok kiracılı iş yüklerinde device_id'ye göre de bölümleyin:
SELECT create_hypertable('metrics', 'ts', 'device_id', 4);
-- Hash-partitions device_id into 4 space partitions per time chunk.Her İki Filtreyle Sorgulama
En iyi performans, her iki bölümleme boyutu da filtrelendiğinde elde edilir:
SELECT * FROM metrics
WHERE device_id = 42
AND ts >= NOW() - INTERVAL '7 days';
-- Prunes by both time and space.Hiper Tablolardaki Dizinler
Dizinler her parçaya yayılır:
CREATE INDEX metrics_device_idx ON metrics (device_id, ts DESC);
-- Composite index ideal for 'recent data for one device' queries.Hiper Tabloları Güncelleme
UPDATE ve DELETE işlemleri çalışır ancak zaman serilerinde nadir olmalıdır. Eski veriler genellikle yalnızca eklenir ve değiştirilemez.
Normal Tablolardan Geçiş
Mevcut tablolar hiper tablolara dönüştürülebilir:
SELECT create_hypertable('metrics', 'ts', migrate_data => true);Özet
Hiper tablolar = PostgreSQL için otomatik zaman bölümleme.
- Tek bir mantıksal tablo, çok sayıda fiziksel parça
- create_hypertable + chunk_time_interval
- Bölümlenmiş toplamalar için time_bucket
- Dizinler tüm parçalara yayılır
Kısa Kontrol
Saniyede 100 bin IoT ölçümü alıyorsunuz. Tabloyu TimescaleDB hiper tablosuna dönüştürmenin nedeni nedir?
Sıkça Sorulan Sorular
“TimescaleDB Hiper tabloları” dersi ücretsiz mi?
Evet — “TimescaleDB Hiper tabloları” 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.
“TimescaleDB Hiper tabloları” dersinde ne öğreneceğim?
Bir Postgres tablosunu TimescaleDB hiper tablosuna dönüştürün ve parça aralığına göre otomatik zaman bölümlendirmesi yapı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 1. dersidir.
“TimescaleDB Hiper tabloları” 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
- TimescaleDB Hiper tabloları
- Sürekli Toplamalar
- Sıkıştırma ve Saklama İlkeleri
- Zaman Serisi INDEX Seçimleri