ΠΠΈΠ²Π΅Π΅ΠΌ Π² ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ Π±ΡΡΠ·ΠΎ ΠΈ Π»Π΅ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΠΌ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΡΠΎΠ²ΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, Π΄Π° Π³ΠΈ Π½Π°ΡΡΡΠΎΠΈΠΌ Ρ "ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ ΡΡΠ·Π½Π°Π½ΠΈΠ΅" ΠΏΠΎ ΡΡΠ²Π΅ΡΠΈΡΠ΅ Π½Π° stackoverflow, Π±Π΅Π· Π΄Π° ΡΠ΅ Π·Π°Π΄ΡΠ»Π±ΠΎΡΠ°Π²Π°ΠΌΠ΅ Π² "ΠΌΠ½ΠΎΠ³ΠΎΠ±ΡΠΊΠ²ΠΈΡ", ΠΈ Π΄Π° Π³ΠΈ ΠΏΡΡΠ½Π΅ΠΌ Π² ΡΡΡΠ³ΠΎΠ²ΡΠΊΠ° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ. Π ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ/ΡΠ°Π·ΡΠΈΡΠΈΠΌ ΠΈΠ»ΠΈ Π½ΡΠΊΠΎΠΉ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ°ΡΠΈΠ½ΠΈ β Π΄Π° ΠΎΡΡΠ·Π½Π°Π΅ΠΌ, ΡΠ΅ Π΅ Π·Π°ΠΏΠΎΡΠ½Π°Π» Π½ΡΠΊΠ°ΠΊΡΠ² Π½Π°ΡΡΠ°ΠΏΡΠΈΠ² Π»ΠΎΡ ΡΡΠ½ Π½Π°ΡΠ²Π΅, Π²ΡΠΈΡΠΊΠΎ ΡΡΠ·ΠΊΠΎ ΡΠ΅ Π΅ ΡΡΠ»ΠΎΠΆΠ½ΠΈΠ»ΠΎ Π΄ΠΎ Π½Π΅ΡΠ·Π½Π°Π²Π°Π΅ΠΌΠΎΡΡ, ΠΏΡΡΠΈΡΠ° Π½Π°Π·Π°Π΄ Π½ΡΠΌΠ°, Π±ΡΠ΄Π΅ΡΠ΅ΡΠΎ Π΅ ΠΌΡΠ³Π»ΠΈΠ²ΠΎ ΠΈ Π΅ ΠΏΠΎ-Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, Π΄Π° ΠΎΡΠ³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΏΡΠ΅Π»ΠΈ ΠΈ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΈΡΠ΅Π½Π΅.
ΠΠ΅ Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ, ΡΠ΅ ΠΏΠΎ-ΠΎΠΏΠΈΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠ»Π΅Π³ΠΈ, Ρ ΠΏΠΎΡΠΈΠΏΠ°Π½ΠΈ Ρ Π±ΡΠ³ΠΎΠ²Π΅ ΠΈ Π²Π΅ΡΠ΅ Ρ ΠΏΠΎΠ±Π΅Π»ΡΠ»Π° ΠΊΠΎΡΠ°, Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΉΠΊΠΈ Π½Π΅ΠΏΡΠ°Π²Π΄ΠΎΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π±ΡΡΠ·ΠΎΡΠΎ ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΊΠΈ "ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ" Π² "ΠΊΡΠ±ΡΠ΅ΡΠ°" Π½Π° Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΡΡΡΠ²ΡΡΠΈ Π½Π° "ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈ Π΅Π·ΠΈΡΠΈ" Ρ Π²Π³ΡΠ°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ-Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°Ρ Π²Ρ
ΠΎΠ΄-ΠΈΠ·Ρ
ΠΎΠ΄ β ΡΠΊΡΠΎΠΌΠ½ΠΎ ΡΠ΅ ΡΡΠΌΠΈΡ
Π²Π°Ρ. Π ΠΌΡΠ»ΡΠ°Π»ΠΈΠ²ΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°Ρ Π΄Π° ΠΏΡΠ΅ΠΏΡΠΎΡΠΈΡΠ°Ρ "man ps", Π·Π°Π΄ΡΠ»Π±ΠΎΡΠ°Π²Π°Ρ ΡΠ΅ Π΄ΠΎ ΠΊΡΡΠ²Π΅Π½Π΅ Π² ΠΎΡΠΈΡΠ΅ Π² ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡΠ΅ ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π½Π° "nginx" ΠΈ ΠΏΠΈΡΠ°Ρ-ΠΏΠΈΡΠ°Ρ-ΠΏΠΈΡΠ°Ρ ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΠΎΠ²Π΅. ΠΠΎΠ»Π΅Π³ΠΈΡΠ΅ Π·Π½Π°ΡΡ, ΡΠ΅ Π½Π°ΠΉ-ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΡΠΎ ΡΠ΅ΠΏΡΡΠ²Π° ΠΏΡΠ΅Π΄ΡΡΠΎΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ "Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°" Π΅Π΄ΠΈΠ½ Π΄Π΅Π½ ΡΡΠ°Π½Π΅ Π½ΠΎΡΠ΅ΠΌ ΠΊΠΎΠ»ΠΎΠΌ ΠΏΠΎΠ΄ ΠΠΎΠ²Π° Π³ΠΎΠ΄ΠΈΠ½Π°. Π ΠΈΠΌ ΠΏΠΎΠΌΠ°Π³Π° ΡΠ°ΠΌΠΎ Π΄ΡΠ»Π±ΠΎΠΊΠΎΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΡΠΎΠ΄Π°ΡΠ° Π½Π° unix, Π½Π°ΡΡΠ΅Π½ΠΈΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΈ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΡΡΠ° Π½Π° TCP/IP ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΡΠΎΡΡΠΈΡΠ°Π½Π΅-ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅. ΠΠ° Π΄Π° Π²ΡΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΊΡΠΌ ΠΆΠΈΠ²ΠΎΡ ΠΏΠΎΠ΄ ΡΠ΄Π°ΡΠ° Π½Π° ΠΊΡΡΠ°Π½ΡΠΈΡΠ΅.
ΠΡ
Π΄Π°, ΠΌΠ°Π»ΠΊΠΎ ΡΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½ΠΈΡ
, Π½ΠΎ ΡΠ΅ Π½Π°Π΄ΡΠ²Π°ΠΌ, ΡΠ΅ ΡΡΠΏΡΡ
Π΄Π° ΠΏΡΠ΅Π΄Π°ΠΌ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΡΠ°ΠΊΠ²Π°Π½Π΅.
ΠΠ½Π΅Ρ ΠΈΡΠΊΠ°ΠΌ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»Ρ Π½Π°ΡΠΈΡ ΠΎΠΏΠΈΡ Π·Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° ΡΠ΄ΠΎΠ±Π΅Π½ ΠΈ ΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅Π½ ΡΡΠ΅ΠΊ Π·Π° DataLake, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ΡΠ°Π²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π°Π½Π°Π»ΠΈΡΠΈΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Π·Π° Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠ½ΠΈ Π·Π²Π΅Π½Π°.
ΠΡΠ΅Π΄ΠΈ Π²ΡΠ΅ΠΌΠ΅ ΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ΅ Π΄ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ, ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡΠ΅ Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ Π½ΡΠΆΠ΄Π°ΡΡ ΠΎΡ ΠΏΠ»ΠΎΠ΄ΠΎΠ²Π΅ ΠΊΠ°ΠΊΡΠΎ Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²Π°, ΡΠ°ΠΊΠ° ΠΈ Π½Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ° Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° (Π½Π΅ Π³ΠΎΠ²ΠΎΡΠ΅ΠΉΠΊΠΈ Π·Π° ΡΠ΅ΡΠ΅ΡΠΊΠΈΡΠ΅ Π½Π° ΡΠΎΡΡΠ°ΡΠ° ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅) ΠΈ Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΠΈ ΠΈ ΡΠΈΡΠΊΠΎΠ²Π΅ β ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ±ΠΈΡΠ°ΠΌΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ.
ΠΡΠ½ΠΎΠ²Π½Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ° Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° Π² "ΠΠΈΡΡΠΈΠΊΡ24"
ΠΡΠ΅Π΄ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ Ρ ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° βΠΠΈΡΡΠΈΠΊΡ24β, Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠ°ΠΌΠ΅ Π²ΡΠ΅ΠΌΠ΅ ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π² ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΡΠ° ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° Π°Π½Π°Π»ΠΈΡΠΈΡΠ½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΠΊΠΎΡΡΠΎ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π±ΡΡΠ·ΠΎ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΈ Π΄Π° ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ° ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΡΡΡΠΏΠΊΠ°. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° Π±ΡΠ΄Π°Ρ Π³ΠΎΡΠΎΠ²ΠΈ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ ΠΏΡΠΎΡΡΠΈ ΠΈ ΡΡΠ½ΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π±Π΅ΡΠ΅ ΠΈΠ·Π±ΡΠ°Π½ nagios Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ munin Π·Π° Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ. Π‘Π΅Π³Π° ΠΈΠΌΠ°ΠΌΠ΅ Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π² nagios, ΡΡΠΎΡΠΈΡΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ Π² munin ΠΈ ΠΊΠΎΠ»Π΅Π³ΠΈΡΠ΅ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π³ΠΈ ΠΏΠΎΠ»Π·Π²Π°Ρ. ΠΠ΅ΡΡΠΈΠΊΠΈΡΠ΅ ΡΠ° ΡΡΠ½ΠΈ, Π³ΡΠ°ΡΠΈΠΊΠΈΡΠ΅ ΡΠ° ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌΠΈ, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ Π²Π΅ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ Π² Π½Π΅Ρ ΡΠ΅Π΄ΠΎΠ²Π½ΠΎ ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ Π½ΠΎΠ²ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ: Π²ΡΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π½ΠΎΠ²Π° ΡΡΠ»ΡΠ³Π° Π² Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ β Π΄ΠΎΠ±Π°Π²ΡΠΌΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ΡΡΠ° ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ. ΠΠ° Π΄ΠΎΠ±ΡΡ ΠΏΡΡ.
Π ΡΠΊΠ° Π½Π° ΠΏΡΠ»ΡΠ° β ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ° Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°
ΠΠ΅Π»Π°Π½ΠΈΠ΅ΡΠΎ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ βΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΡΠ΅ ΠΌΠΎΠΆΠ΅ ΠΏΠΎ-Π±ΡΡΠ·ΠΎβ Π½ΠΈ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΈ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈ Ρ ΠΏΡΠΎΡΡΠΈ ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ β pinba ΠΈ xhprof.
Pinba Π½ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΠ΅ Π² UDP ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΡΠ°ΡΡΠΈΡΠ΅ ΠΎΡ ΡΠ΅Π± ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° PHP ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΡΠ΅ Π²ΠΈΠΆΠ΄Π° Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ MySQL (Ρ pinba ΠΈΠ΄Π²Π° ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ MySQL Π΄Π²ΠΈΠΆΠΎΠΊ Π·Π° Π±ΡΡΠ·Π° Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° Π½Π° ΡΡΠ±ΠΈΡΠΈΡ) ΠΊΡΠ°ΡΡΠΊ ΡΠΏΠΈΡΡΠΊ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ Π΄Π° ΡΠ΅Π°Π³ΠΈΡΠ°ΠΌΠ΅ Π½Π° ΡΡΡ . Π xhprof Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ΅ Π΄Π° ΡΠ΅ ΡΡΠ±ΠΈΡΠ°Ρ Π³ΡΠ°ΡΠΎΠ²Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π½Π°ΠΉ-Π±Π°Π²Π½ΠΈΡΠ΅ PHP ΡΡΡΠ°Π½ΠΈΡΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΠΈ Π΄Π° ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΊΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π΄ΠΎΠ²Π΅Π»ΠΎ Π΄ΠΎ ΡΠΎΠ²Π° β ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ, Π½Π°Π»ΠΈΠ²Π°ΠΉΠΊΠΈ ΡΠ°ΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΎ ΠΏΠΎ-ΡΠΈΠ»Π½ΠΎ.
ΠΡΠ΅Π΄ΠΈ Π²ΡΠ΅ΠΌΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΡΡ Π±Π΅ΡΠ΅ ΠΎΠ±ΠΎΠ³Π°ΡΠ΅Π½ Ρ ΠΎΡΠ΅ Π΅Π΄ΠΈΠ½ Π΄ΠΎΡΡΠ° ΠΏΡΠΎΡΡ ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Π½Π° Π±Π°Π·Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Π·Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Π½Π΅, ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π² Π»Π΅Π³Π΅Π½Π΄Π°ΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Lucene β Elastic/Kibana. ΠΡΠΎΡΡΠ°ΡΠ° ΠΈΠ΄Π΅Ρ Π·Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½Π° Π·Π°ΠΏΠΈΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π° Lucene Π½Π° Π±Π°Π·Π° ΡΡΠ±ΠΈΡΠΈΡ Π² Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΠΈ Π±ΡΡΠ·ΠΎ ΡΡΡΡΠ΅Π½Π΅ ΠΏΠΎ ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ°ΡΠ΅ΡΠ½ΠΎ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ β ΡΠ΅ ΠΎΠΊΠ°Π·Π°, Π²ΡΡΡΠ½ΠΎΡΡ, ΠΏΠΎΠ»Π΅Π·Π½Π°.
ΠΡΠΏΡΠ΅ΠΊΠΈ Π΄ΠΎΡΡΠ° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΠΈΠ΄ Π½Π° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π² Kibana Ρ βΠΏΡΠΎΡΠΈΡΠ°ΡΠΈ Π½Π°Π³ΠΎΡΠ΅β Π½ΠΈΡΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΊΠ°ΡΠΎ βbucketβ ΠΈ Π½Π°Π½ΠΎΠ²ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΈΡΡ Π΅Π·ΠΈΠΊ Π½Π° Π½Π°ΠΏΡΠ»Π½ΠΎ Π·Π°Π±ΡΠ°Π²Π΅Π½Π°ΡΠ° ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½Π° Π°Π»Π³Π΅Π±ΡΠ° β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡΡ ΡΡΠ°Π½Π° Π½Π°ΠΈΡΡΠΈΠ½Π° ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡΠΈ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ:
- ΠΠΎΠ»ΠΊΠΎ Π³ΡΠ΅ΡΠΊΠΈ Π² PHP ΠΈΠΌΠ°ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ Π½Π° ΠΠΈΡΡΠΈΠΊΡ24 Π½Π° ΠΏΠΎΡΡΠ°Π»Π° p1 Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ°Ρ ΠΈ ΠΊΠ°ΠΊΠ²ΠΈ? ΠΠ° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ, Π΄Π° ΠΏΡΠΎΡΡΠΈΠΌ ΠΈ Π΄Π° ΠΏΠΎΠΏΡΠ°Π²ΠΈΠΌ Π±ΡΡΠ·ΠΎ.
- ΠΠΎΠ»ΠΊΠΎ Π²ΠΈΠ΄Π΅ΠΎΠ·Π²ΡΠ½Π° Π±ΡΡ Π° ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈ Π½Π° ΠΏΠΎΡΡΠ°Π»ΠΈΡΠ΅ Π² ΠΠ΅ΡΠΌΠ°Π½ΠΈΡ ΠΏΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ 24 ΡΠ°ΡΠ°, Ρ ΠΊΠ°ΠΊΠ²ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΈ ΠΈΠΌΠ°ΡΠ΅ Π»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΊΠ°Π½Π°Π»Π°/ΠΌΡΠ΅ΠΆΠ°ΡΠ°?
- ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠ±ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ (Π½Π°ΡΠ΅ΡΠΎ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° C Π·Π° PHP), ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΎ ΠΎΡ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅? ΠΡΠΌΠ° Π»ΠΈ ΡΠ΅Π³ΡΠΎΠ»ΡΠΈ?
- ΠΠΎΡΡΠ°Π²ΡΡ Π»ΠΈ Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° PHP? ΠΡΠΌΠ° Π»ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΈΠ·ΡΠ΅ΡΠΏΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, βout of memoryβ? ΠΠ°ΠΌΠ΅ΡΠ΅ΡΠ΅ ΠΈ ΠΎΠ±Π΅Π·Π²ΡΠ΅Π΄Π΅ΡΠ΅.
ΠΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΡΠΏΡΠ΅ΠΊΠΈ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎΡΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠΉΠ½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅, Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΏΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ ΡΠ»ΡΡΠ°ΠΉ ΠΈ ΠΏΠΎΠ²ΡΠ΅Π΄Π΅Π½ΠΈ Π²Ρ ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π΄ΠΎΡΠ°Π΄Π½Π° ΠΈ Π½Π΅ΠΎΡΠ°ΠΊΠ²Π°Π½Π° Π³ΡΠ΅ΡΠΊΠ°, Π·Π°Π΄ΡΡ Π²Π°ΡΠ΅ ΡΠ΅ ΡΠΈΡΠ΅Π½Π°ΡΠ° ΠΈ Π·Π°ΠΏΠΎΡΠ½Π° ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° Π±ΡΡΠ·ΠΎ ΠΏΠΎΠΏΡΠ°Π²ΡΠ½Π΅:

ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ, kibana ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΠ±ΠΈΡΠΈΡ ΠΈ Π·Π° ΠΊΡΠ°ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡΡ ΡΡΠ°Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΎΡ Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΡΠ»ΡΠΆΠΈΡΠ΅Π»ΠΈ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ - ΠΎΡ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π΄ΠΎ QA.
ΠΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° Π²ΡΡΠΊΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° ΡΡΠ°Π½Π° ΡΠ΄ΠΎΠ±Π½ΠΎ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ²Π°Π½Π΅ - Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΠ΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΡΡΠ²ΡΡΠΈΡΠ΅, Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΅ Π²Π΅Π΄Π½ΡΠΆ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ ΠΏΠ°ΡΡΠΈΠ½Π³Π° Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΠΈ ΡΡΡ Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π² ΠΊΠ»Π°ΡΡΠ΅Ρ elastic, Π·Π° Π΄Π° ΡΠ΅ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°Π²Π°ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ Π² ΡΠ°Π±Π»ΠΎΡΠΎ Π½Π° kibana Π·Π° Π±ΡΠΎΡ ΠΏΡΠΎΠ΄Π°Π΄Π΅Π½ΠΈ Π΄Π²ΡΠ³Π»Π°Π²ΠΈ ΠΊΠΎΡΠ΅Π½ΡΠ°, ΠΎΡΠΏΠ΅ΡΠ°ΡΠ°Π½ΠΈ Π½Π° 3D ΠΏΡΠΈΠ½ΡΠ΅Ρ ΠΏΡΠ΅Π· ΠΏΡΠ΅Π΄Ρ ΠΎΠ΄Π½ΠΈΡ Π»ΡΠ½Π΅Π½ ΠΌΠ΅ΡΠ΅Ρ.
ΠΡΠ½ΠΎΠ²Π½Π° Π±ΠΈΠ·Π½Π΅Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°
ΠΡΠ΅ΠΊΠΈ Π·Π½Π°Π΅, ΡΠ΅ ΡΠ΅ΡΡΠΎ Π±ΠΈΠ·Π½Π΅Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠ° Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡΠ΅ Π·Π°ΠΏΠΎΡΠ²Π° Ρ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Excel. ΠΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ Π΅, ΡΠ΅ ΡΡ Π½Π΅ ΡΠ²ΡΡΡΠ²Π° ΡΠ°ΠΌ. ΠΠ°ΡΠ»ΠΎΡΠΎ Π² ΠΎΠ³ΡΠ½Ρ ΠΎΡΠ΅ Π΄ΠΎΠ±ΡΠ΅ Π½Π°Π»ΠΈΠ²Π°Ρ ΠΎΠ±Π»Π°ΡΠ½ΠΈΡΡ Google Analytics - Π±ΡΡΠ·ΠΎ ΡΠ΅ ΡΠ²ΠΈΠΊΠ²Π° Ρ Π΄ΠΎΠ±ΡΠΎΡΠΎ.
Π Π½Π°ΡΠ°ΡΠ°, Ρ Π°ΡΠΌΠΎΠ½ΠΈΡΠ½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠ° ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π° Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ βΠΏΡΠΎΡΠΎΠΊβ ΠΏΠΎ-ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠΎ-Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ. Π Π΅Π΄ΠΎΠ²Π½ΠΎ Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π° Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ Π½ΡΠΆΠ΄ΠΈ ΠΎΡ ΠΏΠΎ-Π΄ΡΠ»Π±ΠΎΠΊΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΡΠ°Π½Π½ΠΈ ΠΎΡΡΠ΅ΡΠΈ ΠΈ ΡΡΠΈΠ»ΠΈΡΡΠ° Π½Π° ΠΌΠΎΠΌΡΠ΅ΡΠ°ΡΠ° ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Ρ Π° ΠΏΡΠΎΡΡΠΎ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ - Π²ΡΡΠ·ΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ClickHouse ΠΈ PowerBI.
ΠΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠΎΠ²Π° Π³ΡΠ²ΠΊΠ°Π²ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠΌΠ°Π³Π°ΡΠ΅, Π½ΠΎ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΡΠ°Π½Π° ΡΡΠ½ΠΎ, ΡΠ΅ ClickHouse - Π½Π΅ Π΅ Π³ΡΠΌΠ΅Π½ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ°ΠΊΠ° ΠΌΠ°ΡΠΊΠ°Π½ΠΈ.
Π’ΡΠΊ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄ΠΎΠ±ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅, ΡΠ΅ ClickHouse, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° Druid, Vertica ΠΈ Amazon RedShift (ΠΊΠΎΠΉΡΠΎ Π΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° postgres), ΡΠ° Π°Π½Π°Π»ΠΈΡΠΈΡΠ½ΠΈ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½Π° Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° (ΡΡΠΌΠΈ, Π°Π³ΡΠ΅Π³ΠΈΡΠ°ΡΠΈΠΈ, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½Π° ΠΈ ΠΌΠ°Π»ΠΊΠΎ Π½Π° Π΄ΠΆΠΎΠΉΠ½), ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π·Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΎΡ ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ, Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° Π΄ΠΎΠ±ΡΠ΅ ΠΏΠΎΠ·Π½Π°ΡΠΈΡΠ΅ MySQL ΠΈ Π΄ΡΡΠ³ΠΈ (Π±Π°Π·ΠΈ Ρ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ΅Π΄ΠΎΠ²Π΅).
ΠΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ, ClickHouse Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎ-ΠΎΠ±Π΅ΠΌΠ½Π° βΠ±Π°Π·Π°β Π΄Π°Π½Π½ΠΈ Ρ Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½Π° ΡΠΎΡΠΊΠΎΠ²Π° Π²ΡΡΠ°Π²ΠΊΠ° (ΡΠ°ΠΊΠ° Π΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½ΠΎ, Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄), Π½ΠΎ Ρ ΠΏΡΠΈΡΡΠ½Π° Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° ΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΠΌΠΎΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π΄Π°Π½Π½ΠΈ. ΠΠ°, Π΄ΠΎΡΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΊΠ»ΡΡΡΠ΅Ρ β Π½ΠΎ Π²ΠΈΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅, ΡΠ΅ Π΄Π° Π·Π°Π±ΠΈΠ²Π°ΡΠ΅ Π³Π²ΠΎΠ·Π΄ΠΈ Ρ ΠΌΠΈΠΊΡΠΎΡΠΊΠΎΠΏ Π½Π΅ Π΅ ΡΡΠ²ΡΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΡΡΡΡΠΈΠΌ Π΄ΡΡΠ³ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π’ΡΡΡΠ΅Π½Π΅ Π½Π° python ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠΈΡΠ΅
Π Π½Π°ΡΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΈΡΠ°Ρ ΠΊΠΎΠ΄ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ΠΊΠΈ Π΄Π΅Π½ Π²Π΅ΡΠ΅ 10-20 Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π½Π° PHP, JavaScript, C#, C/C++, Java, Go, Rust, Python, Bash. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΡΠ΅ΠΆΠΈΠ²Π΅Π»ΠΈ Π½Π΅ Π΅Π΄Π½Π° ΡΡΠ²ΡΠ΅ΠΌ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½Π° ΠΊΠ°ΡΠ°ΡΡΡΠΎΡΠ°, Π½Π΅ΠΏΠΎΠΏΠ°Π΄Π°ΡΠ° Π² Π·Π°ΠΊΠΎΠ½ΠΈΡΠ΅ Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π΄ΠΈΡΠΊΠΎΠ²Π΅ Π² raid-10 ΡΠ° ΡΠ½ΠΈΡΠΎΠΆΠ΅Π½ΠΈ ΠΏΡΠΈ ΡΠΈΠ»Π΅Π½ ΡΠ΄Π°Ρ Π½Π° ΠΌΠΎΠ»Π½ΠΈΡ). ΠΡΠΈ ΡΠ΅Π·ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π±Π΅ΡΠ΅ Π½Π΅ΡΡΠ½ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ βΠ°Π½Π°Π»ΠΈΡΠΈΠΊ Π½Π° pythonβ. Python Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° PHP, ΠΏΡΠΎΡΡΠΎ ΠΈΠΌΠ΅ΡΠΎ Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Π΄ΡΠ»Π³ΠΎ ΠΈ ΡΠ»Π΅Π΄ΠΈΡΠ΅ ΠΎΡ Π²Π΅ΡΠ΅ΡΡΠ²Π°, ΠΏΡΠΎΠΌΠ΅Π½ΡΡΠΈ ΡΡΠ·Π½Π°Π½ΠΈΠ΅ΡΠΎ, Π² ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠ° ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Ρ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π²ΡΠ΅ Π½ΠΎΠ²ΠΈ ΠΈ Π½ΠΎΠ²ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠ½ΠΈ ΠΎΡΡΠ΅ΡΠΈ, ΠΎΠΏΠΈΡΠ½ΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ
Π° Π΄Π° ΠΎΡΡΠ·Π½Π°Π²Π°Ρ Π²Π°ΠΆΠ½ΠΎΡΡΡΠ° Π½Π° ΡΡΡΠ½Π°ΡΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ numpy, pandas, matplotlib, seaborn.
Π Π΅ΡΠ°Π²Π°ΡΠ° ΡΠΎΠ»Ρ, Π½Π°ΠΉ-Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΈΠ·ΠΈΠ³ΡΠ°Ρ
Π° Π²Π½Π΅Π·Π°ΠΏΠ½ΠΈΡΠ΅ ΠΏΡΠΈΠΏΠ°Π΄ΡΡΠΈ Π½Π° ΡΠ»ΡΠΆΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΎΡ ΡΡΡΠ΅ΡΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΡΠΌΠΈΡΠ΅ βΠ»ΠΎΠ³ΠΈΡΡΠΈΡΠ½Π° ΡΠ΅Π³ΡΠ΅ΡΠΈΡβ ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΎΡΡΠ΅ΡΠΈ Π½Π° ΠΎΠ±Π΅ΠΌΠ½ΠΈ Π΄Π°Π½Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π΄Π°, Π΄Π°, pyspark.
Apache Spark, Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½Π° ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ°, ΠΊΠΎΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ΅ ΠΏΡΠΈΠ»ΡΠ³Π° Π½Π° ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½Π°ΡΠ° Π°Π»Π³Π΅Π±ΡΠ°, ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ ΠΌΡ Π½Π°ΠΏΡΠ°Π²ΠΈΡ Π° ΡΠ°ΠΊΠΎΠ²Π° Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅, ΡΠ²ΠΈΠΊΠ½Π°Π»ΠΈ Ρ MySQL, ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ ΡΠΊΡΠ΅ΠΏΠ²Π°Π½Π΅ Π½Π° Π±ΠΎΠΉΠ½ΠΈΡΠ΅ ΡΠ΅Π΄ΠΈΡΠΈ Ρ ΠΎΠΏΠΈΡΠ½ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΈ ΡΡΠ°Π½Π° ΡΡΠ½Π°, ΠΊΠ°ΡΠΎ Π΄Π΅Π½Ρ.
ΠΠΎ-Π½Π°ΡΠ°ΡΡΡΠ½ΠΈΡΠ΅ ΠΎΠΏΠΈΡΠΈ Π½Π° Apache Spark/Hadoop Π΄Π° ΡΠ΅ ΠΈΠ·Π΄ΠΈΠ³Π½Π°Ρ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ ΡΡΠ²ΡΠ΅ΠΌ ΠΏΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ
ΠΠ±Π°ΡΠ΅, ΡΠΊΠΎΡΠΎ ΡΡΠ°Π½Π° ΡΡΠ½ΠΎ, ΡΠ΅ Π½Π΅ΡΠΎ Π²ΡΡΡΠ½ΠΎΡΡ Π½Π΅ Π΅ Π½Π°ΡΠ΅Π΄ Ρ Spark, ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΌΠΈΠ΅ΠΌ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅. ΠΠΊΠΎ ΡΡΠ΅ΠΊΡΡ Hadoop/MapReduce/Lucene Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π°ΠΊΠΎ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° Java ΠΈΠ»ΠΈ ΠΈΠ΄Π΅ΠΈΡΠ΅ Π½Π° ΠΡΠ³ ΠΠ°ΡΠΈΠΈΠ½Π³ Π² Lucene, ΡΠΎ Spark, ΠΈΠ·Π½Π΅Π½Π°Π΄Π²Π°ΡΠΎ, Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠ½ΠΈΡ, ΠΎΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ½Π° Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ°, ΠΈ Π²Π΅ΡΠ΅ Π½Π΅ΡΠ°Π·Π²ΠΈΠ²Π°Ρ ΡΠ΅ Π΅ΠΊΠ·ΠΎΡΠΈΡΠ΅Π½ Π΅Π·ΠΈΠΊ Scala. Π ΡΠ΅Π΄ΠΎΠ²Π½ΠΎΡΠΎ ΠΏΠ°Π΄Π°Π½Π΅ Π½Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡΡΠ° Π² ΠΊΠ»Π°ΡΡΠ΅Ρ Spark ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅Π»ΠΎΠ³ΠΈΡΠ½ΠΎΡΠΎ ΠΈ Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ reduce (ΠΏΡΠΈΡΡΠΈΠ³Π°Ρ Π²Π΅Π΄Π½Π°Π³Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠΎΠ²Π΅) β ΡΡΠ·Π΄Π°Π΄Π΅ ΠΎΠΊΠΎΠ»ΠΎ Π½Π΅Π³ΠΎ ΠΎΡΠ΅ΠΎΠ» Π½Π° Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠΌΠ° ΠΊΡΠ΄Π΅ Π΄Π° ΡΠ°ΡΡΠ΅. ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ, ΡΠΈΡΡΠ°ΡΠΈΡΡΠ° ΡΠ΅ ΡΡΠ»ΠΎΠΆΠ½ΡΠ²Π°ΡΠ΅ ΠΎΡ Π³ΠΎΠ»ΡΠΌΠΎΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ°Π½Π½ΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΏΠΎΡΡΠΎΠ²Π΅, Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ°ΡΡΡΡΠΈ Π½Π° Π½Π°ΠΉ-Π½Π΅Π΄ΠΎΡΠ΅Π³Π°Π΅ΠΌΠΈΡΠ΅ ΠΌΠ΅ΡΡΠ°, ΠΈ Π°Π΄ Π½Π° jar-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ β ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π°ΡΠ΅ Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ Π΅Π΄Π½ΠΎ ΠΈ Π΄ΠΎΠ±ΡΠ΅ ΠΏΠΎΠ·Π½Π°ΡΠΎ ΠΎΡ Π΄Π΅ΡΡΡΠ²ΠΎΡΠΎ ΡΡΠ²ΡΡΠ²ΠΎ: ΡΡΠΎΡΡΠ½Π° Π½Π΅Π½Π°Π²ΠΈΡΡ (ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΡΠ΅ ΠΌΠΈΠ΅ΠΌ Ρ ΡΠ°ΠΏΡΠ½).
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ, Π½ΠΈΠ΅ βΠΏΡΠ΅ΠΆΠΈΠ²ΡΡ ΠΌΠ΅β Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²ΡΡΡΠ΅ΡΠ½ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ Apache Spark (Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Spark Streaming, Spark SQL) ΠΈ Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° Hadoop (ΠΈ ΡΠ°ΠΊΠ° Π½Π°ΡΠ°ΡΡΠΊ). ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΡΡΠΏΡΡ ΠΌΠ΅ Π΄Π° βΠ³ΠΎΡΠ²ΠΈΠΌβ ΡΠΎΠ²Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈ Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΠΌΠ΅, ΠΈ ΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ°Π½Π° Π΄Π° ΠΏΠ°Π΄Π° ΠΈΠ·Π²Π΅Π΄Π½ΡΠΆ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π² Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΈ Π΄ΠΈΡΠ±Π°Π»Π°Π½ΡΠ° Π½Π° ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ Ρ Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° RDD, ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΡΠΎ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ Π½Π΅ΡΠΎ Π²Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ, ΠΎΠ±Π½ΠΎΠ²ΡΠ΅ΠΌΠΎ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°Π½ΠΎ Π½ΡΠΊΡΠ΄Π΅ Π² ΠΎΠ±Π»Π°ΠΊΠ° ΡΠ΅ Π·Π°ΡΠΈΠ»Π²Π°ΡΠ΅ Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅. Π ΡΠΎΡΠ½ΠΎ ΡΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠΏΠΈΡΠ°Ρ ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π³ΠΎΡΠΎΠ²Π°ΡΠ° ΠΎΠ±Π»Π°ΡΠ½Π° ΡΠ±ΠΎΡΠΊΠ° Π½Π° Amazon Web Services β ΠΈ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°Ρ ΠΌΠ΅ Π΄Π° ΡΠ΅ΡΠ°Π²Π°ΠΌΠ΅ Π·Π°Π΄Π°ΡΠΈ Π½Π° Π½Π΅Ρ. EMR Π΅ ΠΏΡΠΈΠ³ΠΎΡΠ²Π΅Π½ ΠΎΡ Amazon Apache Spark Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ ΠΎΡ Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Π½Π΅ΡΠΎ ΠΊΠ°ΡΠΎ ΡΠ±ΠΎΡΠΊΠΈΡΠ΅ Π½Π° Cloudera/Hortonworks.
βΠΡΠΌΠ΅Π½ΠΎβ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π·Π° Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° β ΡΠΏΠ΅ΡΠ½Π° Π½ΡΠΆΠ΄Π°
ΠΠΏΠΈΡΡΡ ΠΎΡ βΠΏΡΠΈΠ³ΠΎΡΠ²ΡΠ½Π΅β Π½Π° Hadoop/Spark Ρ ΠΈΠ·Π³Π°ΡΡΠ½ΠΈΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°ΡΡΠΈ ΠΎΡ ΡΡΠ»ΠΎΡΠΎ Π½Π΅ Π±Π΅ΡΠ΅ Π½Π°ΠΏΡΠ°Π·Π½ΠΎ. Π‘ΡΠ°Π²Π°ΡΠ΅ Π²ΡΠ΅ ΠΏΠΎ-ΡΡΠ½ΠΎ, ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° Π½ΡΠΆΠ΄Π°ΡΠ° ΠΎΡ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½Π½ΠΎ, Π½Π΅Π΄ΠΎΡΠΎΠ³ΠΎ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π΄Π° Π΅ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎ Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ Π°Π²Π°ΡΠΈΠΈ ΠΈ Π² ΠΊΠΎΠ΅ΡΠΎ Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΡΠΎΡΠΌΠ°Ρ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠ°Π²ΡΡ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ ΠΈΠ·Π²Π°Π΄ΠΊΠΈ ΠΎΡ ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ°Π·ΡΠΌΠ½ΠΈ ΡΡΠΎΠΊΠΎΠ²Π΅ Π·Π° ΠΎΡΡΠ΅ΡΠΈ.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈΡΠΊΠ°Ρ ΠΌΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΡΠΎΡΡΡΠ΅ΡΠ° Π½Π° ΡΠ°Π·ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π° Π½Π΅ ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΡΠ° Π² Π½ΠΎΡΠ΅Π½ ΠΊΠΎΡΠΌΠ°Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΠΎΠ²Π° Π³ΠΎΠ΄ΠΈΠ½Π° Ρ ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° 20-ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ Java ΡΡΠ°ΡΠ΅ΡΠ° ΠΈ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΊΠΈΠ»ΠΎΠΌΠ΅ΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΈ Π»ΠΎΠ³ΠΎΠ²Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Spark History Server ΠΈ Π»ΡΠΏΠ° Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ°. ΠΡΠΊΠ°ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΡΡ ΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ΅Π΄ΠΎΠ²Π½ΠΎ Π³ΠΌΡΡΠΊΠ°Π½Π΅ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠ°ΠΊΠ°, Π°ΠΊΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° MapReduce Π·Π°ΡΠ²ΠΊΠ° ΡΠΏΡΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ° Ρ Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠ΅Π΄ΡΠΊΠ°ΡΠΈΡ ΠΏΡΠΈ Π½Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π΄ΠΎΠ±ΡΠ΅ ΠΏΠΎΠ΄Π±ΡΠ°Π½ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Π·Π° ΠΏΠ°ΡΡΠΈΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ.
Amazon S3 β ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ Π·Π° DataLake?
ΠΠΏΠΈΡΡΡ Ρ Hadoop/MapReduce Π½ΠΈ Π½Π°ΡΡΠΈ, ΡΠ΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠ° Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°Π²Π°Ρ Π΄ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅, Π·Π° Π΄Π° Π½Π΅ ΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ°. Π Π°Π±ΠΎΡΠ½ΠΈΡΠΈΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ΡΠ°Ρ Π΄Π°Π½Π½ΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ, Π½ΠΎ Π·Π° ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½Π΅ Π΄Π° Π½Π΅ ΡΠ΅ΡΠ°Ρ ΠΈΠ·Π»ΠΈΡΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ Π΄Π° ΠΌΠΎΠ³Π°Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΡΠ΄ΠΎΠ±Π½ΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠΈΡΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈ.
ΠΡΠ΅ Π²Π΅Π΄Π½ΡΠΆ β ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΈΠ΄Π΅Ρ. ΠΡΠΌΠ° ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π΄Π° "Π½Π°Π»ΠΈΠ²Π°" Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ Π² Π΅Π΄ΠΈΠ½Π΅Π½ ΠΊΠ»ΡΡΡΠ΅ΡΠ΅Π½ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅Π½ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π», ΠΊΠΎΠΉΡΠΎ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΊΡΡΠ½ΠΎ ΡΠ΅ ΠΏΠΎΡΡΠ½Π΅ ΠΈ ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΎ Π½Π΅ΠΊΡΠ°ΡΠΈΠ²ΠΎ ΡΠ°ΡΠ΄Π²Π°Π½Π΅. ΠΡΠΊΠ° ΡΠ΅ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΏΡΠΎΡΡΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π² ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌ ΡΠΎΡΠΌΠ°Ρ ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ, Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ. Π ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ ΡΠ΅ ΡΡΠ°Π²Π°Ρ Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅. ΠΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΅ Π΄Π° ΡΠ°ΡΠ΄ΠΈΠΌ Π½Π΅ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ, Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ. ΠΡΠΆΠ΄Π°Π΅ΠΌ ΡΠ΅ ΠΎΡ ΡΠ°Π·ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π΅Π½ DataLake, ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π½ΠΈΠ΅β¦
Π ΠΊΠ°ΠΊΠ²ΠΎ, Π°ΠΊΠΎ ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΠΏΠΎΠ·Π½Π°ΡΠΎΡΠΎ ΠΈ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΠ° ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎ ΠΎΠ±Π»Π°ΡΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Amazon S3, Π±Π΅Π· Π΄Π° ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌΠ΅ Ρ ΠΏΡΠΈΠ³ΠΎΡΠ²ΡΠ½Π΅ Π½Π° ΠΎΡΠ±ΠΈΠ²Π½ΠΈ ΠΎΡ Hadoop?
Π―ΡΠ½ΠΎ, Π»ΠΈΡΠ½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ "Π½Π΅ ΠΌΠΎΠ³Π°Ρ", Π½ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ Ρ Π΄ΡΡΠ³ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ, Π°ΠΊΠΎ Π³ΠΈ ΠΈΠ·Π½Π΅ΡΠ΅ΠΌ ΠΈ "Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈΠΌ"?
ΠΠ»ΡΡΡΠ΅ΡΠ½ΠΎ-Π±ΠΈΠ³Π΄Π°ΡΠ°-Π°Π½Π°Π»ΠΈΡΠΈΡΠ½Π° Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° Amazon Web Services β ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΈ Π΄ΡΠΌΠΈ
Π‘ΡΠ΄Π΅ΠΉΠΊΠΈ ΠΏΠΎ Π½Π°ΡΠΈΡ ΠΎΠΏΠΈΡ Ρ AWS, ΡΠ°ΠΌ ΠΎΡΠ΄Π°Π²Π½Π° ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΎΡΠΌΠΈ Apache Hadoop/MapReduce, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΡΡΠ»ΡΠ³Π°ΡΠ° DataPipeline (Π·Π°Π²ΠΈΠΆΠ΄Π°ΠΌ Π½Π° ΠΊΠΎΠ»Π΅Π³ΠΈΡΠ΅, Π½Π°ΠΈΡΡΠΈΠ½Π° ΡΡΠΏΡΡ
Π° Π΄Π° Ρ ΠΏΡΠΈΠ³ΠΎΡΠ²ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ). Π’ΡΠΊ Π½Π°ΡΡΡΠΎΠΈΡ
ΠΌΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΠΎΡ ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅ Π½Π° DynamoDB:

Π ΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π½ΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Hadoop/MapReduce ΠΊΠ°ΡΠΎ ΡΠ°ΡΠΎΠ²Π½ΠΈΡΠΈ Π²Π΅ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. "ΠΠ°ΡΡΡΠΎΠΈΠ» ΠΈ Π·Π°Π±ΡΠ°Π²ΠΈΠ»":

Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π° ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΡΠ΅ Ρ Π΄Π°ΡΠ°-ΡΠ°ΡΠ°Π½ΠΈΠ·ΡΠΌ, ΠΊΠ°ΡΠΎ ΠΈΠ·Π΄ΠΈΠ³Π½Π΅ΡΠ΅ Π·Π° Π°Π½Π°Π»ΠΈΡΠΈΡΠΈΡΠ΅ Jupiter Π»Π°ΠΏΡΠΎΠΏΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ AWS SageMaker Π·Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° AI ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΡΠΎ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΡΠΈ Π½Π°Ρ:

Π Π΄Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π΄ΠΈΠ³Π½Π΅ΡΠ΅ Π»Π°ΠΏΡΠΎΠΏ Π² ΠΎΠ±Π»Π°ΠΊΠ° Π·Π° ΡΠ΅Π±Π΅ ΡΠΈ ΠΈΠ»ΠΈ Π·Π° Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π΄Π° Π³ΠΎ ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Ρ Hadoop/Spark ΠΊΠ»ΡΡΡΠ΅Ρ, Π΄Π° ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅ ΠΈ Π΄Π° 'ΠΏΡΠΈΠ±ΠΈΠ΅ΡΠ΅' Π²ΡΠΈΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅:

ΠΠ°ΠΈΡΡΠΈΠ½Π° Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ Π·Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΈ Π·Π° Π½ΡΠΊΠΎΠΈ ΠΎΡ ΡΡΡ
ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ
ΠΌΠ΅ EMR ΡΡΠ»ΡΠ³Π° Π·Π° ΠΌΠ°ΡΠ°Π±Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈ. Π ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΠ°Π²Π° ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° DataLake, ΡΠ΅ ΡΡΠΏΠ΅Π΅ΠΌ Π»ΠΈ? Π ΡΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ Π±ΡΡ
ΠΌΠ΅ Π½Π° Π³ΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π°ΡΠ° ΠΈ ΠΎΡΡΠ°ΡΠ½ΠΈΠ΅ΡΠΎ ΠΈ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°Ρ
ΠΌΠ΅ ΡΡΡΡΠ΅Π½Π΅ΡΠΎ.
AWS Glue β ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½ Apache Spark 'Π½Π° ΡΡΠ΅ΡΠΎΠΈΠ΄ΠΈ'.
ΠΠΊΠ°Π·Π° ΡΠ΅, ΡΠ΅ AWS ΠΈΠΌΠ° 'ΡΠ²ΠΎΡ' Π²Π΅ΡΡΠΈΡ Π½Π° ΡΡΠ΅ΠΊΠ° 'Hive/Pig/Spark'. Π ΠΎΠ»ΡΡΠ° Π½Π° Hive, Ρ.Π΅. ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²Π΅ Π² DataLake, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΡΠ»ΡΠ³Π°ΡΠ° 'Data catalog', ΠΊΠΎΡΡΠΎ Π½Π΅ ΠΊΡΠΈΠ΅ ΡΠ²ΠΎΡΡΠ° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ ΡΠΎΡΠΌΠ°ΡΠ° Apache Hive. Π ΡΠ°Π·ΠΈ ΡΡΠ»ΡΠ³Π° ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΊΡΠ΄Π΅ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ Π²Π°ΡΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π² ΠΊΠ°ΠΊΡΠ² ΡΠΎΡΠΌΠ°Ρ ΡΠ°. ΠΠ°Π½Π½ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π½Π΅ ΡΠ°ΠΌΠΎ Π² s3, Π½ΠΎ ΠΈ Π² Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Π½ΠΎ Π·Π° ΡΠΎΠ²Π° Π½Π΅ Π² ΡΠΎΠ·ΠΈ ΠΏΠΎΡΡ. ΠΡΠΎ ΠΊΠ°ΠΊ Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½ Π½Π°ΡΠΈΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄Π°Π½Π½ΠΈ Π² DataLake:

Π€Π°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ, ΡΡΡΠ°Ρ
ΠΎΡΠ½ΠΎ. ΠΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΡΠ° ΠΎΠ±Π½ΠΎΠ²Π΅Π½ΠΈ β ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΈΠ»ΠΈ ΡΡΡΠ½ΠΎ, ΠΈΠ»ΠΈ ΠΏΠΎ Π³ΡΠ°ΡΠΈΠΊ crawlers, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΡΡΡ
ΠΎΡ Π΅Π·Π΅ΡΠΎΡΠΎ ΠΈ ΡΠ΅ Ρ Π·Π°ΠΏΠ°Π·ΡΡ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΡ Π΅Π·Π΅ΡΠΎΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Π½ΠΈ ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·Π½Π°ΡΡΠ½ΠΈ Π½ΡΠΊΡΠ΄Π΅. Π Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ β ΠΈΠ·Π½Π°ΡΡΠΌΠ΅ ΡΡΡΠΎ Π² s3. ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π½Π°Π²ΡΡΠΊΡΠ΄Π΅, Π½ΠΎ Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΊΠ»ΡΡΡΠ΅Ρ Apache Spark Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π· API Π½Π° AWS Glue. ΠΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΡΠ΅ ΡΡΠ°ΡΠΈΡ Π΄ΠΎΠ±ΡΡ ΠΈ ΠΏΠΎΠ·Π½Π°Ρ ΠΊΠΎΠ΄ Π½Π° python Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° pyspark ΠΈ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΌΡ Π½Π° N Π½ΠΎΠ΄ΠΈ Π½Π° ΠΊΠ»ΡΡΡΠ΅Ρ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΌΠΎΡΠ½ΠΎΡΡ Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, Π±Π΅Π· ΡΡΡΠΌΠ»Π΅Π½ΠΈΠ΅ Π² Π΄ΡΠ»Π±ΠΈΠ½ΠΈΡΠ΅ Π½Π° Hadoop ΠΈ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° Docker ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
ΠΡΠ΅ Π²Π΅Π΄Π½ΡΠΆ β ΠΏΡΠΎΡΡΠ°ΡΠ° ΠΈΠ΄Π΅Ρ. ΠΡΠΌΠ° Π½ΡΠΆΠ΄Π° Π΄Π° Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΡΠ΅ Apache Spark, ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄ Π½Π° python Π·Π° pyspark, Π΄Π° Π³ΠΎ ΡΠ΅ΡΡΠ²Π°ΡΠ΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΡΠΈ ΠΏΠ»ΠΎΡ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° Π³ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° Π³ΠΎΠ»ΡΠΌ ΠΊΠ»ΡΡΡΠ΅Ρ Π² ΠΎΠ±Π»Π°ΠΊΠ°, ΡΠΊΠ°Π·Π²Π°ΠΉΠΊΠΈ ΠΊΡΠ΄Π΅ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ Π²Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΈ ΠΊΡΠ΄Π΅ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ°. ΠΠΎΠ½ΡΠΊΠΎΠ³Π° ΡΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈ Π΅ΡΠΎ ΠΊΠ°ΠΊ Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ ΠΏΡΠΈ Π½Π°Ρ:

Π’Π°ΠΊΠ° ΡΠ΅, Π°ΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½Π° Spark ΠΊΠ»ΡΡΡΠ΅ΡΠ° Ρ Π΄Π°Π½Π½ΠΈ Π² s3 β ΠΏΠΈΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄ Π½Π° python/pyspark, ΡΠ΅ΡΡΠ²Π°ΡΠ΅ ΠΈ Π² Π΄ΠΎΠ±ΡΠΎ ΠΏΡΡΠ΅ΡΠ΅ΡΡΠ²ΠΈΠ΅ Π² ΠΎΠ±Π»Π°ΠΊΠ°.
ΠΠ°ΠΊΠ²ΠΎ ΡΡΠ°Π²Π° Ρ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡΡΠ°? Π Π°ΠΊΠΎ Π·Π°Π΄Π°ΡΠ°ΡΠ° ΠΏΠ°Π΄Π½Π΅ ΠΈ ΠΈΠ·ΡΠ΅Π·Π½Π΅? ΠΠ°, ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΊΡΠ°ΡΠΈΠ² pipeline Π² ΡΡΠΈΠ» Apache Pig ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Ρ ΠΌΠ΅, Π½ΠΎ ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π·Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½Π°ΡΠ°ΡΠ° Π΄ΡΠ»Π±ΠΎΠΊΠΎ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·ΠΈΡΠ°Π½Π° ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ Π½Π° PHP ΠΈ JavaScript (ΡΠ°Π·Π±ΠΈΡΠ°ΠΌ, ΡΠ΅ Π²ΡΠ·Π½ΠΈΠΊΠ²Π° ΠΊΠΎΠ³Π½ΠΈΡΠΈΠ²Π΅Π½ Π΄ΠΈΡΠΎΠ½Π°Π½Ρ, Π½ΠΎ ΡΠ°Π±ΠΎΡΠΈ, Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π½Π°ΡΠ΅Π΄ ΠΈ Π±Π΅Π· Π³ΡΠ΅ΡΠΊΠΈ).

Π€ΠΎΡΠΌΠ°ΡΡΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈ Π² Π΅Π·Π΅ΡΠΎΡΠΎ, Π΅ ΠΊΠ»ΡΡΡΡ ΠΊΡΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°
ΠΠ½ΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ°Ρ ΠΎΡΠ΅ Π΄Π²Π° ΠΊΠ»ΡΡΠΎΠ²ΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ°. ΠΠ° Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΠΏΠΎ Π΄Π°Π½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π² Π΅Π·Π΅ΡΠΎΡΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ Π±ΡΡΠ·ΠΎ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π΄Π° Π½Π΅ ΡΠ΅ Π²Π»ΠΎΡΠ°Π²Π° ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ:
- ΠΠΎΠ»ΠΎΠ½ΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΎ (Π·Π° Π΄Π° Π½Π΅ Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ°Ρ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅, Π·Π° Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ° Π² ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΠ΅). ΠΠ° ΡΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° parquet ΡΡΡ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ.
- ΠΠ½ΠΎΠ³ΠΎ Π΅ Π²Π°ΠΆΠ½ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ°ΡΠ΄ΠΈΡΠ²Π°Ρ ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠΈ Π² Π΄ΡΡ Π° Π½Π°: Π΅Π·ΠΈΠΊ, Π³ΠΎΠ΄ΠΈΠ½Π°, ΠΌΠ΅ΡΠ΅Ρ, Π΄Π΅Π½, ΡΠ΅Π΄ΠΌΠΈΡΠ°. ΠΠ²ΠΈΠΆΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Ρ ΡΠΎΠ·ΠΈ Π²ΠΈΠ΄ ΡΠ°ΡΠ΄ΠΈΡΠ²Π°Π½Π΅, ΡΠ΅ ΡΡΡΡΡΡ ΡΠ°ΠΌΠΎ Π² Π½ΡΠΆΠ½ΠΈΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ, Π±Π΅Π· Π΄Π° ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°Ρ ΡΡΠ»Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ, ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π²ΠΈΠ΅ ΡΠ°Π·ΠΊΡΠΈΠ²Π°ΡΠ΅ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈΡ Π½Π°ΡΠΈΠ½ Π·Π° Π°Π½Π°Π»ΠΈΡΠΈΡΠ½ΠΈΡΠ΅ Π΄Π²ΠΈΠΆΠ΅ΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π° Π²Π»ΠΈΠ·Π°Ρ ΠΈ ΡΠ΅ΡΠ°Ρ ΡΠ°ΠΌΠΎ Π½ΡΠΆΠ½ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π² ΡΠ°ΡΠ΄ΠΈΡΠ½ΠΈΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ. ΠΠ΅ Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π° βΠ·Π°Π»ΠΈΠ²Π°β Π΄Π°Π½Π½ΠΈΡΠ΅ Π½ΠΈΠΊΡΠ΄Π΅ (ΡΠΊΠ»Π°Π΄ΡΡ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ ΡΠ΅ ΠΏΡΡΡΠ½Π΅) β ΠΏΡΠΎΡΡΠΎ Π³ΠΈ ΠΏΠΎΡΡΠ°Π²Π΅ΡΠ΅ Π² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π²Π΅Π΄Π½Π°Π³Π° Π² ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ ΡΠΎΡΠΌΠ°Ρ. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΡΠΊ ΡΡΡΠ±Π²Π° Π΄Π° Π΅ ΡΡΠ½ΠΎ, ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π² DataLake Π½Π° ΠΎΠ³ΡΠΎΠΌΠ΅Π½ csv ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ ΠΏΡΡΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ΅ ΡΠ΅Π΄ ΠΏΠΎ ΡΠ΅Π΄ ΠΎΡ ΠΊΠ»Π°ΡΡΠ΅Ρ, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΠ΅ β Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎ. ΠΠΎΠΌΠΈΡΠ»Π΅ΡΠ΅ Π½Π°Π΄ Π΄Π²Π°ΡΠ° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ ΠΏΠΎ-Π³ΠΎΡΠ΅ ΠΏΡΠ½ΠΊΡΠ° ΠΎΡΠ½ΠΎΠ²ΠΎ, Π°ΠΊΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ ΡΡΠ½ΠΎ Π·Π°ΡΠΎ Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°.
AWS Athena β βΠ΄ΡΠ²ΠΎΠ»ΡΡβ ΠΎΡ ΠΊΡΡΠΈΡΡΠ°
Π ΡΡΠΊ, ΡΡΠ·Π΄Π°Π²Π°ΠΉΠΊΠΈ Π΅Π·Π΅ΡΠΎΡΠΎ, Π½ΠΈΠ΅, Π½ΡΠΊΠ°ΠΊ ΡΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ, ΡΠ΅ Π½Π°ΡΡΠΊΠ½Π°Ρ ΠΌΠ΅ Π½Π° Amazon Athena. ΠΠ΅ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΎ ΡΠ΅ ΠΎΠΊΠ°Π·Π°, ΡΠ΅ ΠΏΡΠΈ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ ΠΏΠΎ ΡΠ°ΡΠ΄ΠΎΠ²Π΅-ΠΏΠ°ΠΏΠΊΠΈ Π² ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ (parquet) ΠΊΠΎΠ»ΠΎΠ½ΠΎΡΠ΅Π½ ΡΠΎΡΠΌΠ°Ρ, Π½Π°ΡΠΈΡΠ΅ ΠΎΠ³ΡΠΎΠΌΠ½ΠΈ Π»ΠΎΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ β ΠΌΠΎΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ·ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΈ Π²ΡΠ±ΠΎΡΠΊΠΈ ΠΈ Π΄Π° ΡΠ΅ ΡΡΡΠΎΡΡ ΠΎΡΡΠ΅ΡΠΈ ΠΠΠ, Π±Π΅Π· Apache Spark/Glue ΠΊΠ»ΡΡΡΠ΅Ρ.
ΠΠ²ΠΈΠΆΠΎΠΊΡΡ Athena, ΡΠ°Π±ΠΎΡΠ΅Ρ Ρ Π΄Π°Π½Π½ΠΈ Π² s3, Π΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π»Π΅Π³Π΅Π½Π΄Π°ΡΠ½ΠΈΡ β ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π» Π½Π° ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎΡΠΎ MPP (massive parallel processing) ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ, Π²Π·Π΅ΠΌΠ°ΡΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ s3 ΠΈ Hadoop Π΄ΠΎ Cassandra ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π΄Π° ΠΏΠΎΠΌΠΎΠ»ΠΈΠΌ Athena Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈ SQL Π·Π°ΠΏΠΈΡ ΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΈΡΠΊΠΎ Β«ΡΠ°Π±ΠΎΡΠΈ Π±ΡΡΠ·ΠΎ ΠΈ ΡΠ°ΠΌΠΎΒ». ΠΠ°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ Athena Π΅ Β«ΡΠΌΠ½Π°Β», Ρ ΠΎΠ΄ΠΈ ΡΠ°ΠΌΠΎ Π² Π½ΡΠΆΠ½ΠΈΡΠ΅ ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ ΡΠ΅ΡΠ΅ ΡΠ°ΠΌΠΎ Π½ΡΠΆΠ½ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΎΡ Π·Π°ΠΏΠΈΡΠ°.
ΠΠ°ΠΏΠ»Π°ΡΠ°ΡΠ° Π·Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡΡΠ° ΠΊΡΠΌ Athena ΡΡΡΠΎ Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°. ΠΠ»Π°ΡΠ°ΠΌΠ΅ Π·Π° . Π’ΠΎΠ΅ΡΡ, Π½Π΅ Π·Π° Π±ΡΠΎΡ Π½Π° ΠΌΠ°ΡΠΈΠ½ΠΈΡΠ΅ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΠΏΠΎΠΌΠΈΠ½ΡΡΠ½ΠΎ, Π°β¦ Π·Π° ΡΠ΅Π°Π»Π½ΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½ΠΈΡΠ΅ Π½Π° 100-500 ΠΌΠ°ΡΠΈΠ½ΠΈ ΡΠ°ΠΌΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΠΏΠΈΡΠ° Π΄Π°Π½Π½ΠΈ.
Π ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΌΠΎ Π½ΡΠΆΠ½ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ, ΡΠ΅ ΠΎΠΊΠ°Π·Π°, ΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° Athena Π½ΠΈ ΡΡΡΡΠ²Π° Π΄Π΅ΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ»Π°ΡΠΈ Π½Π° ΠΌΠ΅ΡΠ΅Ρ. Π§ΡΠ΄Π΅ΡΠ½ΠΎ, ΠΏΠΎΡΡΠΈ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΎ, Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠ° Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈ!
ΠΡΠΎ ΠΊΠ°ΠΊ ΡΠ°ΡΠ΄ΠΈΡΡΠ΅ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠΈ Π² s3:

Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ, Π·Π° ΠΊΡΠ°ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅, Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ Π΄ΠΎ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°, Π·Π°ΠΏΠΎΡΠ½Π°Ρ
Π° Π°ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π° ΠΏΡΠ°Π²ΡΡ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΠΊΡΠΌ Athena ΠΈ Π±ΡΡΠ·ΠΎ, Π·Π° ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ ΠΎΡ Β«Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅Β» Π΄Π°Π½Π½ΠΈ Π·Π° Π΄ΠΎΡΡΠ° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈ: ΠΌΠ΅ΡΠ΅ΡΠΈ, ΠΏΠΎΠ»ΡΠ³ΠΎΠ΄ΠΈΠ΅ ΠΈ Ρ.Π½.
ΠΠΎ Π½ΠΈΠ΅ ΠΎΡΠΈΠ΄ΠΎΡ ΠΌΠ΅ ΠΏΠΎ-Π΄Π°Π»Π΅Ρ ΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΡΡΡΡΠΈΠΌ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ° : Π°Π½Π°Π»ΠΈΡΠΈΠΊΡΡ Π² ΠΏΠΎΠ·Π½Π°ΡΠ°ΡΠ° ΠΊΠΎΠ½Π·ΠΎΠ»Π° ΠΏΠΈΡΠ΅ SQL Π·Π°ΠΏΠΈΡ, ΠΊΠΎΠΉΡΠΎ Π½Π° 100-500 ΠΌΠ°ΡΠΈΠ½ΠΈ Β«Π·Π° ΡΡΠΎΡΠΈΠ½ΠΊΠΈΒ» ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π² s3 ΠΈ Π²ΡΡΡΠ° ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π·Π° ΡΠ΅ΠΊΡΠ½Π΄ΠΈ. Π£Π΄ΠΎΠ±Π½ΠΎ. Π Π±ΡΡΠ·ΠΎ. ΠΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΠΌΠΈ ΡΠ΅ Π²ΡΡΠ²Π°.
Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ°, Π²Π·ΠΈΠΌΠ°ΠΉΠΊΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈ Π² s3, Π² Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΊΠΎΠ»ΠΎΠ½ΠΎΡΠ΅Π½ ΡΠΎΡΠΌΠ°Ρ ΠΈ Ρ ΡΠ°Π·ΡΠΌΠ½ΠΎ ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠΈβ¦ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ DataLake ΠΈ Π±ΡΡΠ· ΠΈ Π΅Π²ΡΠΈΠ½ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ β Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΎ. Π ΡΠΎΠΉ ΡΡΠ°Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ° SQL ΠΈ ΡΠ°Π±ΠΎΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π·Π°ΠΏΠΎΡΠ²Π°Π½ΠΈΡ / ΡΠΏΠΈΡΠ°Π½ΠΈΡ / Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈ. Β«ΠΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ Π΅ ΡΡΡΠΈΡΡ, Π·Π°ΡΠΎ Π΄Π° ΠΏΠ»Π°ΡΠ°ΠΌΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅?Β»
ΠΠ°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ ΠΊΡΠΌ Athena ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π°ΡΠΈΠ½. ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ , Π½ΠΎ Π½ΠΈΠ΅ ΡΠ΅ ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠΌ Π΄ΠΎ ΠΏΡΠΎΡΡΠ°ΡΠ° Π³ΡΡΠΏΠΈΡΠΎΠ²ΠΊΠ°. ΠΠ΅ΠΊΠ° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π·Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π΅ ΠΈΠΌΠ°Π» ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΠΏΡΠ΅Π΄ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅Π΄ΠΌΠΈΡΠΈ Π² Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΡΠ΅Π± ΡΡΡΠ²ΡΡΠ° ΠΈ Π΄Π° ΡΠ΅ ΡΠ±Π΅Π΄ΠΈΠΌ, ΡΠ΅ Π½ΡΠΌΠ° Π³ΡΠ΅ΡΠΊΠΈ:

ΠΠ·Π²ΠΎΠ΄ΠΈ
ΠΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΠΉΠΊΠΈ ΠΏΡΠ΅Π· Π½Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π΄ΡΠ»ΡΠ³, Π½ΠΎ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½ ΠΏΡΡ ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΎΡΠ΅Π½ΡΠ²Π°ΠΉΠΊΠΈ ΡΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅, Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°, Π½Π°ΠΌΠ΅ΡΠΈΡ ΠΌΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° DataLake ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°, ΠΊΠΎΠ΅ΡΠΎ Π½ΠΈ ΡΠ°Π΄Π²Π° ΠΊΠ°ΠΊΡΠΎ ΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡΠ°, ΡΠ°ΠΊΠ° ΠΈ Ρ ΡΠ΅Π½Π°ΡΠ° Π½Π° ΠΏΡΠΈΡΠ΅ΠΆΠ°Π½ΠΈΠ΅ΡΠΎ.
ΠΠΊΠ°Π·Π° ΡΠ΅, ΡΠ΅ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½, Π±ΡΡΠ· ΠΈ ΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅Π½ DataLake Π·Π° Π½ΡΠΆΠ΄ΠΈΡΠ΅ Π½Π° ΡΡΠ²ΡΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΡΠ΄Π΅Π»ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Π΅ ΠΏΠΎ ΡΠΈΠ»ΠΈΡΠ΅ Π΄ΠΎΡΠΈ Π½Π° ΠΎΠΏΠΈΡΠ½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ ΡΠ° ΡΠ°Π±ΠΎΡΠΈΠ»ΠΈ ΠΊΠ°ΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΈ ΠΈ Π½Π΅ Π·Π½Π°ΡΡ ΠΊΠ°ΠΊ Π΄Π° ΡΠΈΡΡΠ²Π°Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΡΠ΅ΡΠ° Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΡΠ΅ΡΠ° ΠΈ ΡΡΡΠ΅Π»ΠΊΠΈ, ΠΏΠΎΠ·Π½Π°Π²Π°ΠΉΠΊΠΈ 50 ΡΠ΅ΡΠΌΠΈΠ½Π° ΠΎΡ Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° Hadoop.
Π Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΠΏΡΡΡ Π³Π»Π°Π²Π°ΡΠ° ΠΌΠΈ ΡΠ΅ ΠΏΡΡΡΠΊΠ°ΡΠ΅ ΠΎΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π°Π±ΡΡΡΠ΄Π½ΠΈ βΠ·ΠΎΠΎΠΏΠ°ΡΠΊΠΎΠ²Π΅β Π½Π° ΠΎΡΠΊΡΠΈΡ ΠΈ Π·Π°ΡΠ²ΠΎΡΠ΅Π½ ΡΠΎΡΡΡΠ΅Ρ ΠΈ ΠΎΡΡΠ·Π½Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡΡΠ° Π½ΠΈ ΠΊΡΠΌ Π±ΡΠ΄Π΅ΡΠΈΡΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ. ΠΡΠΎΡΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ²ΠΎΡ DataLake Ρ ΠΏΡΠΎΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ: nagios/munin -> elastic/kibana -> Hadoop/Spark/s3 β¦, ΡΡΠ±ΠΈΡΠ°ΠΉΠΊΠΈ ΠΎΠ±ΡΠ°ΡΠ½Π° Π²ΡΡΠ·ΠΊΠ° ΠΈ Π΄ΡΠ»Π±ΠΎΠΊΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΠΉΠΊΠΈ ΡΠΈΠ·ΠΈΠΊΠ°ΡΠ° Π½Π° Π²ΡΠ·Π½ΠΈΠΊΠ²Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ. ΠΡΠΈΡΠΊΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈ Π½Π΅ΡΡΠ½ΠΎ - ΠΎΡΡΠ°Π²Π΅ΡΠ΅ Π½Π° Π²ΡΠ°Π³ΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΡΠ΅.
ΠΠΊΠΎ Π½Π΅ ΠΈΡΠΊΠ°ΡΠ΅ Π² ΠΎΠ±Π»Π°ΠΊΠ° ΠΈ ΠΎΠ±ΠΈΡΠ°ΡΠ΅ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ΅, ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°ΡΠ΅ ΠΈ ΠΏΠ°ΡΡΠ²Π°ΡΠ΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° Π½Π° Π½Π°ΡΠ°ΡΠ° ΡΡ
Π΅ΠΌΠ° Π»ΠΎΠΊΠ°Π»Π½ΠΎ, Π½Π° ΠΎΡΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠΈ Ρ Hadoop ΠΈ Presto ΠΎΡΠ³ΠΎΡΠ΅. ΠΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ Π΅ Π΄Π° Π½Π΅ ΡΠ΅ ΡΠΏΠΈΡΠ°ΡΠ΅ ΠΈ Π΄Π° Π½Π°ΠΏΡΠ΅Π΄Π²Π°ΡΠ΅, Π΄Π° ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°ΡΠ΅, Π΄Π° ΡΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΡΡΠΈ ΠΈ ΡΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠΈΡΠΊΠΎ ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ! Π£ΡΠΏΠ΅Ρ
Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΈ Π΄ΠΎ Π½ΠΎΠ²ΠΈ ΡΡΠ΅ΡΠΈ!
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
