ΠΡΠΎΠ΅ΠΊΡ TimescaleDB ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΊ PostgreSQL ΠΈ
Π‘ΡΠ΅Π΄ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² TimescaleDB 1.7:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Π‘Π£ΠΠ
PostgreSQL 12 . ΠΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° PostgreSQL 9.6.x ΠΈ 10.x (Π² Timescale 2.0 ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ PostgreSQL 11+). - ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ (Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎ ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ). ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΏΠΎΡΡΡΠΏΠΈΠ²ΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡ Π½Π΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ (ΡΠ°Π½Π΅Π΅ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ Π²Π°ΡΡΠ²Π°Π»ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΆΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅). ΠΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΡ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠΉ, Π΄Π»Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΡΡΠ°Π²ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ «timescaledb.materialized_only=false» ΡΠ΅ΡΠ΅Π· «ALTER VIEW».
- Π Community-Π²Π΅ΡΡΠΈΡ ΠΈΠ· ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ Π΄Π°Π½Π½ΡΡ , Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ Π²ΡΡΠ΅ΡΠ½Π΅Π½ΠΈΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ Π΄Π°Π½Π½ΡΡ (ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π°Π»ΡΡΡ, Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ).
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ Π‘Π£ΠΠ TimescaleDB ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠ΅ SQL-Π·Π°ΠΏΡΠΎΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠΎΡΠ΅ΡΠ°Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΡ, ΡΠ²ΠΎΠΉΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠΌ Π‘Π£ΠΠ, Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ, ΠΏΡΠΈΡΡΡΠΈΠΌΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ NoSQL-ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ. Π‘ΡΡΡΠΊΡΡΡΠ° Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½Π°Π±ΠΎΡΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΠΌΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ΅Π·ΠΎΠ² Π·Π°Π΄Π½ΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.
ΠΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ TimescaleDB ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΏΠ°ΡΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ) ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π°Π½Π½ΡΡ . ΠΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ. Π‘Π΅ΠΊΡΠΈΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠΈ Ρ ΡΠ°Π½ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ) ΠΈΠ»ΠΈ Π² ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΌΡ ΠΊΠ»ΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Ρ.ΠΏ.). ΠΠ»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ Π΄ΠΈΡΠΊΠ°ΠΌ.
ΠΠ»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΠ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ ΠΎΠ΄Π½Π° Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°Π±Π»ΠΈΡΠ°, ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠ°Ρ Π³ΠΈΠΏΠ΅ΡΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ. ΠΠΈΠΏΠ΅ΡΡΠ°Π±Π»ΠΈΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠΈΠΏΠ΅ΡΡΠ°Π±Π»ΠΈΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ ΠΈ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ («ALTER TABLE»), ΡΠΊΡΡΠ²Π°Ρ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΠ. C Π³ΠΈΠΏΠ΅ΡΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ Π°Π³ΡΠ΅Π³Π°ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ (JOIN) Ρ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ ΠΈ ΠΎΠΊΠΎΠ½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru