TimescaleDB ํ๋ก์ ํธ๋ PostgreSQL์ ํ์ฅ์ผ๋ก ๊ตฌํ๋๋ฉฐ
TimescaleDB 1.7์ ๋ณ๊ฒฝ ์ฌํญ ์ค:
- DBMS์์ ํตํฉ ์ง์ ์ถ๊ฐ
PostgreSQL 12 . PostgreSQL 9.6.x ๋ฐ 10.x์ ๋ํ ์ง์์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค(Timescale 2.0์ PostgreSQL 11+๋ง ์ง์ํจ). - ์ง์์ ์ผ๋ก ์คํ๋๋ ์ง๊ณ ํจ์(์ง์์ ์ผ๋ก ๋ค์ด์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ง๊ณ)๋ฅผ ์ฌ์ฉํ๋ ์ฟผ๋ฆฌ์ ๋์์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ฌํ ์ฟผ๋ฆฌ๋ ์ด์ ๊ตฌ์ฒดํ๋ ๋ทฐ์ ์์ง ๊ตฌ์ฒดํ๋์ง ์์ ์๋ก ๋์ฐฉํ ๋ฐ์ดํฐ๋ฅผ ๊ฒฐํฉํฉ๋๋ค(์ด์ ์๋ ์ด๋ฏธ ๊ตฌ์ฒดํ๋ ๋ฐ์ดํฐ๋ง ์ง๊ณํ์ต๋๋ค). ์๋ก์ด ๋์์ ์๋ก ์์ฑ๋ ์ฐ์ ์ง๊ณ์ ์ ์ฉ๋ฉ๋๋ค. ๊ธฐ์กด ๋ณด๊ธฐ์ ๊ฒฝ์ฐ "timescaledb.materialized_only=false" ๋งค๊ฐ๋ณ์๋ "ALTER VIEW"๋ฅผ ํตํด ์ค์ ๋์ด์ผ ํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฅผ ์ฌ๊ทธ๋ฃนํํ๊ณ ์ฌ์ฉ๋์ง ์๋ ๋ฐ์ดํฐ ์ ๊ฑฐ ์ ์ฑ ์ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฅ(ํ์ฌ ๋ฐ์ดํฐ๋ง ์ ์ฅํ๊ณ ์ฌ์ฉ๋์ง ์๋ ๋ ์ฝ๋๋ฅผ ์๋์ผ๋ก ์ญ์ , ์ง๊ณ ๋๋ ๋ณด๊ดํ ์ ์์)์ ํฌํจํ์ฌ ์ผ๋ถ ๊ณ ๊ธ ๋ฐ์ดํฐ ์๋ช ์ฃผ๊ธฐ ๊ด๋ฆฌ ๋๊ตฌ๊ฐ ์์ฉ ๋ฒ์ ์์ ์ปค๋ฎค๋ํฐ ๋ฒ์ ์ผ๋ก ์ด์ ๋์์ต๋๋ค.
TimescaleDB DBMS๋ฅผ ์ฌ์ฉํ๋ฉด ๊ด๊ณํ DBMS ๊ณ ์ ์ ์ฌ์ฉ ์ฉ์ด์ฑ๊ณผ ์ ๋ฌธ NoSQL ์์คํ ๊ณ ์ ์ ํ์ฅ์ฑ ๋ฐ ๊ธฐ๋ฅ์ ๊ฒฐํฉํ์ฌ ๋ณธ๊ฒฉ์ ์ธ SQL ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ถ์ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ ์ ์๋ค๋ ์ ์ ๊ธฐ์ตํด ๋ณด์ญ์์ค. ๋น ๋ฅธ ๋ฐ์ดํฐ ์ถ๊ฐ ์๋๋ฅผ ๋ณด์ฅํ๋๋ก ์คํ ๋ฆฌ์ง ๊ตฌ์กฐ๊ฐ ์ต์ ํ๋์์ต๋๋ค. ๋ฐ์ดํฐ ์ธํธ์ ์ผ๊ด ์ถ๊ฐ, ๋ฉ๋ชจ๋ฆฌ ๋ด ์ธ๋ฑ์ค ์ฌ์ฉ, ๊ธฐ๋ก ์กฐ๊ฐ์ ์๊ธ ๋ก๋ ๋ฐ ํธ๋์ญ์ ์ฌ์ฉ์ ์ง์ํฉ๋๋ค.
TimescaleDB์ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ฐ์ดํฐ ๋ฐฐ์ด์ ์๋ ํํฐ์ ๋์ ์ง์ํ๋ค๋ ๊ฒ์ ๋๋ค. ์ ๋ ฅ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ๋ถํ ๋ ํ ์ด๋ธ ์ ์ฒด์ ์๋์ผ๋ก ๋ถ์ฐ๋ฉ๋๋ค. ์น์ ์ ์๊ฐ(๊ฐ ์น์ ์ ํน์ ๊ธฐ๊ฐ ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํจ)์ ๋ฐ๋ผ ์์ฑ๋๊ฑฐ๋ ์์์ ํค(์: ์ฅ์น ID, ์์น ๋ฑ)์ ๊ด๋ จํ์ฌ ์์ฑ๋ฉ๋๋ค. ์ฑ๋ฅ์ ์ต์ ํํ๊ธฐ ์ํด ํํฐ์ ์ ๋๋ ํ ์ด๋ธ์ ์ฌ๋ฌ ๋์คํฌ์ ๋ถ์ฐํ ์ ์์ต๋๋ค.
์ฟผ๋ฆฌ์ ๊ฒฝ์ฐ ๋ถํ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ์ดํผํ ์ด๋ธ์ด๋ผ๋ ํ๋์ ํฐ ํ ์ด๋ธ์ฒ๋ผ ๋ณด์ ๋๋ค. ํ์ดํผํ ์ด๋ธ์ ๋ค์ด์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ ํ๋ ๋ง์ ๊ฐ๋ณ ํ ์ด๋ธ์ ๊ฐ์์ผ๋ก ํํํ ๊ฒ์ ๋๋ค. ํ์ดํผํ ์ด๋ธ์ ์ฟผ๋ฆฌ ๋ฐ ๋ฐ์ดํฐ ์ถ๊ฐ๋ฟ๋ง ์๋๋ผ ์ธ๋ฑ์ค ์์ฑ ๋ฐ ๊ตฌ์กฐ ๋ณ๊ฒฝ(โALTER TABLEโ)๊ณผ ๊ฐ์ ์์ ์๋ ์ฌ์ฉ๋์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ์ ์์ค ๋ถํ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ฐ์์๊ฒ ์จ๊น๋๋ค. ํ์ดํผํ ์ด๋ธ์ ์ฌ์ฉํ๋ฉด ์ง๊ณ ํจ์, ํ์ ์ฟผ๋ฆฌ, ์ผ๋ฐ ํ ์ด๋ธ๊ณผ์ ๋ณํฉ ์์ (JOIN) ๋ฐ ์ฐฝ ํจ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ถ์ฒ : opennet.ru