KDB+, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠ°ΡΠ°
ΠΠΎ ΠΎΠ²Π°Π° ΡΡΠ°ΡΠΈΡΠ° ΡΠ΅ ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π°ΠΌ Π΄Π° Π²ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ Π²ΠΎΠΎΠΏΡΡΠΎ ΡΡΠΎ Π΅ KDB+, ΠΊΠ°ΠΊΠ²ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ° ΠΈΠΌΠ° ΠΈ ΠΊΠΎΠΈ ΡΠ΅ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡΠ΅ ΠΊΠΎΠΈ ΡΠ°ΠΊΠ°Π°Ρ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°Π°Ρ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠ»ΠΈΡΠΈΠ½ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠ΅ΠΌΠ° Π΄Π° Π½Π°Π²Π»Π΅Π³ΡΠ²Π°ΠΌ Π²ΠΎ Π΄Π΅ΡΠ°Π»ΠΈΡΠ΅ Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° KDB+ ΠΈΠ»ΠΈ Π΄Π΅ΡΠ°Π»ΠΈΡΠ΅ Π·Π° Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΠΊ Q. Π Π΄Π²Π΅ΡΠ΅ ΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ ΡΠ΅ΠΌΠΈ ΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ ΡΠΈΡΠΎΠΊΠΈ ΠΈ Π·Π°ΡΠ»ΡΠΆΡΠ²Π°Π°Ρ ΠΏΠΎΡΠ΅Π±Π½ΠΈ Π½Π°ΠΏΠΈΡΠΈ. ΠΠ½ΠΎΠ³Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΠΎΠ²ΠΈΠ΅ ΡΠ΅ΠΌΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΡΠ΄Π°Ρ Π½Π° code.kx.com, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ ΠΊΠ½ΠΈΠ³Π° Π·Π° Q - Q For Mortals (Π²ΠΈΠ΄Π΅ΡΠ΅ ΡΠ° Π²ΡΡΠΊΠ°ΡΠ° ΠΏΠΎΠ΄ΠΎΠ»Ρ).
ΠΠ΅ΠΊΠΎΠΈ ΡΠ΅ΡΠΌΠΈΠ½ΠΈ
- ΠΠ°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°. ΠΠ°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ RAM ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π·Π° ΠΏΠΎΠ±ΡΠ· ΠΏΡΠΈΡΡΠ°ΠΏ. ΠΡΠ΅Π΄Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ°ΠΊΠ²Π°ΡΠ° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠ΅ ΡΠ°ΡΠ½ΠΈ, Π½ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° Π³ΡΠ±Π΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ ΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π΄Π° ΡΠ΅ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ.
- ΠΠΎΠ»ΠΎΠ½ΠΎΡΠ½Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠ°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ ΠΊΠΎΠ»ΠΎΠ½Π° ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½Π° Π½Π°ΠΌΠ΅ΡΡΠΎ Π΅Π²ΠΈΠ΄Π΅Π½ΡΠΈΡΠ° ΠΏΠΎ Π·Π°ΠΏΠΈΡ. ΠΠ»Π°Π²Π½Π°ΡΠ° ΠΏΡΠ΅Π΄Π½ΠΎΡΡ Π½Π° ΡΠ°ΠΊΠ²Π°ΡΠ° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π΅ ΡΠΎΠ° ΡΡΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΎΠ΄ Π΅Π΄Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π° ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ Π·Π°Π΅Π΄Π½ΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΡ ΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π³ΠΎ Π·Π°Π±ΡΠ·ΡΠ²Π° ΠΏΡΠΈΡΡΠ°ΠΏΠΎΡ Π΄ΠΎ Π½Π΅Π³ΠΎ. ΠΠ΅ΠΌΠ° ΠΏΠΎΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ Π²ΡΠΈΡΡΠ²Π°Π°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΡΡΠΎ Π½Π΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π²ΠΎ Π±Π°ΡΠ°ΡΠ΅ΡΠΎ. ΠΠ»Π°Π²Π½ΠΈΠΎΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π΅ ΡΠΎΠ° ΡΡΠΎ Π΅ ΡΠ΅ΡΠΊΠΎ Π΄Π° ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π°Π°Ρ ΠΈ Π±ΡΠΈΡΠ°Ρ Π·Π°ΠΏΠΈΡΠΈΡΠ΅.
- ΠΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ. ΠΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠΎ ΠΊΠΎΠ»ΠΎΠ½Π° Π·Π° Π΄Π°ΡΡΠΌ ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅. ΠΠΎΠΎΠ±ΠΈΡΠ°Π΅Π½ΠΎ, ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΠΎΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅ Π΅ Π²Π°ΠΆΠ΅Π½ Π·Π° ΡΠ°ΠΊΠ²ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΡΠ°ΠΊΠ° ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΠΎΠ΄ΡΠ΅Π΄ΠΈΡΠ΅ ΠΊΠΎΡ Π·Π°ΠΏΠΈΡ ΠΌΡ ΠΏΡΠ΅ΡΡ ΠΎΠ΄ΠΈ ΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ΠΈ Π½Π° ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ ΠΈΠ»ΠΈ Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ Π·Π°Π²ΠΈΡΠ°Ρ ΠΎΠ΄ ΡΠ΅Π΄ΠΎΡΠ»Π΅Π΄ΠΎΡ Π½Π° Π·Π°ΠΏΠΈΡΠΈΡΠ΅. ΠΠ»Π°ΡΠΈΡΠ½ΠΈΡΠ΅ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ Π½Π° ΡΠΎΡΠ΅ΠΌΠ° ΠΏΠΎΠΈΠ½Π°ΠΊΠΎΠ² ΠΏΡΠΈΠ½ΡΠΈΠΏ - ΠΏΡΠ΅ΡΡΡΠ°Π²ΡΠ²Π°Π°Ρ Π·Π±ΠΈΡΠΊΠ° Π·Π°ΠΏΠΈΡΠΈ ΠΊΠ°ΠΊΠΎ Π·Π±ΠΈΡ, ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΡΠ΅Π΄ΠΎΡΠ»Π΅Π΄ΠΎΡ Π½Π° Π·Π°ΠΏΠΈΡΠΈΡΠ΅, Π²ΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ, Π½Π΅ Π΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½.
- ΠΠ΅ΠΊΡΠΎΡ. ΠΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π½Π° KDB+, ΠΎΠ²Π° Π΅ ΡΠΏΠΈΡΠΎΠΊ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΠΎΠ΄ ΠΈΡΡ Π°ΡΠΎΠΌΡΠΊΠΈ ΡΠΈΠΏ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΡΠΎΠ΅Π²ΠΈ. Π‘ΠΎ Π΄ΡΡΠ³ΠΈ Π·Π±ΠΎΡΠΎΠ²ΠΈ, Π½ΠΈΠ·Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ. ΠΠΈΠ·ΠΈΡΠ΅, Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ ΡΠΏΠΈΡΠΎΡΠΈΡΠ΅, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎ ΠΈ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°Π°Ρ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° Π²Π΅ΠΊΡΠΎΡΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡ.
ΠΈΡΡΠΎΡΠΈΡΠ°
KX Π΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π²ΠΎ 1993 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΎΠ΄ ΠΡΡΡΡ ΠΠΈΡΠ½ΠΈ, ΠΊΠΎΡ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ Π²ΠΎ Π±Π°Π½ΠΊΠ°ΡΠ° ΠΠΎΡΠ³Π°Π½ Π‘ΡΠ΅Π½Π»ΠΈ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ Π+, Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΡ Π½Π° APL - ΠΌΠ½ΠΎΠ³Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π΅Π½ ΠΈ Π½Π΅ΠΊΠΎΠ³Π°Ρ ΠΏΠΎΠΏΡΠ»Π°ΡΠ΅Π½ ΡΠ°Π·ΠΈΠΊ Π²ΠΎ ΡΠΈΠ½Π°Π½ΡΠΈΡΠΊΠΈΠΎΡ ΡΠ²Π΅Ρ. Π‘Π΅ ΡΠ°Π·Π±ΠΈΡΠ°, Π²ΠΎ KX, ΠΡΡΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈ Π²ΠΎ ΠΈΡΡΠΈΠΎΡ Π΄ΡΡ
ΠΈ Π³ΠΎ ΡΠΎΠ·Π΄Π°Π΄Π΅ Π²Π΅ΠΊΡΠΎΡΡΠΊΠΎ-ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈΠΎΡ ΡΠ°Π·ΠΈΠΊ Π, Π²ΠΎΠ΄Π΅ΡΡΠΈ ΡΠ΅ ΠΎΠ΄ ΠΈΠ΄Π΅ΠΈΡΠ΅ Π½Π° ΡΠ°Π΄ΠΈΠΊΠ°Π»Π½ΠΈΠΎΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·Π°ΠΌ. K ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ ΠΈΠ·Π³Π»Π΅Π΄Π°Π°Ρ ΠΊΠ°ΠΊΠΎ Π·Π±ΡΠΊΠ°ΡΠ΅ ΠΎΠ΄ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ½ΠΊΡΠΈΡΠΊΠΈ Π·Π½Π°ΡΠΈ ΠΈ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΈ Π·Π½Π°ΡΠΈ, Π·Π½Π°ΡΠ΅ΡΠ΅ΡΠΎ Π½Π° Π·Π½Π°ΡΠΈΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈ ΠΎΠ΄ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΡ, Π° ΡΠ΅ΠΊΠΎΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Π½ΠΎΡΠΈ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π½Π°ΡΠ΅ΡΠ΅ ΠΎΡΠΊΠΎΠ»ΠΊΡ Π²ΠΎ ΠΊΠΎΠ½Π²Π΅Π½ΡΠΈΠΎΠ½Π°Π»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΡΠΈ. ΠΠΎΡΠ°Π΄ΠΈ ΠΎΠ²Π°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° K Π·Π°ΡΠ°ΡΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ ΠΏΡΠΎΡΡΠΎΡ - Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π»ΠΈΠ½ΠΈΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ Π·Π°ΠΌΠ΅Π½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΡΠΎ ΡΠ΅ΠΊΡΡ Π½Π° ΠΎΠ±ΠΈΠ»Π΅Π½ ΡΠ°Π·ΠΈΠΊ ΠΊΠ°ΠΊΠΎ Java - ΠΈ Π΅ ΡΡΠΏΠ΅ΡΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΠ°Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΡ.
Π€ΡΠ½ΠΊΡΠΈΡΠ° Π²ΠΎ K ΡΡΠΎ Π³ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° Π½Π°ΡΠ³ΠΎΠ»Π΅ΠΌΠΈΠΎΡ Π΄Π΅Π» ΠΎΠ΄ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΡ Π½Π° ΠΏΠ°ΡΡΠ΅ΡΠΎΡ LL1 ΡΠΏΠΎΡΠ΅Π΄ Π΄Π°Π΄Π΅Π½Π° Π³ΡΠ°ΠΌΠ°ΡΠΈΠΊΠ°:
1. pp:{q:{(x;p3(),y)};r:$[-11=@x;$x;11=@x;q[`N;$*x];10=abs@@x;q[`N;x]
2. ($)~*x;(`P;p3 x 1);(1=#x)&11=@*x;pp[{(1#x;$[2=#x;;,:]1_x)}@*x]
3. (?)~*x;(`Q;pp[x 1]);(*)~*x;(`M;pp[x 1]);(+)~*x;(`MP;pp[x 1]);(!)~*x;(`Y;p3 x 1)
4. (2=#x)&(@x 1)in 100 101 107 7 -7h;($[(@x 1)in 100 101 107h;`Ff;`Fi];p3 x 1;pp[*x])
5. (|)~*x;`S,(pp'1_x);2=#x;`C,{@[@[x;-1+#x;{x,")"}];0;"(",]}({$[".s.C"~4#x;6_-2_x;x]}'pp'x);'`pp];
6. $[@r;r;($[1<#r;".s.";""],$*r),$[1<#r;"[",(";"/:1_r),"]";""]]}
ΠΡΡΡΡ ΡΠ° ΠΎΡΠ΅Π»ΠΎΡΠ²ΠΎΡΠΈ ΠΎΠ²Π°Π° ΡΠΈΠ»ΠΎΠ·ΠΎΡΠΈΡΠ° Π½Π° Π΅ΠΊΡΡΡΠ΅ΠΌΠ½Π° Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎΡΡ ΡΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄Π²ΠΈΠΆΠ΅ΡΠ° Π½Π° ΡΠ΅Π»ΠΎΡΠΎ Π²ΠΎ KDB+, ΠΊΠΎΡΠ° ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ Π²ΠΎ 2003 Π³ΠΎΠ΄ΠΈΠ½Π° (ΠΌΠΈΡΠ»Π°ΠΌ Π΄Π΅ΠΊΠ° ΡΠ΅Π³Π° Π΅ ΡΠ°ΡΠ½ΠΎ ΠΎΠ΄ ΠΊΠ°Π΄Π΅ Π΄ΠΎΠ°ΡΠ° Π±ΡΠΊΠ²Π°ΡΠ° Π Π²ΠΎ ΠΈΠΌΠ΅ΡΠΎ) ΠΈ Π½Π΅ Π΅ Π½ΠΈΡΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ ΡΠΎΠ»ΠΊΡΠ²Π°Ρ Π½Π° ΡΠ΅ΡΠ²ΡΡΠ°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° Π ΡΠ°Π·ΠΈΠΊ. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠΈΡΠ°ΡΠ»ΠΈΠ²Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° K K Π½Π°ΡΠ΅ΡΠ΅Π½Π° Q. Q ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π΄ΠΈΡΠ°Π»Π΅ΠΊΡ Π½Π° SQL - QSQL ΠΈ ΠΏΡΠ΅Π²Π΅Π΄ΡΠ²Π°ΡΠΎΡ - ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠ°Π±Π΅Π»ΠΈ ΠΊΠ°ΠΊΠΎ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΡΠΈΠΏ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π°Π»Π°ΡΠΊΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΡΠ°Π±Π΅Π»ΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΈ Π½Π° Π΄ΠΈΡΠΊ, ΠΈΡΠ½.
ΠΠ½Π°ΡΠΈ, ΠΎΠ΄ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ, KDB+ Π΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΠΏΡΠ΅Π²Π΅Π΄ΡΠ²Π°Ρ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ Q ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠ°Π±Π΅Π»ΠΈ ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ Π²ΠΎ ΡΡΠΈΠ»ΠΎΡ Π½Π° SQL ΠΎΠ΄ C#. ΠΠ²Π° Π΅ Π½Π°ΡΠ²Π°ΠΆΠ½Π°ΡΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΏΠΎΠΌΠ΅ΡΡ KDB+ ΠΈ Π΄ΡΡΠ³ΠΈΡΠ΅ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ Π½Π΅ΡΠ·ΠΈΠ½Π°ΡΠ° Π³Π»Π°Π²Π½Π° ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½Π° ΠΏΡΠ΅Π΄Π½ΠΎΡΡ, ΠΊΠΎΡΠ° ΡΠ΅ΡΡΠΎ ΡΠ΅ Π·Π°Π½Π΅ΠΌΠ°ΡΡΠ²Π°. ΠΠ²Π° Π½Π΅ Π΅ Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ + ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΏΠΎΠΌΠΎΡΠ΅Π½ ΡΠ°Π·ΠΈΠΊ, ΡΡΠΊΡ ΠΏΠΎΠ»Π½ΠΎΠΏΡΠ°Π²Π½ΠΎ ΠΌΠΎΡΠ΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΠΊ + Π²Π³ΡΠ°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠ²Π°Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΡΠ΅ ΠΈΠ³ΡΠ° ΠΎΠ΄Π»ΡΡΡΠ²Π°ΡΠΊΠ° ΡΠ»ΠΎΠ³Π° Π²ΠΎ Π½Π°Π±ΡΠΎΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠΈΡΠ΅ ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈ ΠΎΠ΄ KDB+. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρβ¦
ΠΠΎΠ»Π΅ΠΌΠΈΠ½Π°
Π‘ΠΏΠΎΡΠ΅Π΄ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄ΠΈ, KDB+ Π΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΠΌΠΈΠΊΡΠΎΡΠΊΠΎΠΏΡΠΊΠ° ΠΏΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°. Π’ΠΎΠ° Π΅ Π±ΡΠΊΠ²Π°Π»Π½ΠΎ Π΅Π΄Π΅Π½ ΠΏΠΎΠ΄-ΠΌΠ΅Π³Π°Π±Π°ΡΡ ΠΈΠ·Π²ΡΡΠ½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΈ Π΅Π΄Π½Π° ΠΌΠ°Π»Π° ΡΠ΅ΠΊΡΡΡΠ°Π»Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΠΎ Π½Π΅ΠΊΠΎΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎ ΡΠ΅Π°Π»Π½ΠΎΡΡΠ° - ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΠΎΠ΄ Π΅Π΄Π΅Π½ ΠΌΠ΅Π³Π°Π±Π°ΡΡ, Π° Π·Π° ΠΎΠ²Π°Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡΠ΅ ΠΏΠ»Π°ΡΠ°Π°Ρ Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΠΈΠ»ΡΠ°Π΄ΠΈ Π΄ΠΎΠ»Π°ΡΠΈ Π³ΠΎΠ΄ΠΈΡΠ½ΠΎ Π·Π° Π΅Π΄Π΅Π½ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ.
- ΠΠ²Π°Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° KDB+ Π΄Π° ΡΠ΅ ΡΡΠ²ΡΡΠ²ΡΠ²Π° ΠΎΠ΄Π»ΠΈΡΠ½ΠΎ Π½Π° ΠΊΠΎΡ Π±ΠΈΠ»ΠΎ Ρ Π°ΡΠ΄Π²Π΅Ρ - ΠΎΠ΄ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Pi Π΄ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΡΠΎ ΡΠ΅ΡΠ°Π±Π°ΡΡΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°. ΠΠ²Π° Π½Π° Π½ΠΈΠΊΠ°ΠΊΠΎΠ² Π½Π°ΡΠΈΠ½ Π½Π΅ Π²Π»ΠΈΡΠ°Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ°; Π·Π³ΠΎΡΠ° Π½Π° ΡΠΎΠ°, Q Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° Π²Π΅Π΄Π½Π°Ρ, ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ, ΠΌΠ΅ΡΡ Π΄ΡΡΠ³ΠΎΡΠΎ, ΠΊΠ°ΠΊΠΎ ΡΠ°Π·ΠΈΠΊ Π·Π° ΡΠΊΡΠΈΠΏΡΠΈΡΠ°ΡΠ΅.
- Π‘ΠΎ ΠΎΠ²Π°Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ΅ΡΠΎΡ Q ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΡΠ΅ Π²ΠΊΠ»ΠΎΠΏΡΠ²Π° Π²ΠΎ ΠΊΠ΅ΡΠΎΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ, ΡΡΠΎ Π³ΠΎ Π·Π°Π±ΡΠ·ΡΠ²Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°.
- Π‘ΠΎ ΠΎΠ²Π°Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° ΠΈΠ·Π²ΡΡΠ½Π°ΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°, ΠΏΡΠΎΡΠ΅ΡΠΎΡ Q Π·Π°Π·Π΅ΠΌΠ° Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»Π΅Π½ ΠΏΡΠΎΡΡΠΎΡ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°; ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π²ΡΡΠΈΡΠ΅ ΡΡΠΎΡΠΈΡΠΈ ΠΎΠ΄ Π½ΠΈΠ². ΠΡΠ²Π΅Π½ ΡΠΎΠ°, Π΄ΠΎΠΊΠΎΠ»ΠΊΡ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ, Q ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΠΈΠ»ΠΈ ΡΡΠΎΡΠΈΡΠΈ Π³ΠΈΠ³Π°Π±Π°ΡΡΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π²ΠΎ Π΅Π΄Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ.
ΡΠ°Π·Π½ΠΎΠ²ΡΡΠ½ΠΎΡΡ
Q Π΅ ΠΎΠ΄Π»ΠΈΡΠ΅Π½ Π·Π° ΡΠΈΡΠΎΠΊ ΠΎΠΏΡΠ΅Π³ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ. ΠΡΠΎΡΠ΅ΡΠΎΡ Q ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π΅ΡΡΡΠ²ΡΠ²Π° ΠΊΠ°ΠΊΠΎ ΠΈΡΡΠΎΡΠΈΡΠΊΠ° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ Π±ΡΠ· ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΡΠ΅ΡΠ°Π±Π°ΡΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΠΈΡΡΠΎΡΠΈΡΠΊΠΈ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π²ΠΎ Π½Π΅ΠΊΠΎΠΈ ΠΎΠ΄ ΠΊΠΎΠΈ Π΅Π΄Π΅Π½ Π½Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ Π΄Π΅Π½ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π°ΡΠ°ΡΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ 100 Π³ΠΈΠ³Π°Π±Π°ΡΡΠΈ. ΠΠ΅ΡΡΡΠΎΠ°, ΠΏΠΎΠ΄ ΡΠ°Π·ΡΠΌΠ½ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ°, Π±Π°ΡΠ°ΡΠ΅ΡΠΎ Π΄ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠ΅ Π±ΠΈΠ΄Π΅ Π·Π°Π²ΡΡΠ΅Π½ΠΎ Π·Π° Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ Π΄ΠΎ ΡΡΠΎΡΠΈΡΠΈ ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ. ΠΠΏΡΡΠΎ Π·Π΅ΠΌΠ΅Π½ΠΎ, ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ½ΠΈΠ²Π΅ΡΠ·Π°Π»Π΅Π½ ΡΠ°ΡΠΌΡΡ Π·Π° Π±Π°ΡΠ°ΡΠ°ΡΠ° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ - 30 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ - ΠΈ ΡΠ°Π±ΠΎΡΠΈ ΠΌΠ½ΠΎΠ³Ρ ΡΠ΅ΡΠΊΠΎ.
Q ΠΈΡΡΠΎ ΡΠΎΠ»ΠΊΡ Π»Π΅ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°. ΠΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠ΅ Π΄ΠΎΠ΄Π°Π²Π°Π°Ρ Π½Π° ΡΠ°Π±Π΅Π»ΠΈΡΠ΅ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΡΠΎΠ»ΠΊΡ Π±ΡΠ·ΠΎ ΡΡΠΎ Π±Π°ΡΠ°ΡΠ°ΡΠ° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠΊΠΈ ΡΠ°ΠΊΡΠΎΡ. ΠΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π²ΠΎ ΡΠ°Π±Π΅Π»ΠΈΡΠ΅ ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ Π²ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΈ, ΡΡΠΎ Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° ΡΠ΅ΠΊΠΎΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π° ΡΠ΅ Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠ΅ΡΠΎΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΡΠΎ ΠΏΠΎΠ»Π½ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅Ρ. ΠΠΎΠΊΡΠ°Ρ ΠΎΠ²Π°, KX ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ Π΄Π° Π³ΠΈ ΡΠΏΡΠΎΠ²Π΅Π΄Π΅ ΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠ°ΡΠ° ΠΏΡΠ΅ΠΊΡ Π²Π΅ΠΊΡΠΎΡΡΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ, ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΡΠΈ ΡΠ° Π½ΠΈΠ²Π½Π°ΡΠ° Π±ΡΠ·ΠΈΠ½Π°. Q, ΠΈΡΡΠΎ ΡΠ°ΠΊΠ°, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π° Π·Π°Π΄Π°ΡΠΈ ΡΡΠΎ Π½Π΅ ΡΠ΅ ΡΠΈΠΏΠΈΡΠ½ΠΈ Π·Π° Π±Π°Π·ΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ - Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π° ΡΡΡΠΈΠΌΠΈΠ½Π³ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ Π΄Π° ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π° Π²ΠΎ βΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅β (ΡΠΎ Π·Π°Π΄ΠΎΡΠ½ΡΠ²Π°ΡΠ΅ ΠΎΠ΄ Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π΄ΠΎ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π²ΠΎ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ ΠΎΠ΄ Π·Π°Π΄Π°ΡΠ°ΡΠ°) ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ Π·Π° ΡΠΈΠ½Π°Π½ΡΠΈΡΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΈ ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄ΠΈ ΠΌΠΎΠ΄Π΅Π» Π½Π° Π²Π»ΠΈΡΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΎΠ²ΡΡΠ΅Π½ΠΈΡΠ΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ Π½Π° ΠΏΠ°Π·Π°ΡΠΎΡ ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ°ΡΠ΅ ΡΠ΅ΡΠΈΡΠΈ Π²Π΅Π΄Π½Π°Ρ ΠΏΠΎ Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ Π·Π°Π²ΡΡΡΠ²Π°ΡΠ΅. ΠΠ°Ρ ΡΠ°ΠΊΠ²ΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π½Π°ΡΡΠ΅ΡΡΠΎ Π³Π»Π°Π²Π½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΎ Π΄ΠΎΡΠ½Π΅ΡΠ΅ Π½Π΅ Π΅ Q, ΡΡΠΊΡ ΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° ΠΎΠ΄ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠ·Π²ΠΎΡΠΈ. ΠΠΎΠ»Π΅ΠΌΠ° Π±ΡΠ·ΠΈΠ½Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½ΡΠ²Π° ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ°ΠΊΡΠΎΡ ΡΡΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ ΠΊΠΎΠΈ Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°Π°Ρ ΡΠ΅ Π²ΠΎ Π΅Π΄Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ, Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΡΠ΅ ΡΠ²Π΅Π΄ΡΠ²Π° Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ QSQL ΠΈΠ·ΡΠ°Π·ΠΈ ΠΈ ΡΠΏΠΎΡΡΠ²Π°ΡΠ°, ΠΊΠΎΠΈ Π½Π΅ ΡΠ΅ ΡΠΎΠ»ΠΊΡΠ²Π°Π°Ρ, ΡΡΠΊΡ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ ΡΠΎ Π±ΠΈΠ½Π°ΡΠ΅Π½ ΠΊΠΎΠ΄.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΈ Π±ΠΈΠ»ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π²ΠΎ Q. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Gateway ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ° ΠΊΠΎΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ Π³ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π°Ρ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΡΠ΅ Π±Π°ΡΠ°ΡΠ° Π΄ΠΎ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡΠ΅ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΎΡ ΠΈΠΌΠ° ΡΠ΅Π»ΠΎΡΠ½Π° ΡΠ»ΠΎΠ±ΠΎΠ΄Π° Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΊΠ°ΠΊΠΎΠ² Π±ΠΈΠ»ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ Π·Π° Π±Π°Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅, ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΈ, ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠΈΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, ΠΏΡΠ°Π²Π° Π½Π° ΠΏΡΠΈΡΡΠ°ΠΏ, ΠΊΠ²ΠΎΡΠΈ ΠΈ Π²ΠΎ ΠΎΡΠ½ΠΎΠ²Π° ΡΠ΅ Π΄ΡΡΠ³ΠΎ ΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΡΡΡΠ΅. ΠΠ»Π°Π²Π½ΠΈΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΎΠ²Π΄Π΅ Π΅ ΡΡΠΎ ΡΠ΅ΡΠΎ ΠΎΠ²Π° ΡΠ΅ ΡΡΠ΅Π±Π° ΡΠ°ΠΌΠΈ Π΄Π° Π³ΠΎ ΡΠΏΡΠΎΠ²Π΅Π΄Π΅ΡΠ΅.
ΠΠ°ΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ Π½Π°Π²Π΅Π΄Π°ΠΌ ΠΊΠ°ΠΊΠ²ΠΈ Π²ΠΈΠ΄ΠΎΠ²ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈΠΌΠ°ΠΌΠ΅. Π‘ΠΈΡΠ΅ ΡΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ Π·Π°Π΅Π΄Π½ΠΎ, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΡΡΠΈ Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ Π΅Π΄Π½Π°, ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°ΡΡΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈΠ·Π²ΠΎΡΠΈ ΠΈ ΠΎΠΏΡΠ»ΡΠΆΡΠ²Π°ΡΡΠΈ ΡΡΠΎΡΠΈΡΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ.
- ΠΠΎΠ½Π΅ΠΊΡΠΎΡΠΈ (feedhandler) Π΄ΠΎ ΠΈΠ·Π²ΠΎΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠ²ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΎΠ±ΠΈΡΠ½ΠΎ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΈ ΡΠ΅ Π²ΡΠΈΡΠ°Π½ΠΈ Π²ΠΎ Q. ΠΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ C Π²ΠΎ Q Π΅ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½ ΠΈ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π»Π΅ΡΠ½ΠΎ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠΊΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΊΠΎΡΠ° Π±ΠΈΠ»ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° C/C++. Q Π΅ Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ Π±ΡΠ· Π·Π° Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΠΎΠΏΠ»Π°Π²Π° ΠΎΠ΄ FIX ΠΏΠΎΡΠ°ΠΊΠΈ ΠΎΠ΄ ΡΠΈΡΠ΅ Π΅Π²ΡΠΎΠΏΡΠΊΠΈ Π±Π΅ΡΠ·ΠΈ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ.
- ΠΠΈΡΡΡΠΈΠ±ΡΡΠ΅ΡΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ (ΡΠΈΠΊΠ΅ΡΡ), ΠΊΠΎΠΈ ΡΠ»ΡΠΆΠ°Ρ ΠΊΠ°ΠΊΠΎ ΡΡΠ΅Π΄Π½Π° Π²ΡΡΠΊΠ° ΠΏΠΎΠΌΠ΅ΡΡ ΠΊΠΎΠ½Π΅ΠΊΡΠΎΡΠΈΡΠ΅ ΠΈ ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΈΡΠ΅. ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΠΈΠ΅ Π³ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π°Ρ Π΄ΠΎΡΠ΄ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π΅Π½ Π±ΠΈΠ½Π°ΡΠ΅Π½ Π΄Π½Π΅Π²Π½ΠΈΠΊ, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΡΠΈ ΠΈΠΌ ΡΠΎΠ±ΡΡΠ½ΠΎΡΡ Π½Π° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΡΠΈΠ² Π·Π°Π³ΡΠ±ΠΈ Π½Π° ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ ΠΈΠ»ΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅.
- ΠΠ°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° (rdb). ΠΠ²ΠΈΠ΅ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°Π°Ρ Π½Π°ΡΠ±ΡΠ· ΠΌΠΎΠΆΠ΅Π½ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ, ΡΠ²Π΅ΠΆΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°. ΠΠ±ΠΈΡΠ½ΠΎ, ΡΠΈΠ΅ Π°ΠΊΡΠΌΡΠ»ΠΈΡΠ°Π°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΡΠ°Π±Π΅Π»ΠΈ Π²ΠΎ ΡΠ΅ΠΊΠΎΡ Π½Π° Π΄Π΅Π½ΠΎΡ ΠΈ Π³ΠΈ ΡΠ΅ΡΠ΅ΡΠΈΡΠ°Π°Ρ Π½ΠΎΡΠ΅.
- ΠΠΎΡΡΠΎΡΠ°Π½Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ (pdb). ΠΠ²ΠΈΠ΅ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°Π°Ρ Π΄Π΅ΠΊΠ° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π·Π° Π΄Π΅Π½Π΅Ρ ΡΠ΅ ΡΡΠ²Π°Π°Ρ Π²ΠΎ ΠΈΡΡΠΎΡΠΈΡΠΊΠ° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠ°ΠΊΠΎ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ rdb, ΡΠΈΠ΅ Π½Π΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΡΡΠΊΡ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΏΠΎΡΠ΅Π±Π΅Π½ ΠΊΠ΅Ρ Π½Π° Π΄ΠΈΡΠΊΠΎΡ Π²ΠΎ ΡΠ΅ΠΊΠΎΡ Π½Π° Π΄Π΅Π½ΠΎΡ ΠΈ Π³ΠΈ ΠΊΠΎΠΏΠΈΡΠ°Π°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ»Π½ΠΎΡ Π²ΠΎ ΠΈΡΡΠΎΡΠΈΡΠΊΠ°ΡΠ° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ.
- ΠΡΡΠΎΡΠΈΡΠΊΠΈ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ (hdb). ΠΠ²ΠΈΠ΅ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°Π°Ρ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π·Π° ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΈΡΠ΅ Π΄Π΅Π½ΠΎΠ²ΠΈ, ΠΌΠ΅ΡΠ΅ΡΠΈ ΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. ΠΠΈΠ²Π½Π°ΡΠ° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° (Π²ΠΎ Π΄Π΅Π½ΠΎΠ²ΠΈ) Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΡΠ°ΠΌΠΎ ΠΎΠ΄ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° Ρ Π°ΡΠ΄ Π΄ΠΈΡΠΊΠΎΠ²ΠΈΡΠ΅. ΠΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π»ΠΎΡΠΈΡΠ°Π°Ρ Π½Π°ΡΠ΅ΠΊΠ°Π΄Π΅, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ Π·Π° Π΄Π° ΡΠ΅ Π·Π°Π±ΡΠ·Π° ΠΏΡΠΈΡΡΠ°ΠΏΠΎΡ. ΠΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΈΠ·Π±ΠΎΡ. Π‘ΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π΅ Π΄ΠΎΠ±ΡΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° ΠΈ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½Π°, ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ ΠΊΠΎΠ»ΠΎΠ½Π° ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½Π° Π²ΠΎ ΠΎΠ±ΠΈΡΠ½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°Π°Ρ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ.
- ΠΠ°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠΎ Π·Π±ΠΈΡΠ½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. Π’ΠΈΠ΅ ΡΡΠ²Π°Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΈ, ΠΎΠ±ΠΈΡΠ½ΠΎ ΡΠΎ, Π³ΡΡΠΏΠΈΡΠ°Π½ΠΈ ΠΏΠΎ ΠΈΠΌΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π». ΠΠ°Π·ΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΡΠ° Π°ΠΆΡΡΠΈΡΠ°Π°Ρ Π½ΠΈΠ²Π½Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π° ΡΠΎ ΡΠ΅ΠΊΠΎΡΠ° Π΄ΠΎΡΠ΄ΠΎΠ²Π½Π° ΠΏΠΎΡΠ°ΠΊΠ°, Π° ΠΈΡΡΠΎΡΠΈΡΠΊΠΈΡΠ΅ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΏΡΠ΅ΡΠΌΠ΅ΡΠ°Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π΄Π° Π³ΠΎ Π·Π°Π±ΡΠ·Π°Π°Ρ ΠΏΡΠΈΡΡΠ°ΠΏΠΎΡ Π΄ΠΎ ΠΈΡΡΠΎΡΠΈΡΠΊΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ.
- ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΠΎΡΡΠ°ΡΠ° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠ²ΠΈΡΠΈΡΠ°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ. Q Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄ΠΎΡΠ΄ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ, Π΄Π° Π³ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°ΡΠ΅ ΠΌΠ΅ΡΡ Π±Π°Π·ΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π΄Π° Π³ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΠΏΡΠ°Π²Π°ΡΠ° Π·Π° ΠΏΡΠΈΡΡΠ°ΠΏ ΠΈΡΠ½. ΠΠ°Π±Π΅Π»Π΅ΠΆΠ΅ΡΠ΅ Π΄Π΅ΠΊΠ° ΠΏΠΎΡΠ°ΠΊΠΈΡΠ΅ Π½Π΅ ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΠΈ Π½Π°ΡΡΠ΅ΡΡΠΎ Π½Π΅ ΡΠ΅ SQL ΠΈΠ·ΡΠ°Π·ΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ ΡΠ»ΡΡΠ°Ρ Π²ΠΎ Π΄ΡΡΠ³ΠΈΡΠ΅ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠ°ΡΡΠ΅ΡΡΠΎ, ΠΈΠ·ΡΠ°Π·ΠΎΡ SQL ΡΠ΅ ΠΊΡΠΈΠ΅ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ° ΠΈ ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ° Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΡΠΎ Π³ΠΈ Π±Π°ΡΠ° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ - Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°, ΡΠ΅ ΡΠΈΠ»ΡΡΠΈΡΠ°, ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΈΡΠ°Π°Ρ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π½Π°ΡΠ° Π½Π° Π°ΠΊΡΠΈΡΠ°ΡΠ° ΡΠ΅ ΠΈΠ·Π΅Π΄Π½Π°ΡΡΠ²Π° Π°ΠΊΠΎ ΡΠ΅ ΠΏΠ»Π°ΡΠ°Π»Π΅ Π΄ΠΈΠ²ΠΈΠ΄Π΅Π½Π΄ΠΈ) ΠΈΡΠ½.
Π’ΠΈΠΏΠΈΡΠ½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π·Π° Π΅Π΄Π΅Π½ ΡΠΈΠΏ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ:
ΠΡΠ·ΠΈΠ½Π°
ΠΠ°ΠΊΠΎ Q Π΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠ°Π½ ΡΠ°Π·ΠΈΠΊ, ΡΠΎΡ Π΅ ΠΈ Π²Π΅ΠΊΡΠΎΡΡΠΊΠΈ ΡΠ°Π·ΠΈΠΊ. ΠΠ²Π° Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° ΠΌΠ½ΠΎΠ³Ρ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠΊΠΈΡΠ΅, Π·Π΅ΠΌΠ°Π°Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ ΠΎΠ΄ ΠΊΠΎΡΠ° Π±ΠΈΠ»ΠΎ ΡΠΎΡΠΌΠ° - Π±ΡΠΎΠ΅Π²ΠΈ, Π²Π΅ΠΊΡΠΎΡΠΈ, ΠΌΠ°ΡΡΠΈΡΠΈ, Π»ΠΈΡΡΠΈ - ΠΈ ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΎΡ ΡΠ΅ ΠΎΡΠ΅ΠΊΡΠ²Π° Π΄Π° ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΠΊΠ°ΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎ Π½ΠΈΠ·Π°. ΠΠΎ ΡΠ°ΠΊΠΎΠ² ΡΠ°Π·ΠΈΠΊ, Π°ΠΊΠΎ Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ Π΄Π²Π° Π²Π΅ΠΊΡΠΎΡΠΈ ΠΎΠ΄ ΠΌΠΈΠ»ΠΈΠΎΠ½ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ, Π²Π΅ΡΠ΅ Π½Π΅ Π΅ Π²Π°ΠΆΠ½ΠΎ ΡΠ°Π·ΠΈΠΊΠΎΡ Π΄Π° ΡΠ΅ ΡΠΎΠ»ΠΊΡΠ²Π°; ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ΡΠΎ ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ ΡΠΎ ΡΡΠΏΠ΅Ρ-ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π±ΠΈΠ½Π°ΡΠ½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°. ΠΠΈΠ΄Π΅ΡΡΠΈ Π»Π°Π²ΠΎΠ²ΡΠΊΠΈΠΎΡ Π΄Π΅Π» ΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Q ΡΠ΅ ΡΡΠΎΡΠΈ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎ ΡΠ°Π±Π΅Π»ΠΈ ΠΊΠΎΠΈ Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΎΠ²ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π²Π΅ΠΊΡΠΎΡΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠ·Π»Π΅Π·ΠΎΡ Π΅ ΠΌΠ½ΠΎΠ³Ρ ΠΏΡΠΈΡΡΠΎΡΠ½Π° ΡΠ°Π±ΠΎΡΠ½Π° Π±ΡΠ·ΠΈΠ½Π°, ΡΡΠΎ Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈΠΌΠ΅ ΠΎΠ³ΡΠΎΠΌΠ½Π° ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π΄ΡΡΠΈ ΠΈ Π²ΠΎ Π΅Π΄Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ. ΠΠ²Π° Π΅ ΡΠ»ΠΈΡΠ½ΠΎ Π½Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠΊΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²ΠΎ Python - ΠΈΠ°ΠΊΠΎ ΡΠ°ΠΌΠΈΠΎΡ Python Π΅ ΠΌΠ½ΠΎΠ³Ρ Π±Π°Π²Π΅Π½ ΡΠ°Π·ΠΈΠΊ, ΡΠΎΡ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρ ΠΎΠ΄Π»ΠΈΡΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠ°ΠΊΠΎ numpy ΠΊΠΎΠΈ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Π°Ρ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°ΡΠ΅ Π½ΡΠΌΠ΅ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠΎ Π±ΡΠ·ΠΈΠ½Π° Π½Π° ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°Π½ ΡΠ°Π·ΠΈΠΊ (ΠΏΠ°ΡΠ΅ΠΌ, numpy Π΅ ΠΈΠ΄Π΅ΠΎΠ»ΠΎΡΠΊΠΈ Π±Π»ΠΈΡΠΊΡ Π΄ΠΎ Q ).
ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, KX Π·Π΅Π΄Π΅ ΠΌΠ½ΠΎΠ³Ρ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π΅Π½ ΠΏΡΠΈΡΡΠ°ΠΏ ΠΊΠΎΠ½ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°ΡΠ΅ ΡΠ°Π±Π΅Π»ΠΈ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΎ Π½ΠΈΠ². ΠΡΠ²ΠΎ, ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ ΡΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠΈΠΏΠΎΠ²ΠΈ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, ΠΊΠΎΠΈ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ ΡΠΎ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π°Ρ Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΠ΅ Π½Π° ΡΠ°Π±Π΅Π»ΠΈΡΠ΅, ΡΡΠΊΡ ΠΈ Π½Π° ΡΠΈΡΠ΅ Π²Π΅ΠΊΡΠΎΡΠΈ - Π³ΡΡΠΏΠΈΡΠ°ΡΠ΅, ΡΠΎΡΡΠΈΡΠ°ΡΠ΅, Π°ΡΡΠΈΠ±ΡΡ Π·Π° ΡΠ½ΠΈΠΊΠ°ΡΠ½ΠΎΡΡ ΠΈ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ Π³ΡΡΠΏΠΈΡΠ°ΡΠ΅ Π·Π° ΠΈΡΡΠΎΡΠΈΡΠΊΠΈ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠ½Π΄Π΅ΠΊΡΠΎΡ ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π° Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄ΡΠ²Π° ΠΊΠΎΠ³Π° ΡΠ΅ Π΄ΠΎΠ΄Π°Π²Π°Π°Ρ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π²ΠΎ ΠΊΠΎΠ»ΠΎΠ½Π°ΡΠ°/Π²Π΅ΠΊΡΠΎΡΠΎΡ. ΠΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ°Ρ ΠΏΠΎΠ΄Π΅Π΄Π½Π°ΠΊΠ²ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π°Ρ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΠ΅ Π½Π° ΡΠ°Π±Π΅Π»Π°ΡΠ° ΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΈ Π½Π° Π΄ΠΈΡΠΊΠΎΡ. ΠΠΎΠ³Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° QSQL Π±Π°ΡΠ°ΡΠ΅, ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ Π°ΠΊΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ. ΠΡΠΎΡΠΎ, ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΎ ΠΈΡΡΠΎΡΠΈΡΠΊΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠ΅ Π²ΡΡΠΈ ΠΏΡΠ΅ΠΊΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π½Π° ΠΠ‘ (ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠ° ΠΊΠ°ΡΡΠ°). ΠΠΎΠ»Π΅ΠΌΠΈΡΠ΅ ΡΠ°Π±Π΅Π»ΠΈ Π½ΠΈΠΊΠΎΠ³Π°Ρ Π½Π΅ ΡΠ΅ Π²ΡΠΈΡΡΠ²Π°Π°Ρ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, Π½Π°ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ°, ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΡΠ΅ ΠΌΠ°ΠΏΠΈΡΠ°Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΈ ΡΠ°ΠΌΠΎ ΡΠΎΡ Π΄Π΅Π» ΠΎΠ΄ Π½ΠΈΠ² Π΅ Π²ΡΡΡΠ½ΠΎΡΡ Π²ΡΠΈΡΠ°Π½ (ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΠΌΠ°Π³Π°Π°Ρ ΠΎΠ²Π΄Π΅) ΡΡΠΎ ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ. ΠΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΎΡ Π½Π΅ΠΌΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° Π΄Π°Π»ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΈΠ»ΠΈ Π½Π΅; ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ mmap Π΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΡΠΊΡΠΈΠ΅Π½ Π²ΠΎ Π΄Π»Π°Π±ΠΎΡΠΈΠ½ΠΈΡΠ΅ Π½Π° Q.
KDB+ Π½Π΅ Π΅ ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ; ΡΠ°Π±Π΅Π»ΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΎΠ΄ΡΠΆΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π΄ΠΎΠ΄Π΅ΠΊΠ° ΡΠ΅Π΄ΠΎΡΠ»Π΅Π΄ΠΎΡ Π½Π° ΡΠ΅Π΄ΠΎΠ²ΠΈΡΠ΅ Π²ΠΎ ΡΠ°Π±Π΅Π»Π°ΡΠ° Π½Π΅ ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π° ΠΊΠΎΠ³Π° ΡΠ΅ Π΄ΠΎΠ΄Π°Π²Π°Π°Ρ Π½ΠΎΠ²ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ ΠΈ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΏΡΠΈ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΠΏΡΠ°ΡΠ°ΡΠ°. ΠΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΡΠ° Π΅ ΠΈΡΠ½ΠΎ ΠΏΠΎΡΡΠ΅Π±Π½Π° Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ (ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ ΡΠ°Π·ΠΌΠ΅Π½Π°, ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΡΠ°, Π΄Π½Π΅Π²Π½ΠΈΡΠΈ Π½Π° Π½Π°ΡΡΠ°Π½ΠΈ), Π±ΠΈΠ΄Π΅ΡΡΠΈ Π°ΠΊΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΠΎΠ³Π°Ρ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ Π½Π΅ΠΌΠ° ΠΏΠΎΡΡΠ΅Π±Π° Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ SQL ΡΡΠΈΠΊΠΎΠ²ΠΈ Π·Π° Π΄Π° Π³ΠΎ ΠΏΡΠΎΠ½Π°ΡΠ΄Π΅ ΠΏΡΠ²ΠΈΠΎΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΎΡ ΡΠ΅Π΄ ΠΈΠ»ΠΈ N ΡΠ΅Π΄ΠΎΠ²ΠΈ Π²ΠΎ ΡΠ°Π±Π΅Π»Π°ΡΠ°, ΠΎΠ΄ΡΠ΅Π΄ΠΈ ΠΊΠΎΡΠ° Π»ΠΈΠ½ΠΈΡΠ° ΡΠ»Π΅Π΄ΠΈ ΠΏΠΎ N-ΡΠ°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ°, ΠΈΡΠ½. ΠΡΠΈΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠ°Π±Π΅Π»ΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΡΠ²Π° ΡΡΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΎΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΏΠΎΠ½ΡΠ΄Π° Π·Π° 16000 VOD.L (Vodafone) ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ Π²ΠΎ ΡΠ°Π±Π΅Π»Π° ΠΎΠ΄ 500 ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΡΡΠ°Π΅ ΠΎΠΊΠΎΠ»Ρ ΡΠ΅ΠΊΡΠ½Π΄Π° Π½Π° Π΄ΠΈΡΠΊΠΎΡ ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΎ ΠΏΡΠΈΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ - ΡΠ°Π±Π΅Π»Π°ΡΠ° ΡΠΎ ΡΠΈΡΠ°ΡΠΈ Π΅ ΠΌΠ°ΠΏΠΈΡΠ°Π½Π° Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΡΠ°ΠΊΠ° ΡΡΠΎ Π½Π΅ΠΌΠ° ΠΏΠΎΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π° VOD.L ΠΊΠ°Π΄Π΅, ΠΈΠ½Π΄Π΅ΠΊΡΠΎΡ Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π°ΡΠ° sym ΠΈ ΡΠ°ΠΊΡΠΎΡ Π΄Π΅ΠΊΠ° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅ ΠΈΠΌΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈ. Π Π΅ΡΠΈΡΠΈ ΡΠΈΡΠ΅ ΡΠΏΠΎΡΡΠ²Π°ΡΠ° Π²ΠΎ Q ΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° Π½Π΅ Π΄Π΅Π» ΠΎΠ΄ ΠΈΠ·Π±ΡΠ°Π½ ΠΈΠ·ΡΠ°Π·:
1. aj[`sym`time;select from trade where date=2019.03.26, sym=`VOD.L;select from quote where date=2019.03.26]
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π²ΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ Π΄Π΅ΠΊΠ° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡΠ΅ Π²ΠΎ KX, ΠΏΠΎΡΠ½ΡΠ²Π°ΡΡΠΈ ΠΎΠ΄ ΡΠ°ΠΌΠΈΠΎΡ ΠΡΡΡΡ ΠΠΈΡΠ½ΠΈ, ΡΠ΅ Π½Π°Π²ΠΈΡΡΠΈΠ½Π° ΠΎΠΏΡΠ΅Π΄Π½Π°ΡΠΈ ΡΠΎ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎΡΡΠ° ΠΈ ΡΠ΅ ΡΡΡΠ΄Π°Ρ Π΄Π° Π³ΠΎ ΠΈΠ·Π²Π»Π΅ΡΠ°Ρ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠΎΡ ΠΎΠ΄ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈΡΠ΅ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° Q ΠΈ Π΄Π° Π³ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π°Ρ Π½Π°ΡΡΠ΅ΡΡΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅.
ΠΠΊΡΠΏΠ½ΠΎ
KDB+ Π΅ ΠΏΠΎΠΏΡΠ»Π°ΡΠ΅Π½ ΠΌΠ΅ΡΡ Π±ΠΈΠ·Π½ΠΈΡΠΈΡΠ΅ ΠΏΡΠ²Π΅Π½ΡΡΠ²Π΅Π½ΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½Π° ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ - ΡΠ»ΡΠΆΠΈ ΠΏΠΎΠ΄Π΅Π΄Π½Π°ΠΊΠ²ΠΎ Π΄ΠΎΠ±ΡΠΎ ΠΊΠ°ΠΊΠΎ Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΠΊΠ°ΠΊΠΎ Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ΅ΡΠ°Π±Π°ΡΡΠΈ ΠΈΡΡΠΎΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ ΠΊΠ°ΠΊΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠΎΡΠ°Π΄ΠΈ ΡΠ°ΠΊΡΠΎΡ ΡΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ ΡΠ»ΡΡΡΠ²Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½ΡΠ²Π° Π³ΠΎΠ»Π΅ΠΌΠ° Π±ΡΠ·ΠΈΠ½Π° Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΈ Π·Π°ΡΡΠ΅Π΄Π° Π½Π° ΡΠ΅ΡΡΡΡΠΈ. ΠΠΎΠ»Π½ΠΎΠΏΡΠ°Π²Π½ΠΈΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΠΊ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΡΠ΅Π»ΠΈΠΎΡ ΠΊΡΠΏ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π° Π΅Π΄Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° - ΠΎΠ΄ ΠΏΡΠΈΠΌΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π΄ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π±Π°ΡΠ°ΡΠ°ΡΠ° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅.
ΠΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ,
ΠΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ°
ΠΠ½Π°ΡΠ°Π΅Π½ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π½Π° KDB+/Q Π΅ Π²ΠΈΡΠΎΠΊΠΈΠΎΡ Π²Π»Π΅Π·Π΅Π½ ΠΏΡΠ°Π³. ΠΠ°Π·ΠΈΠΊΠΎΡ ΠΈΠΌΠ° ΡΡΠ΄Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠ°, Π½Π΅ΠΊΠΎΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅ ΡΠΈΠ»Π½ΠΎ ΠΏΡΠ΅ΠΎΠΏΡΠΎΠ²Π°ΡΠ΅Π½ΠΈ (Π²ΡΠ΅Π΄Π½ΠΎΡΡΠ°, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ° ΠΎΠΊΠΎΠ»Ρ 11 ΡΠ»ΡΡΠ°ΠΈ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°). Π¨ΡΠΎ Π΅ Π½Π°ΡΠ²Π°ΠΆΠ½ΠΎ, ΡΠΎΠ° Π±Π°ΡΠ° ΡΠ°Π΄ΠΈΠΊΠ°Π»Π½ΠΎ ΠΏΠΎΠΈΠ½Π°ΠΊΠΎΠ² ΠΏΡΠΈΡΡΠ°ΠΏ Π·Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ. ΠΠΎ Π²Π΅ΠΊΡΠΎΡΡΠΊΠΈΠΎΡ ΡΠ°Π·ΠΈΠΊ, ΠΌΠΎΡΠ° ΡΠ΅ΠΊΠΎΠ³Π°Ρ Π΄Π° ΡΠ°Π·ΠΌΠΈΡΠ»ΡΠ²Π°ΡΠ΅ Π²ΠΎ ΡΠΌΠΈΡΠ»Π° Π½Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° Π½ΠΈΠ·ΠΈ, Π΄Π° Π³ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΡΠΈΡΠ΅ ΡΠΈΠΊΠ»ΡΡΠΈ ΠΏΡΠ΅ΠΊΡ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π²Π°ΡΠΈΡΠ°Π½ΡΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π½Π° ΠΌΠ°ΠΏΠ°ΡΠ°/Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠ΅ΡΠΎ (ΠΊΠΎΠΈ ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π°Π°Ρ ΠΏΡΠΈΠ»ΠΎΠ·ΠΈ Π²ΠΎ Q) ΠΈ Π½ΠΈΠΊΠΎΠ³Π°Ρ Π΄Π° Π½Π΅ ΡΠ΅ ΠΎΠ±ΠΈΠ΄ΡΠ²Π°ΡΠ΅ Π΄Π° Π·Π°ΡΡΠ΅Π΄ΠΈΡΠ΅ ΠΏΠ°ΡΠΈ ΡΠΎ Π·Π°ΠΌΠ΅Π½Π° Π½Π° Π²Π΅ΠΊΡΠΎΡΡΠΊΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎ Π°ΡΠΎΠΌΡΠΊΠΈ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° Π³ΠΎ ΠΏΡΠΎΠ½Π°ΡΠ΄Π΅ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΡ Π½Π° N-ΡΠ°ΡΠ° ΠΏΠΎΡΠ°Π²Π° Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ Π²ΠΎ Π½ΠΈΠ·Π°, ΡΡΠ΅Π±Π° Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅:
1. (where element=vector)[N]
ΠΈΠ°ΠΊΠΎ ΠΎΠ²Π° ΠΈΠ·Π³Π»Π΅Π΄Π° ΡΠΆΠ°ΡΠ½ΠΎ Π½Π΅Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎ ΡΠΏΠΎΡΠ΅Π΄ C/Java ΡΡΠ°Π½Π΄Π°ΡΠ΄ΠΈΡΠ΅ (= ΡΠΎΠ·Π΄Π°Π²Π° Π±ΡΠ»ΠΎΠ² Π²Π΅ΠΊΡΠΎΡ, ΠΊΠ°Π΄Π΅ ΡΡΠΎ Π³ΠΈ Π²ΡΠ°ΡΠ° Π²ΠΈΡΡΠΈΠ½ΡΠΊΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ΅ Π²ΠΎ Π½Π΅Π³ΠΎ). ΠΠΎ, ΠΎΠ²Π°Π° Π½ΠΎΡΠ°ΡΠΈΡΠ° Π³ΠΎ ΠΏΡΠ°Π²ΠΈ Π·Π½Π°ΡΠ΅ΡΠ΅ΡΠΎ Π½Π° ΠΈΠ·ΡΠ°Π·ΠΎΡ ΠΏΠΎΡΠ°ΡΠ½ΠΎ ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ Π±ΡΠ·ΠΈ Π²Π΅ΠΊΡΠΎΡΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°ΠΌΠ΅ΡΡΠΎ Π±Π°Π²Π½ΠΈ Π°ΡΠΎΠΌΡΠΊΠΈ. ΠΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»Π½Π°ΡΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΏΠΎΠΌΠ΅ΡΡ Π²Π΅ΠΊΡΠΎΡΡΠΊΠΈΠΎΡ ΡΠ°Π·ΠΈΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΡΠ΅ Π΅ ΡΠΏΠΎΡΠ΅Π΄Π»ΠΈΠ²Π° ΡΠΎ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈΡΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅, ΠΈ ΡΡΠ΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ Π·Π° ΠΎΠ²Π°.
ΠΠ΅ΠΊΠΎΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π΅ ΡΠ΅ Π·Π°Π΄ΠΎΠ²ΠΎΠ»Π½ΠΈ ΡΠΎ QSQL. ΠΠΎΠ΅Π½ΡΠ°ΡΠ° Π΅ Π΄Π΅ΠΊΠ° ΠΈΠ·Π³Π»Π΅Π΄Π° ΡΠ°ΠΌΠΎ ΠΊΠ°ΠΊΠΎ Π²ΠΈΡΡΠΈΠ½ΡΠΊΠΈ SQL. ΠΠΎ ΡΠ΅Π°Π»Π½ΠΎΡΡΠ°, ΡΠΎΠ° Π΅ ΡΠ°ΠΌΠΎ ΠΏΡΠ΅Π²Π΅Π΄ΡΠ²Π°Ρ Π½Π° ΠΈΠ·ΡΠ°Π·ΠΈ ΡΠ»ΠΈΡΠ½ΠΈ Π½Π° SQL ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° Π±Π°ΡΠ°ΡΠ°. ΠΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΠΌΠΎΡΠ° ΡΠ°ΠΌΠΈΠΎΡ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΈ ΠΏΡΠ°ΡΠ°ΡΠ°, ΠΈ Π²ΠΎ Q, Π·Π° ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΡΠΌΠΈΠ½Π° Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ. ΠΠ΄ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°, ΡΠ΅ΠΊΠΎΠ³Π°Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΌΠΈ Π΄Π° Π³ΠΎ Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΎΡΠΎ Π±Π°ΡΠ°ΡΠ΅, Π½Π°ΠΌΠ΅ΡΡΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠΏΠΈΡΠ°ΡΠ΅ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡ Π½Π° ΡΡΠ½Π° ΠΊΡΡΠΈΡΠ°.
ΠΠ°ΠΊΠΎ ΠΏΠ»ΡΡ, ΠΊΠ½ΠΈΠ³Π° Π·Π° Q - Q For Mortals Π΅ Π΄ΠΎΡΡΠ°ΠΏΠ½Π° Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ Π½Π°
ΠΡΡΠ³ Π³ΠΎΠ»Π΅ΠΌ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π΅ ΡΠ΅Π½Π°ΡΠ° Π½Π° Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ°. Π’ΠΎΠ° ΡΠ΅ Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΠΈΠ»ΡΠ°Π΄ΠΈ Π΄ΠΎΠ»Π°ΡΠΈ Π³ΠΎΠ΄ΠΈΡΠ½ΠΎ ΠΏΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡ. Π‘Π°ΠΌΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»Π°Ρ ΡΠ°ΠΊΠ²ΠΈ ΡΡΠΎΡΠΎΡΠΈ. ΠΠ΅ΠΎΠ΄Π°ΠΌΠ½Π°, KX ΡΠ° Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠ²ΠΎΡΠ°ΡΠ° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π·Π° Π»ΠΈΡΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΡΠ»Π΅ΠΊΡΠΈΠ±ΠΈΠ»Π½Π° ΠΈ Π΄Π°Π²Π° ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΠ΅ ΠΏΠ»Π°ΡΠΈ ΡΠ°ΠΌΠΎ Π·Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·Π½Π°ΡΠΌΠΈ KDB+ Π²ΠΎ ΠΎΠ±Π»Π°ΡΠΈΡΠ΅ Π½Π° Google ΠΈ Amazon. KX Π½ΡΠ΄ΠΈ ΠΈ Π·Π° ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ΅
ΠΠ°ΡΠΏΡΠ΅Π²Π°ΡΡΠ²Π°ΡΠΈ
ΠΠΎΡΡΠΎΡΠ°Ρ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ - ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΈ, Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΡΠΎΠΊΡΡΠΈΡΠ°Π½ΠΈ Π½Π° ΠΌΠ½ΠΎΠ³Ρ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠ»ΠΈΡΠΈΠ½ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΡΠΎΠ±Π»Π΅ΠΌΠΎΡ Π΅ ΡΡΠΎ ΡΠΎΠ° ΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠΏΠ΅ΡΠ°ΡΠ»ΠΈΠ² ΠΏΡΠΈΠΌΠ΅Ρ Π΅ Clickhouse. ΠΠ²Π°Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρ ΡΠ»ΠΈΡΠ΅Π½ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π½Π° KDB+ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° Π΄ΠΈΡΠΊ ΠΈ Π³ΡΠ°Π΄Π΅ΡΠ΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ; ΡΠ°Π° ΠΈΠ·Π²ΡΡΡΠ²Π° Π½Π΅ΠΊΠΎΠΈ ΠΏΡΠ°ΡΠ°ΡΠ° ΠΏΠΎΠ±ΡΠ·ΠΎ ΠΎΠ΄ KDB+, ΠΈΠ°ΠΊΠΎ Π½Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ. ΠΠΎ, Π΄ΡΡΠΈ ΠΈ ΠΊΠ°ΠΊΠΎ Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Clickhouse Π΅ ΠΏΠΎΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΎΠ΄ KDB+ - Π²Π΅Π±-Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° Π½Π°ΡΠΏΡΠΎΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ (ΠΎΠ²Π°Π° ΡΠ°Π·Π»ΠΈΠΊΠ° Π΅ ΠΌΠ½ΠΎΠ³Ρ Π²Π°ΠΆΠ½Π° - ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅Π°, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎ Clickhouse Π½Π΅ Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠΈΡΠ΅). ΠΠΎ, ΡΡΠΎ Π΅ Π½Π°ΡΠ²Π°ΠΆΠ½ΠΎ, Clickhouse ΡΠ° Π½Π΅ΠΌΠ° ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠ° Π½Π° KDB+, ΡΠ°Π·ΠΈΠΊ ΡΡΠΎ Π±ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π½Π°ΠΌΠ΅ΡΡΠΎ Π΄Π° ΡΠ΅ Π²ΡΠΈΡΡΠ²Π°Π°Ρ ΠΏΡΠ²ΠΎ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°, Π΄Π° ΡΠ΅ Π³ΡΠ°Π΄Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ SQL ΠΈΠ·ΡΠ°Π·ΠΈ, Π΄Π° ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π°Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎ Π±Π°ΡΠ°ΡΠ΅ΡΠΎ, Π΄Π° ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π°Ρ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π½Π° ΠΈΡΡΠΎΡΠΈΡΠΊΠ°ΡΠ° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠ°ΡΠΎΠ°, ΡΠ΅ΡΠΊΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΠΏΠΎΡΠ΅Π΄ΠΈ KDB+ ΡΠΎ Π΄ΡΡΠ³ΠΈ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ; ΡΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π°Ρ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ Π²ΠΎ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΡΠ»ΡΡΠ°ΠΈ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° ΠΈΠ»ΠΈ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΊΠΎΠ³Π° ΡΡΠ°Π½ΡΠ²Π° Π·Π±ΠΎΡ Π·Π° ΠΊΠ»Π°ΡΠΈΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ Π·Π° Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π½ΠΎ Π½Π΅ Π·Π½Π°ΠΌ Π·Π° Π΄ΡΡΠ³Π° ΠΏΠΎΠ΄Π΅Π΄Π½Π°ΠΊΠ²ΠΎ Π΅ΡΠΈΠΊΠ°ΡΠ½Π° ΠΈ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½Π° Π°Π»Π°ΡΠΊΠ° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΡΠΈΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ.
ΠΠ°ΡΡΠΎΠ½ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°
ΠΠ° Π΄Π° Π³ΠΎ ΠΎΠ»Π΅ΡΠ½ΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ Π½Π° KDB+ Π·Π° Π»ΡΡΠ΅ ΠΊΠΎΠΈ Π½Π΅ ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Π½ΠΈ ΡΠΎ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ°ΡΠ°, KX ΡΠΎΠ·Π΄Π°Π΄Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π° ΡΠ²ΡΡΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΡΠ΅ ΡΠΎ Python Π²ΠΎ Π΅Π΄Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ»ΠΈ Π΄Π° ΠΏΠΎΠ²ΠΈΠΊΠ°ΡΠ΅ ΠΊΠΎΡΠ° Π±ΠΈΠ»ΠΎ ΡΡΠ½ΠΊΡΠΈΡΠ° Π½Π° Python ΠΎΠ΄ Q, ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ - ΠΏΠΎΠ²ΠΈΠΊΠ°ΡΡΠ΅ ΠΊΠΎΡΠ° Π±ΠΈΠ»ΠΎ Q ΡΡΠ½ΠΊΡΠΈΡΠ° ΠΎΠ΄ Python (ΠΎΡΠΎΠ±Π΅Π½ΠΎ, QSQL ΠΈΠ·ΡΠ°Π·ΠΈ). ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°Π°Ρ, Π΄ΠΎΠΊΠΎΠ»ΠΊΡ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ (Π½Π΅ ΡΠ΅ΠΊΠΎΠ³Π°Ρ Π·Π°ΡΠ°Π΄ΠΈ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎΡΡ), ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠΎΡ Π½Π° Π΅Π΄Π΅Π½ ΡΠ°Π·ΠΈΠΊ Π²ΠΎ ΡΠΎΡΠΌΠ°ΡΠΎΡ Π½Π° Π΄ΡΡΠ³. ΠΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ°, Q ΠΈ Python ΠΆΠΈΠ²Π΅Π°Ρ Π²ΠΎ ΡΠΎΠ»ΠΊΡ Π±Π»ΠΈΡΠΊΠ° ΡΠΈΠΌΠ±ΠΈΠΎΠ·Π° ΡΡΠΎ Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΠΌΠ΅ΡΡ Π½ΠΈΠ² ΡΠ΅ Π½Π΅ΡΠ°ΡΠ½ΠΈ. ΠΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΎΡ, ΠΎΠ΄ Π΅Π΄Π½Π° ΡΡΡΠ°Π½Π°, ΠΈΠΌΠ° ΡΠ΅Π»ΠΎΡΠ΅Π½ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π±ΡΠΎΡΠ½ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° Python, ΠΎΠ΄ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, ΡΠΎΡ Π΄ΠΎΠ±ΠΈΠ²Π° Π±ΡΠ·Π° Π±Π°Π·Π° Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΈ Π²ΠΎ Python, ΡΡΠΎ Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΎ Π·Π° ΠΎΠ½ΠΈΠ΅ ΠΊΠΎΠΈ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π²ΠΎ ΠΌΠ°ΡΠΈΠ½ΡΠΊΠΎ ΡΡΠ΅ΡΠ΅ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ°ΡΠ΅.
Π Π°Π±ΠΎΡΠ° ΡΠΎ Q Π²ΠΎ Python:
1. >>> q()
2.q)trade:([]date:();sym:();qty:())
3. q)
4. >>> q.insert('trade', (date(2006,10,6), 'IBM', 200))
5. k(',0')
6. >>> q.insert('trade', (date(2006,10,6), 'MSFT', 100))
7. k(',1')
ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈ
Π‘Π°ΡΡΠΎΡ Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠ°ΡΠ° -
ΠΠ΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ -
ΠΠ½ΠΈΠ³Π° Π Π·Π° ΡΠΌΡΡΠ½ΠΈΡΠΈ (Π½Π° Π°Π½Π³Π»ΠΈΡΠΊΠΈ) -
ΠΠ°ΠΏΠΈΡΠΈ Π·Π° KDB+/Q Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΠ΄ Π²ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ Π²ΠΎ kx -
ΠΠ·Π²ΠΎΡ: www.habr.com