ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ DOOMQL, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΠ³ΡΡ DOOM, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° SQL ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ Π‘Π£ΠΠ CedarDB, ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠΉ Ρ PostgreSQL. ΠΠ³ΡΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ASCII-Π³ΡΠ°ΡΠΈΠΊΠΈ. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ MIT.
ΠΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΠ³ΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΠΎΠ΄ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°, ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΠ³ΡΠΎΠΊΠΎΠ² ΠΏΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΈΠ³ΡΠ΅ ΠΈ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°, Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° SQL. ΠΠ³ΡΠΎΠ²Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ°Π±Π»ΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ (VIEW) ΠΈ Ρ ΡΠ°Π½ΠΈΠΌΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ, ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ DOOMQL ΠΎΡ ΠΏΠΎΡ ΠΎΠΆΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² DuckDB-DOOM (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π½Π° WebAssembly) ΠΈ pg_doom (ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊ PostgreSQL Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ).
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ DOOMQL ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Β«Π²ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈΒ», ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ°ΡΡ, ΠΈΠ³ΡΠΎΠΊΠΎΠ², ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΠΈΡ ΡΡ ΠΏΠΎ ΡΡΠΎΠ²Π½Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠΎΠ±ΡΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°, Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈ ΡΠΏΡΠ°ΠΉΡΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ», ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠΉ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ 20-ΡΡΡΠΎΡΠ½ΠΎΠ³ΠΎ shell-ΡΠΊΡΠΈΠΏΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ 30 ΡΠ°Π· Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ SQL-ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠ°ΡΡΡΡΠ° ΡΡΠ°Π΅ΠΊΡΠΎΡΠΈΠΈ Π²ΡΡΡΡΠ΅Π»ΠΎΠ², Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π²ΠΎΠ΄Π° ΠΈ Π²ΠΎΠ·ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΠ³ΡΠΎΠΊΠΎΠ².
ΠΠ°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° SQL 3D-ΡΠ΅Π½Π΄Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ Π»ΡΡΠ΅ΠΉ, ΠΏΡΠΎΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΡΠ°ΠΉΡΠΎΠ² Π½Π° 3D-ΡΡΠ΅Π½Ρ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠ΅ΡΠ΅ΠΊΡΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ HUD-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (Heads-Up Display). ΠΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ. ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΊ ΠΈΠ³ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ³ΡΠΎΠΊΠΎΠ², ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ°Π±Π»ΠΈΡ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ.
ΠΠ° ΡΡΠΎΡΠΎΠ½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ ΠΎΠΊΠΎΠ»ΠΎ 150 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π½Π° ΡΠ·ΡΠΊΠ΅ Python. Π Π°Π±ΠΎΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π½Π°ΠΆΠ°ΡΠΈΡΡ
ΠΊΠ»Π°Π²ΠΈΡ ΠΈ Π²ΡΠ²ΠΎΠ΄Ρ ΠΊΠ°Π΄ΡΠΎΠ² Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π». ΠΡΠ²ΠΎΠ΄ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΡΡΡΠΌ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
SELECT-Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Β«screenΒ» Π² Π‘Π£ΠΠ, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡΠΌΠΈΡΡΡΡΠ΅ΠΌΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ (ΠΊΠ°ΠΆΠ΄Π°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΠ°Ρ Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π·Π°ΠΏΡΠΎΡ SELECT ΡΡΡΠΎΠΊΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΡΠΎΠΊΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅). ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ
ΠΈΠ³ΡΠΎΠΊΠΎΠ² ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· INSERT-Π·Π°ΠΏΡΠΎΡΡ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
