ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΠ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΡΠ΄ΠΎΠ² (timeseries db,
Disclaimer: ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ Π²Π΅ΡΡΠΈΠΈ InfluxDB 1.7.4.
ΠΠΎΡΠ΅ΠΌΡ time series?
ΠΡΠΎΠ΅ΠΊΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π°Ρ
ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ β ΡΠΌΠΎΡΡΠΈΠΌ ΡΠΌΠΈΡΡΠΈΡ ΠΈ ΡΠΆΠΈΠ³Π°Π½ΠΈΠ΅ ΡΡΡΠΉΠ±Π»-ΠΊΠΎΠΈΠ½ΠΎΠ² (
ΠΡΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΏΡΠΈΡΠ»Π° ΠΈΠ΄Π΅Ρ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΄ΠΎΠ² InfluxDB ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ Π² ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΄Π° ΠΎΠ½ΠΈ Ρ ΠΎΡΠΎΡΠΎ Π²ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ.
ΠΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΈ Π²ΡΠ³Π»ΡΠ΄Π΅Π»ΠΈ Π²Π΅ΡΡΠΌΠ° ΡΠ΄ΠΎΠ±Π½ΠΎ β Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΎΠΌ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½ΡΠΆΠ΅Π½ Π³ΡΠ°ΡΠΈΠΊ Π·Π° Π³ΠΎΠ΄, Π° Π² Π±Π°Π·Π΅ Π»Π΅ΠΆΠΈΡ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ Ρ ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌΠΎΠΌ Π² ΠΏΡΡΡ ΠΌΠΈΠ½ΡΡ. ΠΡΠ΅ ΡΡΠΎ ΡΡΡΡΡ ΡΠΎΡΠ΅ΠΊ Π΅ΠΌΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΠΎ β ΠΊΡΠΎΠΌΠ΅ Π΄ΠΎΠ»Π³ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΎΠ½ΠΈ ΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΡΡΡΡΡ. ΠΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌΠ°, Π»ΠΈΠ±ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ Π² Influx ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΈ. Π‘ ΠΈΡ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ Π΄Π½ΡΠΌ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½ΡΠΆΠ½ΡΠ΅ 365 ΡΠΎΡΠ΅ΠΊ.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΌΡΡΠ°Π»ΠΎ ΡΠΎ, ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠ΅ Π±Π°Π·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Ρ ΡΠ΅Π»ΡΡ ΡΠ±ΠΎΡΠ° ΠΌΠ΅ΡΡΠΈΠΊ. ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², iot-ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π²ΡΠ΅, Ρ ΡΠ΅Π³ΠΎ Β«Π»ΡΡΡΡΡΒ» ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΡΠΎΡΠ΅ΠΊ Π²ΠΈΠ΄Π°: [<Π²ΡΠ΅ΠΌΡ> β <Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ>]. ΠΠΎ Π΅ΡΠ»ΠΈ Π±Π°Π·Π° Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½ΡΡ , ΡΠΎ ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ? Π‘ ΡΡΠΎΠΉ ΠΌΡΡΠ»ΡΡ Π²Π·ΡΠ»ΠΈ InfluxDB Π² ΡΠ°Π±ΠΎΡΡ.
Π§ΡΠΎ Π΅ΡΠ΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π² InfluxDB
ΠΡΠΎΠΌΠ΅ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΈ Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ Π²Π΅ΡΡ β continuous queries (
Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡΡ retention policies (
- ΡΠΎΠ·Π΄Π°ΡΡ continuous query Π΄Π»Ρ Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π² Π΄ΡΡΠ³ΡΡ ΡΠ°Π±Π»ΠΈΡΡ;
- Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°ΡΡΠ΅ ΡΠΎΠΉ ΡΠ°ΠΌΠΎΠΉ Π½Π΅Π΄Π΅Π»ΠΈ.
Π Influx Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π½Π΅Π½ΡΠΆΠ½ΠΎΠ΅.
Π Ρ ΡΠ°Π½ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ
ΠΠ°Π½Π½ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ: ΠΎΠΊΠΎΠ»ΠΎ 70 ΡΡΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΈ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ ΡΠΎΡΠ΅ΠΊ Ρ ΡΡΠ½ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ β Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 3000 ΡΠΎΡΠ΅ΠΊ Π² ΡΡΡΠΊΠΈ. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΠΎ ΡΠ°ΠΉΡΡ, Π½ΠΎ ΡΠ°ΠΌ Π΄Π°Π½Π½ΡΡ ΠΌΠ°Π»ΠΎ ΠΈ ΠΏΠΎ retention policy ΠΎΠ½ΠΈ Ρ ΡΠ°Π½ΡΡΡΡ Π½Π΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΡΠ°.
ΠΡΠΎΠ±Π»Π΅ΠΌΡ
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠΈΡΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ InfluxDB.
1. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΡΡΡ ΡΠ΅ΡΠΈΡ Π΄Π°Π½Π½ΡΡ Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ:
SELECT time, amount, block, symbol FROM transactions WHERE symbol='USDT'
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠΎΡΡΠ»Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
:
DELETE FROM transactions WHERE symbol=βUSDTβ
ΠΠ°Π»Π΅Π΅ Π΄Π΅Π»Π°Ρ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΆΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ . Π Influx Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΡΡΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°ΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ.
ΠΡΠΎΠ±ΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ:
DROP MEASUREMENT transactions
ΠΡΠΎΠ²Π΅ΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ:
SHOW MEASUREMENTS
Π’Π°Π±Π»ΠΈΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π½Π΅ Π½Π°Π±Π»ΡΠ΄Π°Ρ, Π½ΠΎ Π½ΠΎΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ Π΄Π°Π½Π½ΡΡ Π²ΡΠ΅ Π΅ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΡ ΠΆΠ΅ Π½Π°Π±ΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Ρ ΠΌΠ΅Π½Ρ Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ΅ΠΉΡ Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ β Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ. ΠΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±Π°Π·Ρ ΡΠ²Π½ΠΎ Π½Π΅ Π²ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ°ΠΌΠΊΠΈ Β«ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉΒ» ΡΠ°Π±ΠΎΡΡ. ΠΠΎΠ·ΠΆΠ΅ Π½Π° github Π½Π°ΡΠ΅Π» ΠΎΡΠΊΡΡΡΡΠΉ
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΉ Π±Π°Π·Ρ.
2. Π§ΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ
ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π² InfluxDB ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠΎΡΠ½ΠΎΡΡΠΈ. ΠΠ΅ ΡΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠ΅ΠΌ-ΡΠΎ Π½Π΅ΠΎΠ±ΡΡΠ½ΡΠΌ, Π½ΠΎ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎ.
Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΡ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ. ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ Π² ΠΏΠ»Π°Π½Π°Ρ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ continuous queries.
3. Continuous queries Π½Π΅Π»ΡΠ·Ρ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊ ΡΠ°Π·Π½ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π·ΠΎΠ½Π°ΠΌ
ΠΠ° ΡΠ΅ΡΠ²ΠΈΡΠ΅ Π΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° Ρ Π΄Π½Π΅Π²Π½ΠΎΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΎΠΉ ΠΏΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄Π½Ρ Π½ΡΠΆΠ½ΠΎ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π° ΡΡΠΈ ΡΡΡΠΊΠΈ. ΠΠΎ Π΄Π΅Π½Ρ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Π² ΡΠ°Π·Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈ Π½Π°Π±ΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΡΠ°Π·Π½ΡΠΉ. ΠΠΎ UTC Π΅ΡΡΡ
Π InfluxDB ΠΏΡΠΈ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΄Π²ΠΈΠ³, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΠΌΠΎΡΠΊΠΎΠ²ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (UTC+3):
SELECT MEAN("supply") FROM transactions GROUP BY symbol, time(1d, 3h) fill(previous)
ΠΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π·Π°ΠΏΡΠΎΡΠ° Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ. ΠΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎ Π΄Π½ΡΠΌ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Π°ΠΆ Π² 1677 Π³ΠΎΠ΄Ρ (InfluxDB ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ ΠΎΡ ΡΡΠΎΠ³ΠΎ Π³ΠΎΠ΄Π°):
ΠΠ»Ρ ΠΎΠ±Ρ
ΠΎΠ΄Π° ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅Π»ΠΈ ΡΠ΅ΡΠ²ΠΈΡ Π½Π° UTC+0.
4. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ
Π ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠΎΠ² ΡΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡΠΌΠΈ InfluxDB ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΠ. ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΠΈ ΠΎΠ½ΠΈ Π²ΡΠ³Π»ΡΠ΄Π΅Π»ΠΈ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ΠΎΠ²ΡΠΌΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌΠΈ, Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ Π΄ΠΎΠ»Ρ ΠΏΡΠ°Π²Π΄Ρ Π² Π½ΠΈΡ Π΅ΡΡΡ.
Π Π°ΡΡΠΊΠ°ΠΆΡ ΡΠ²ΠΎΠΉ ΠΊΠ΅ΠΉΡ.
Π‘Π΅ΡΠ²ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ API, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΡΠΊΠΈ. ΠΡΠΈ ΡΠ°ΡΡΠ΅ΡΠ°Ρ ΠΌΠ΅ΡΠΎΠ΄ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π±Π°Π·Ρ ΡΡΠΈΠΆΠ΄Ρ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ:
SELECT * FROM coins_info WHERE time <= NOW() GROUP BY symbol ORDER BY time DESC LIMIT 1
SELECT * FROM dominance_info ORDER BY time DESC LIMIT 1
SELECT * FROM transactions WHERE time >= NOW() - 24h ORDER BY time DESC
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅:
- Π ΠΏΠ΅ΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠΎΠ½Π΅ΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎ ΡΡΠ½ΠΊΡ. ΠΠΎΡΠ΅ΠΌΡ ΡΠΎΡΠ΅ΠΊ Π΄Π»Ρ Π²ΠΎΡΡΠΌΠΈ ΠΌΠΎΠ½Π΅Ρ Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅.
- ΠΡΠΎΡΠΎΠΉ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΎΠ΄Π½Ρ ΡΠ°ΠΌΡΡ Π½ΠΎΠ²ΡΡ ΡΠΎΡΠΊΡ.
- Π’ΡΠ΅ΡΠΈΠΉ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΡΠΊΠΈ, ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ΅Π½.
Π£ΡΠΎΡΠ½Ρ, ΡΡΠΎ Π² InfluxDB ΠΏΠΎ ΡΡΠ³Π°ΠΌ ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠΎΠΈΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΊΠΎΡΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ symbol β ΡΡΠΎ ΡΡΠ³.
Π― ΠΏΡΠΎΠ²Π΅Π» ΡΡΡΠ΅ΡΡ-ΡΠ΅ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° API. ΠΠ»Ρ 25 RPS ΡΠ΅ΡΠ²Π΅Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π» ΠΏΠΎΠ»Π½ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ΅ΡΡΠΈ CPU:
ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡ NodeJs ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ Π΄Π°Π²Π°Π» Π½Π°Π³ΡΡΠ·ΠΊΠΈ.
Π‘ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π΅Π³ΡΠ°Π΄ΠΈΡΠΎΠ²Π°Π»Π° ΡΠΆΠ΅ Π½Π° 7-10 RPS: Π΅ΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠ³ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ Π·Π° 200 ΠΌΡ, ΡΠΎ 10 ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ»ΠΈ ΠΆΠ΄Π°ΡΡ ΠΏΠΎ ΡΠ΅ΠΊΡΠ½Π΄Π΅. 25 RPS β Π³ΡΠ°Π½ΠΈΡΠ°, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΡΠ°Π΄Π°Π»Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ, ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»ΠΈΡΡ 500 ΠΎΡΠΈΠ±ΠΊΠΈ.
Π‘ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Influx Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ: Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π³Π΄Π΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½ΡΠΆΠ½ΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² β ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΡΡ ΠΎΠΆΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠ΅ΡΡΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½.
ΠΡΠ²ΠΎΠ΄
Π‘Π°ΠΌΡΠΉ Π³Π»Π°Π²Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΈΠ· ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° β Π½Π΅Π»ΡΠ·Ρ Π±ΡΠ°ΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π±Π΅Π· Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°. ΠΡΠΎΡΡΠΎΠΉ ΡΠΊΡΠΈΠ½ΠΈΠ½Π³ ΠΎΡΠΊΡΡΡΡΡ ΡΠΈΠΊΠ΅ΡΠΎΠ² Π½Π° github ΠΌΠΎΠ³ Π΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΡΠΎΠ±Ρ Π½Π΅ Π±ΡΠ°ΡΡ InfluxDB Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π΄Π°Π½Π½ΡΡ .
InfluxDB Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΠ»Π° Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄ΠΎΠΉΡΠΈ ΠΏΠΎΠ΄ Π·Π°Π΄Π°ΡΠΈ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π»Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, ΡΡΠ° ΠΠ Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡΡΡΠΈΡ.
Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π²Π΅ΡΡΠΈΡ 2.0.0-beta, ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π°Π΄Π΅ΡΡΡΡΡ, ΡΡΠΎ Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π±ΡΠ΄ΡΡ Π·Π½Π°ΡΠΈΠΌΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ. Π Ρ ΠΏΠΎΠΊΠ° ΠΏΠΎΠΉΠ΄Ρ ΠΈΠ·ΡΡΠ°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ TimescaleDB.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com