Jatkuvat koostetut näkymät
Esikoosta aikasarjatiedot CONTINUOUS AGGREGATE -materialisoiduilla näkymillä ja päivitä ne inkrementaalisesti.
Jatkuvat koostetut näkymät on ilmainen SQL Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu SQL Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. SQL Academy-kurssilla on yhteensä 4 oppituntia.
Mikä on jatkuva aggregaatti?
Hypertable-taulun esilaskettu ja vaiheittain päivitettävä aggregaatti — kuin materialisoitu näkymä, joka päivittyy älykkäästi uuden datan saapuessa.
Jatkuvan aggregaatin luominen
Laitteiden tuntikohtaiset keskiarvot:
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;Päivityskäytäntö
TimescaleDB päivittää automaattisesti:
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.Kyselyt
Käyttäkää vain SELECT-lauseetta — TimescaleDB yhdistää materialisoidun datan ja viimeisimmän materialisoimattoman ajanjakson raakadatan:
SELECT * FROM metrics_hourly
WHERE device_id = 42
AND hour >= NOW() - INTERVAL '7 days'
ORDER BY hour;Reaaliaikainen aggregointi
Jatkuvat aggregaatit näyttävät oletusarvoisesti esilasketun datan JA materialisoimattoman loppuosan raakadatan. Näette aina uusimmat arvot, mutta loppuosa lasketaan lennossa.
Vain materialisoitu tila
Jos tarvitsette kokonaan esilaskettuja koontinäyttöjä ilman lennossa tapahtuvaa laskentaa, poistakaa reaaliaikainen aggregointi käytöstä:
ALTER MATERIALIZED VIEW metrics_hourly
SET (timescaledb.materialized_only = true);Monitasoinen aggregointi
Rakentakaa tuntikohtainen → päiväkohtainen → kuukausikohtainen aggregointi:
-- 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;Hypertable-taulun pakkaus ei estä aggregointia
Voitte pakata taustalla olevan hypertablen; jatkuvat aggregaatit toimivat edelleen.
Milloin jatkuvat aggregaatit ovat materialisoituja näkymiä parempia
- Aikasarjadata: sisäänrakennettu ajallinen käsittely
- Vaiheittainen päivitys — koko historiaa ei tarvitse skannata uudelleen
- Reaaliaikaisen loppuosan integrointi
- Monitasoiset koonnit
Yhteensopivuus
Jatkuvat aggregaatit toimivat TimescaleDB-hypertableilla. Muussa kuin TS Postgresissa materialisoitu näkymä ja sen päivityslogiikka on toteutettava itse.
Historiatietojen täydentäminen
Päivittäkää historialliset tiedot manuaalisesti, jos muutatte aggregaatin määritelmää:
CALL refresh_continuous_aggregate('metrics_hourly',
NULL, NOW());
-- Recompute from the beginning of time.Kertaus
Jatkuvat aggregaatit ovat aikasarjojen materialisoituja näkymiä.
- Määritellään WITH (timescaledb.continuous) -määritteellä
- Automaattinen päivityskäytäntö
- Reaaliaikaisen ja materialisoidun datan yhdistelmä
- Rakentakaa päivä- ja viikkotason aggregaatit tuntitason päälle
Pikatarkistus
Mikä tekee TimescaleDB:n jatkuvan aggregaatin päivityksestä tehokkaampaa kuin REFRESH MATERIALIZED VIEW -komennosta?
Opi SQL tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 46
- Oppitunnit
- 183
Usein kysytyt kysymykset
Onko oppitunti ”Jatkuvat koostetut näkymät” ilmainen?
Kyllä – oppitunnin ”Jatkuvat koostetut näkymät” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko SQL Academy-kurssin, päivitä CoddyKit PROhon. SQL Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Jatkuvat koostetut näkymät”?
Esikoosta aikasarjatiedot CONTINUOUS AGGREGATE -materialisoiduilla näkymillä ja päivitä ne inkrementaalisesti. Harjoittelet SQL Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni SQL Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin SQL Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Jatkuvat koostetut näkymät”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä SQL Academy-oppitunnilla?
Kyllä. Jokainen SQL Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- TimescaleDB:n hypertaulet
- Jatkuvat koostetut näkymät
- Pakkaus- ja säilytyskäytännöt
- Aikasarjojen indeksivalinnat