DuckDB
DuckDB - ΡΡΠΎ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠ°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ (βSQLite Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈβ), ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² (OLAP) ΠΏΡΡΠΌΠΎ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ΅Π΄Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Python, R), Π±Π΅Π· ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°.
Π§ΡΠΎ ΠΌΠ½Π΅ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΠΎΡΡ
Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ SQLite Ρ ΠΎΡΠΎΡΠΈΠΉ, ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ, ΠΏΠΎΠ»Π½ΡΠΉ Π΄ΠΈΠ°Π»Π΅ΠΊΡ SQL + ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ CLI ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
SQL Π΄Π°ΠΆΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Transclude of ΠΠ°ΡΠΊ-ΠΠΈΠ΄Ρ ΡΠΌ,-ΠΠ°ΠΉΠΊΠ»-Π₯ΡΠ½Π³Π΅Ρ,-ΠΠ°ΠΉΠΊΠ»-Π‘Π°ΠΉΠΌΠΎΠ½Ρ-DuckDB-Π²-Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ#^463eb0
Transclude of ΠΠ°ΡΠΊ-ΠΠΈΠ΄Ρ ΡΠΌ,-ΠΠ°ΠΉΠΊΠ»-Π₯ΡΠ½Π³Π΅Ρ,-ΠΠ°ΠΉΠΊΠ»-Π‘Π°ΠΉΠΌΠΎΠ½Ρ-DuckDB-Π²-Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ#^3a4b87
Transclude of ΠΠ°ΡΠΊ-ΠΠΈΠ΄Ρ ΡΠΌ,-ΠΠ°ΠΉΠΊΠ»-Π₯ΡΠ½Π³Π΅Ρ,-ΠΠ°ΠΉΠΊΠ»-Π‘Π°ΠΉΠΌΠΎΠ½Ρ-DuckDB-Π²-Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ#^6c4c0d
Transclude of ΠΠ°ΡΠΊ-ΠΠΈΠ΄Ρ ΡΠΌ,-ΠΠ°ΠΉΠΊΠ»-Π₯ΡΠ½Π³Π΅Ρ,-ΠΠ°ΠΉΠΊΠ»-Π‘Π°ΠΉΠΌΠΎΠ½Ρ-DuckDB-Π²-Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ#^d97d62
SELECT * EXCLUDE (id)
FROM prices;Transclude of ΠΠ°ΡΠΊ-ΠΠΈΠ΄Ρ ΡΠΌ,-ΠΠ°ΠΉΠΊΠ»-Π₯ΡΠ½Π³Π΅Ρ,-ΠΠ°ΠΉΠΊΠ»-Π‘Π°ΠΉΠΌΠΎΠ½Ρ-DuckDB-Π²-Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ#^4668f8Π’Π°ΠΊ ΠΆΠ΅ COLUMNS ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Lambda ΡΡΠ½ΠΊΡΠΈΠΈ
FROM
prices
WHERE
COLUMNS(col -> col LIKE 'valid%') BETWEEN '2020-01-01' AND '2021-01-01';SUMMARIZE! ΠΠΎΠ»ΡΠ΅Π±Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΡ