ΠΡ ΠΆΠΈΠ²Π΅ΠΌ Π² ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ ΡΠΎΡΡΡΠΊΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³ΠΎΡΠΎΠ²ΡΡ ΠΎΡΠΊΡΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈΡ Ρ Β«ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΡΠΎΠ·Π½Π°Π½ΠΈΠ΅ΠΌΒ» ΠΏΠΎ ΡΠΎΠ²Π΅ΡΠ°ΠΌ stackoverflow, Π½Π΅ Π²Π½ΠΈΠΊΠ°Ρ Π² Β«ΠΌΠ½ΠΎΠ³ΠΎΠ±ΡΠΊΠ²Β», Π·Π°ΠΏΡΡΡΠΈΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ. Π ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ/ΡΠ°ΡΡΠΈΡΡΡΡΡΡ ΠΈΠ»ΠΈ ΠΊΡΠΎ-ΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡ ΠΏΠ°ΡΡ ΠΌΠ°ΡΠΈΠ½ β ΠΎΡΠΎΠ·Π½Π°ΡΡ, ΡΡΠΎ Π½Π°ΡΠ°Π»ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π½Π°Π²ΡΠ·ΡΠΈΠ²ΡΠΉ Π΄ΡΡΠ½ΠΎΠΉ ΡΠΎΠ½ Π½Π°ΡΠ²Ρ, Π²ΡΠ΅ ΡΠ΅Π·ΠΊΠΎ ΡΡΠ»ΠΎΠΆΠ½ΠΈΠ»ΠΎΡΡ Π΄ΠΎ Π½Π΅ΡΠ·Π½Π°Π²Π°Π΅ΠΌΠΎΡΡΠΈ, ΠΏΡΡΠΈ Π½Π°Π·Π°Π΄ Π½Π΅Ρ, Π±ΡΠ΄ΡΡΠ΅Π΅ ΡΡΠΌΠ°Π½Π½ΠΎ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π΅Π΅, Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°Π·Π²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠ΅Π» ΠΈ Π΄Π΅Π»Π°ΡΡ ΡΡΡ.
ΠΠ΅ Π·ΡΡ ΠΆΠ΅, Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡΡΠ½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ, Ρ ΠΏΠΎΡΡΠΏΠ°Π½Π½ΠΎΠΉ Π±Π°Π³Π°ΠΌΠΈ ΠΈ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΡΠΆΠ΅ ΡΠ΅Π΄ΠΎΠΉ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ, ΡΠΎΠ·Π΅ΡΡΠ°Ρ Π½Π΅ΠΏΡΠ°Π²Π΄ΠΎΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π±ΡΡΡΡΠΎΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ΅ΠΊ Β«ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²Β» Π² Β«ΠΊΡΠ±ΠΈΠΊΠ°Ρ
Β» Π½Π° Π΄Π΅ΡΡΡΠΊΠ°Ρ
ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π½Π° Β«ΠΌΠΎΠ΄Π½ΡΡ
ΡΠ·ΡΠΊΠ°Ρ
Β» ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ-Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠ΅Π³ΠΎ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° β ΡΠΊΡΠΎΠΌΠ½ΠΎ ΡΠ»ΡΠ±Π°ΡΡΡΡ. Π ΠΌΠΎΠ»ΡΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΡΠ²Π°ΡΡ Β«man psΒ», Π²Π½ΠΈΠΊΠ°ΡΡ Π΄ΠΎ ΠΊΡΠΎΠ²ΠΎΡΠΎΡΠ΅Π½ΠΈΡ ΠΈΠ· Π³Π»Π°Π· Π² ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΈ Β«nginxΒ» ΠΈ ΠΏΠΈΡΡΡ-ΠΏΠΈΡΡΡ-ΠΏΠΈΡΡΡ ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΡ. ΠΠΎΠ»Π»Π΅Π³ΠΈ Π·Π½Π°ΡΡ, ΡΡΠΎ ΡΠ°ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΠΏΠ΅ΡΠ΅Π΄ΠΈ, ΠΊΠΎΠ³Π΄Π° Β«Π²ΡΡ ΡΡΠΎΒ» ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ ΡΡΠ°Π½Π΅Ρ Π½ΠΎΡΡΡ ΠΊΠΎΠ»ΠΎΠΌ ΠΏΠΎΠ΄ ΠΠΎΠ²ΡΠΉ Π³ΠΎΠ΄. Π ΠΈΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΈΡΠΎΠ΄Ρ unix, Π·Π°ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ TCP/IP ΠΈ Π±Π°Π·ΠΎΠ²ΡΡ
Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ-ΠΏΠΎΠΈΡΠΊΠ°. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ΄ Π±ΠΎΠΉ ΠΊΡΡΠ°Π½ΡΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊ ΠΆΠΈΠ·Π½ΠΈ.
ΠΡ
Π΄Π°, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ²Π»Π΅ΠΊΡΡ, Π½ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π²ΠΊΡΡΠ΅Π½ΠΈΡ, Π½Π°Π΄Π΅ΡΡΡ, ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Ρ Ρ
ΠΎΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Π½Π°ΡΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΈ Π½Π΅Π΄ΠΎΡΠΎΠ³ΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ DataLake, ΡΠ΅ΡΠ°ΡΡΠ΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π°Π΄Π°Ρ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π΄Π»Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ°Π·Π½ΡΡ
ΡΡΡΡΠΊΡΡΡΠ½ΡΡ
ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΉ.
ΠΠ΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°Π·Π°Π΄ ΠΌΡ ΠΏΡΠΈΡΠ»ΠΈ ΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π²ΡΠ΅ ΡΠΈΠ»ΡΠ½Π΅Π΅ ΠΈ ΡΠΈΠ»ΡΠ½Π΅Π΅ Π½ΡΠΆΠ½Ρ ΠΏΠ»ΠΎΠ΄Ρ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΠΎΠΉ, ΡΠ°ΠΊ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ (Π½Π΅ Π³ΠΎΠ²ΠΎΡΡ ΡΠΆΠ΅ ΠΎ Π²ΠΈΡΠ΅Π½ΠΊΠ°Ρ Π½Π° ΡΠΎΡΡΠ΅ Π² Π²ΠΈΠ΄Π΅ machine learning) ΠΈ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΡΠ΅Π½Π΄ΠΎΠ² ΠΈ ΡΠΈΡΠΊΠΎΠ² β Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊ.
ΠΠ°Π·ΠΎΠ²Π°Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° Π² Β«ΠΠΈΡΡΠΈΠΊΡ24Β»
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ Π½Π°Π·Π°Π΄, ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ° Β«ΠΠΈΡΡΠΈΠΊΡ24Β», ΠΌΡ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π²ΡΠ΅ΠΌΡ ΠΈ ΡΠ΅ΡΡΡΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π»Π° Π±ΡΡΡΡΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅ ΠΈ ΡΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠΉ ΡΠ°Π³. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ»ΠΎ Π²Π·ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ΅ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ nagios Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ munin Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ ΡΡΡΡΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ Π² nagios, ΡΠΎΡΠ½ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π² munin ΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. ΠΠ΅ΡΡΠΈΠΊΠΈ ΠΏΠΎΠ½ΡΡΠ½Ρ, Π³ΡΠ°ΡΠΈΠΊΠΈ ΡΡΠ½Ρ, ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΡΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ ΠΈ Π² Π½Π΅Π΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΡΡΡ ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ: Π²Π²ΠΎΠ΄ΠΈΠΌ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π² ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ β Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΡΠΎΠ² ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΎΠ². Π Π΄ΠΎΠ±ΡΡΠΉ ΠΏΡΡΡ.
Π ΡΠΊΠ° Π½Π° ΠΏΡΠ»ΡΡΠ΅ β ΡΠ°ΡΡΠΈΡΠ΅Π½Π½Π°Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°
ΠΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ Β«ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅Β» ΠΏΡΠΈΠ²Π΅Π»ΠΎ Π½Π°Ρ ΠΊ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°ΠΌ Ρ ΠΏΡΠΎΡΡΡΠΌΠΈ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ β pinba ΠΈ xhprof.
Pinba ΠΎΡΠΏΡΠ°Π²Π»ΡΠ»Π° Π½Π°ΠΌ Π² UDP-ΠΏΠ°ΠΊΠ΅ΡΠΈΠΊΠ°Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΎ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΡΡΠ΅ΠΉ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ Π½Π° PHP ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½ Π²ΠΈΠ΄Π΅ΡΡ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ MySQL (c pinba ΠΈΠ΄Π΅Ρ ΡΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ MySQL Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ) ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½ΠΈΡ . Π xhprof Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ» ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π³ΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ PHP-ΡΡΡΠ°Π½ΠΈΡ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΠΊ ΡΡΠΎΠΌΡ ΠΌΠΎΠ³Π»ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ β ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ, Π½Π°Π»ΠΈΠ² ΡΠ°ΠΉ ΠΈΠ»ΠΈ ΡΠ΅Π³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΠΊΡΠ΅ΠΏΡΠ΅.
ΠΠ΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°Π·Π°Π΄ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π±ΡΠ» ΠΏΠΎΠΏΠΎΠ»Π½Π΅Π½ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ Π΄Π²ΠΈΠΆΠΊΠΎΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ, ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π² Π»Π΅Π³Π΅Π½Π΄Π°ΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Lucene β Elastic/Kibana. ΠΡΠΎΡΡΠ°Ρ ΠΈΠ΄Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΈΠ½Π²Π΅ΡΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ Lucene Π½Π° Π±Π°Π·Π΅ ΡΠΎΠ±ΡΡΠΈΠΉ Π² Π»ΠΎΠ³Π°Ρ ΠΈ Π±ΡΡΡΡΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ Π½ΠΈΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π΅Π»Π΅Π½ΠΈΡ β ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ, ΠΈ ΠΏΡΠ°Π²Π΄Π°, ΠΏΠΎΠ»Π΅Π·Π½Π°.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΠΈΠ΄ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΉ Π² Kibana Ρ Β«ΠΏΡΠΎΡΠ΅ΠΊΠ°ΡΡΠΈΠΌΠΈ Π²Π²Π΅ΡΡ Β» Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌΠΈ ΡΠΈΠΏΠ° Β«bucketΒ» ΠΈ Π·Π°Π½ΠΎΠ²ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΡΠΎΠ²ΡΠ΅ΠΌ Π΅ΡΠ΅ Π½Π΅ Π·Π°Π±ΡΡΠΎΠΉ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΡΠ°Π» Ρ ΠΎΡΠΎΡΠΎ Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π·Π°Π΄Π°ΡΠ°Ρ :
- Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Π±ΡΠ»ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ PHP Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΠΈΡΡΠΈΠΊΡ24 Π½Π° ΠΏΠΎΡΡΠ°Π»Π΅ p1 Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Ρ ΠΈ ΠΊΠ°ΠΊΠΈΡ ? ΠΠΎΠ½ΡΡΡ, ΠΏΡΠΎΡΡΠΈΡΡ ΠΈ Π±ΡΡΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ.
- Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Π±ΡΠ»ΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΎ Π²ΠΈΠ΄Π΅ΠΎ-Π·Π²ΠΎΠ½ΠΊΠΎΠ² Π½Π° ΠΏΠΎΡΡΠ°Π»Π°Ρ Π² ΠΠ΅ΡΠΌΠ°Π½ΠΈΠΈ Π·Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ 24 ΡΠ°ΡΠ°, Ρ ΠΊΠ°ΠΊΠΈΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΈ Π±ΡΠ»ΠΈ Π»ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Ρ ΠΊΠ°Π½Π°Π»ΠΎΠΌ/ΡΠ΅ΡΡΡ?
- ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» (Π½Π°ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° C Π΄Π»Ρ PHP), ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈ ΡΠ°ΡΠΊΠ°ΡΠ°Π½Π½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ? ΠΠ΅Ρ Π»ΠΈ segfaults?
- ΠΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π»ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΡ PHP? ΠΠ΅Ρ Π»ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ ΠΏΠ°ΠΌΡΡΠΈ: Β«out of memoryΒ»? ΠΠ°ΠΉΡΠΈ ΠΈ ΠΎΠ±Π΅Π·Π²ΡΠ΅Π΄ΠΈΡΡ.
ΠΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΏΡΠΈ ΠΎΡΠ΅Π½Ρ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΠΊΠ΅ΠΉΡΠ΅ ΠΈ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π½ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π΄ΠΎΡΠ°Π΄Π½Π°Ρ ΠΈ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°, Π·Π°Π·Π²ΡΡΠ°Π»Π° ΡΠΈΡΠ΅Π½Π° ΠΈ Π½Π°ΡΠ°Π»ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π΅Π΅ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ, kibana ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΡΠΎΠ±ΡΡΠΈΡΠΌ ΠΈ Π·Π° ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΡΠ°Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π΅ΡΡΡΠΊΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² ΠΈΠ· ΡΠ°Π·Π½ΡΡ
ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΉ β ΠΎΡ ΡΠ΅Ρ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΠΎ QA.
ΠΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΡΠ°Π»ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ β Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π»ΠΎΠ³ΠΎΠ² Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ , Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠ°ΡΡΠΈΠ½Π³ Π»ΠΎΠ³ΠΎΠ² ΠΈ ΠΈΡ ΠΎΡΠΏΡΠ°Π²ΠΊΡ Π² ΠΊΠ»Π°ΡΡΠ΅Ρ elastic, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°ΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ·Π΅ΡΡΠ°Π½ΠΈΠ΅ΠΌ Π² Π΄Π°ΡΠ±ΠΎΡΠ΄Π΅ kibana ΡΠΈΡΠ»Π° ΠΏΡΠΎΠ΄Π°Π½Π½ΡΡ Π΄Π²ΡΡ Π³ΠΎΠ»ΠΎΠ²ΡΡ ΠΊΠΎΡΡΡ, Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½Π½ΡΡ Π½Π° 3-d ΠΏΡΠΈΠ½ΡΠ΅ΡΠ΅ Π·Π° ΠΏΡΠΎΡΠ»ΡΠΉ Π»ΡΠ½Π½ΡΠΉ ΠΌΠ΅ΡΡΡ.
ΠΠ°Π·ΠΎΠ²Π°Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°
ΠΡΠ΅ Π·Π½Π°ΡΡ, ΡΡΠΎ ΡΠ°ΡΡΠΎ Π±ΠΈΠ·Π½Π΅Ρ-Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΡΠΊΡΡΡΠ΅ΠΌΠ°Π»ΡΠ½ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π΄Π°, Π΄Π°, Excel. ΠΠΎ, Π³Π»Π°Π²Π½ΠΎΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π² Π½Π΅ΠΌ Π½Π΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π»Π°ΡΡ. ΠΠ°ΡΠ»ΠΎ Π² ΠΎΠ³ΠΎΠ½Ρ Π΅ΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Π»ΠΈΠ²Π°Π΅Ρ ΠΎΠ±Π»Π°ΡΠ½ΡΠΉ Google Analytics β ΠΊ Ρ ΠΎΡΠΎΡΠ΅ΠΌΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡ Π±ΡΡΡΡΠΎ ΠΏΡΠΈΠ²ΡΠΊΠ°ΡΡ.
Π Π½Π°ΡΠ΅ΠΉ, Π³Π°ΡΠΌΠΎΠ½ΠΈΡΠ½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅ΠΉΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΡΡΠ°Π»ΠΈ ΡΠΎ ΡΡΡ, ΡΠΎ ΡΠ°ΠΌ, ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Β«ΠΏΡΠΎΡΠΎΠΊΠΈΒ» Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎ ΡΡΠ°Π»ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ Π² Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΈΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΡΠ°Π½Π½ΡΡ ΠΎΡΡΠ΅ΡΠ°Ρ ΠΈ ΡΡΠΈΠ»ΠΈΡΠΌΠΈ ΡΠ΅Π±ΡΡ ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΉ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°Π·Π°Π΄ Π±ΡΠ»ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β ΡΠ²ΡΠ·ΠΊΠ° ClickHouse ΠΈ PowerBI.
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΡΠΎ Π³ΠΈΠ±ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΎ, Π½ΠΎ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΡΠ°Π»ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ClickHouse β Π½Π΅ ΡΠ΅Π·ΠΈΠ½ΠΎΠ²ΡΠΉ ΠΈ Π½Π΅Π»ΡΠ·Ρ Π½Π°Π΄ Π½ΠΈΠΌ ΡΠ°ΠΊ ΠΈΠ·Π΄Π΅Π²Π°ΡΡΡΡ.
Π’ΡΡ Π²Π°ΠΆΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ClickHouse, ΠΊΠ°ΠΊ ΠΈ Druid, ΠΊΠ°ΠΊ ΠΈ Vertica, ΠΊΠ°ΠΊ ΠΈ Amazon RedShift (ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° Π±Π°Π·Π΅ postgres), ΡΡΠΎ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π²ΠΈΠΆΠΊΠΈ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½ΡΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊΡ (ΡΡΠΌΠΌΡ, Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΈ, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ-ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ ΠΈ Π½Π΅ΠΌΠ½ΠΎΠΆΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΆΠΎΠΉΠ½ΠΎΠ²), Ρ.ΠΊ. ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ Π½Π°ΠΌ MySQL ΠΈ Π΄ΡΡΠ³ΠΈΡ (row-oriented) Π±Π°Π· Π΄Π°Π½Π½ΡΡ .
ΠΠΎ ΡΡΡΠΈ, ClickHouse Π»ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΠΌΠ΅ΡΡΠΈΠΌΠ°Ρ Β«Π±Π°Π·ΠΊΠ°Β» Π΄Π°Π½Π½ΡΡ , Ρ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠΎΡΠ΅ΡΠ½ΠΎΠΉ Π²ΡΡΠ°Π²ΠΊΠΎΠΉ (ΡΠ°ΠΊ Π·Π°Π΄ΡΠΌΠ°Π½ΠΎ, Π²ΡΠ΅ ΠΎΠΊ), Π½ΠΎ ΠΏΡΠΈΡΡΠ½ΠΎΠΉ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠΉ ΠΈ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΠΌΠΎΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡΠ΅Ρ β Π½ΠΎ, Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ Π·Π°Π±ΠΈΠ²Π°ΡΡ Π³Π²ΠΎΠ·Π΄ΠΈ ΠΌΠΈΠΊΡΠΎΡΠΊΠΎΠΏΠΎΠΌ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈ ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ ΠΈΡΠΊΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π‘ΠΏΡΠΎΡ Π½Π° python ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠ²
Π Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΈΡΡΡ ΠΊΠΎΠ΄ ΠΏΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ 10-20 Π»Π΅Ρ Π½Π° PHP, JavaScript, 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 β
Β«Π Π΅Π·ΠΈΠ½ΠΎΠ²ΠΎΠ΅Β» ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ β ΠΎΡΡΡΠ°Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ
ΠΠΏΡΡ Β«ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡΒ» Hadoop/Spark Ρ ΠΎΠΆΠΎΠ³Π°ΠΌΠΈ ΡΠ°Π·Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΡΠ΅Π»Π° Π½Π΅ ΠΏΡΠΎΡΠ΅Π» Π΄Π°ΡΠΎΠΌ. Π‘ΡΠ°Π»Π° Π²ΡΠ΅ ΡΠ΅ΡΡΠ΅ Π²ΡΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΠΎΠ³ΠΎΠ³ΠΎ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ Π±Ρ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎ ΠΊ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌ Π°Π²Π°ΡΠΈΡΠΌ ΠΈ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ°Π·Π½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΏΠΎ ΡΡΠΈΠΌ Π΄Π°Π½Π½ΡΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΈ Π² ΡΠ°Π·ΡΠΌΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ Π²ΡΠ±ΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΎΡΡΠ΅ΡΠΎΠ².
Π’Π°ΠΊΠΆΠ΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠ° ΡΡΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π½Π΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π»ΠΎΡΡ Π² Π½ΠΎΠ²ΠΎΠ³ΠΎΠ΄Π½ΠΈΠΉ Π½ΠΎΡΠ½ΠΎΠΉ ΠΊΠΎΡΠΌΠ°Ρ Ρ ΡΡΠ΅Π½ΠΈΠ΅ΠΌ 20-ΡΡΡΠ°Π½ΠΈΡΠ½ΡΡ Java ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΈΠ»ΠΎΠΌΠ΅ΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ Π»ΠΎΠ³ΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Spark History Server ΠΈ Π»ΡΠΏΡ Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΎΠΉ. Π₯ΠΎΡΠ΅Π»ΠΎΡΡ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π½ΡΡΡΠ½ΠΈΡ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ, Π΅ΡΠ»ΠΈ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΠ΅ΡΠ΅ΡΡΠ°Π» Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ MapReduce Π·Π°ΠΏΡΠΎΡ ΠΏΡΠΈ Π²ΡΠΏΠ°Π΄Π΅Π½ΠΈΠΈ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ Π²ΠΎΡΠΊΠ΅ΡΠ° reduce-Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄Π°ΡΠ½ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΠΏΠ°ΡΡΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ .
Amazon S3 β ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ Π½Π° DataLake?
ΠΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Hadoop/MapReduce Π½Π°ΡΡΠΈΠ» ΡΠΎΠΌΡ, ΡΡΠΎ Π½ΡΠΆΠ½Π° ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π°Π΄Π΅ΠΆΠ½Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ Π½Π°Π΄ Π½Π΅ΠΉ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠ΅ Π²ΠΎΡΠΊΠ΅ΡΡ, Β«ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΠΈΠ΅Β» ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅ ΠΊ Π΄Π°Π½Π½ΡΠΌ, ΡΡΠΎΠ±Ρ Π½Π΅ Π³ΠΎΠ½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΡΠ΅ΡΠΈ. ΠΠΎΡΠΊΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΌΠ΅ΡΡ ΡΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°Π·Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠ°Ρ , Π½ΠΎ, ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½Π΅ ΡΠΈΡΠ°ΡΡ Π»ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ Ρ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ΄ΠΎΠ±Π½ΡΡ Π΄Π»Ρ Π²ΠΎΡΠΊΠ΅ΡΠΎΠ² ΡΠΎΡΠΌΠ°ΡΠ°Ρ .
ΠΡΠ΅ ΡΠ°Π· β ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΈΠ΄Π΅Ρ. ΠΠ΅Ρ ΠΆΠ΅Π»Π°Π½ΠΈΡ Β«Π·Π°Π»ΠΈΠ²Π°ΡΡΒ» Π±ΠΎΠ»ΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² Π΅Π΄ΠΈΠ½ΡΠΉ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π·Π°Ρ Π»Π΅Π±Π½Π΅ΡΡΡ ΠΈ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π΅Π³ΠΎ Π½Π΅ΠΊΡΠ°ΡΠΈΠ²ΠΎ ΡΠ°ΡΠ΄ΠΈΡΡ. Π₯ΠΎΡΠ΅ΡΡΡ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΏΡΠΎΡΡΠΎ ΡΠ°ΠΉΠ»Ρ, Π² ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎ Π½ΠΈΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ, Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. Π ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ°Π·Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ Π±ΠΎΠ»ΡΡΠ΅. Π Π»ΡΡΡΠ΅ ΡΠ°ΡΠ΄ΠΈΡΡ Π½Π΅ Π΄Π²ΠΈΠΆΠΎΠΊ, Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠ°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ DataLake, ΡΠ΅ΡΠΈΠ»ΠΈ ΠΌΡβ¦
Π ΡΡΠΎ Π΅ΡΠ»ΠΈ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Π² ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠΌ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΠΌ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Amazon S3, Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠ±ΠΈΠ²Π½ΡΡ ΠΈΠ· Hadoop?
ΠΠΎΠ½ΡΡΠ½ΠΎ, ΠΏΠ΅ΡΡΠ΄Π°Π½Π½ΡΠ΅ Β«Π½ΠΈΠ·ΡΒ», Π½ΠΎ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠ΄Π° Π²ΡΠ½Π΅ΡΡΠΈ ΠΈ Β«ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ³ΠΎΠ½ΡΡΡΒ»?
ΠΠ»Π°ΡΡΠ΅ΡΠ½ΠΎ-Π±ΠΈΠ³Π΄Π°ΡΠ°-Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° Amazon Web Services β ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ
Π‘ΡΠ΄Ρ ΠΏΠΎ Π½Π°ΡΠ΅ΠΌΡ ΠΎΠΏΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ AWS, ΡΠ°ΠΌ Π΄Π°Π²Π½ΠΎ ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΎΡΡΠ°ΠΌΠΈ Apache Hadoop/MapReduce, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΡΠ΅ΡΠ²ΠΈΡΠ΅ DataPipeline (Π·Π°Π²ΠΈΠ΄ΡΡ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ, Π²ΠΎΡ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΠΆΠ΅ Π΅Π³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π³ΠΎΡΠΎΠ²ΠΈΡΡ). ΠΠΎΡ ΡΡΡ ΠΌΡ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ Π±ΡΠΊΠ°ΠΏΡ ΠΈΠ· ΡΠ°Π·Π½ΡΡ
ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈΠ· ΡΠ°Π±Π»ΠΈΡ DynamoDB:
Π ΠΎΠ½ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ
Hadoop/MapReduce ΠΊΠ°ΠΊ ΡΠ°ΡΡ ΡΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ. Β«ΠΠ°ΡΡΡΠΎΠΈΠ» ΠΈ Π·Π°Π±ΡΠ»Β»:
Π’Π°ΠΊΠΆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π΄Π°ΡΠ°ΡΠ°ΡΠ°Π½ΠΈΠ·ΠΌΠΎΠΌ, ΠΏΠΎΠ΄Π½ΡΠ² Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠ² Jupiter-Π½ΠΎΡΡΠ±ΡΠΊΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΈΠ½Π³Π° AI-ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Π±ΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ AWS SageMaker. ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Ρ Π½Π°Ρ:
Π Π΄Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π½ΡΡΡ ΡΠ΅Π±Π΅ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΡ Π½ΠΎΡΡΠ±ΡΠΊ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ ΠΈ ΠΏΡΠΈΡΠ΅ΠΏΠΈΡΡ Π΅Π³ΠΎ ΠΊ 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 ΠΈ ΡΠ°ΡΠΊΠ°Π½ΠΈΡ Π΄ΠΎΠΊΠ΅Ρ-ΠΌΠΎΠΊΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
ΠΡΠ΅ ΡΠ°Π· β ΠΏΡΠΎΡΡΠ°Ρ ΠΈΠ΄Π΅Ρ. ΠΠ΅ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Apache Spark, Π½ΡΠΆΠ½ΠΎ Π»ΠΈΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π½Π° python Π΄Π»Ρ pyspark, ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΡΠΎΠ»Π΅ ΠΈ Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π° Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Π² ΠΎΠ±Π»Π°ΠΊΠ΅, ΡΠΊΠ°Π·Π°Π² Π³Π΄Π΅ Π»Π΅ΠΆΠ°Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΊΡΠ΄Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈ Π²ΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ Ρ Π½Π°Ρ:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ ΠΎΠ±ΡΡΠΈΡΠ°ΡΡ Π½Π° Spark-ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Π½Π° Π΄Π°Π½Π½ΡΡ
Π² s3 β ΠΏΠΈΡΠ΅ΠΌ Π½Π° python/pyspark ΠΊΠΎΠ΄, ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ ΠΈ Π² Π΄ΠΎΠ±ΡΡΠΉ ΠΏΡΡΡ Π² ΠΎΠ±Π»Π°ΠΊΠΎ.
Π ΡΡΠΎ Ρ ΠΎΡΠΊΠ΅ΡΡΡΠΎΠ²ΠΊΠΎΠΉ? Π Π΅ΡΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΠΏΠ°Π»ΠΎ ΠΈ ΠΏΡΠΎΠΏΠ°Π»ΠΎ? ΠΠ°, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΡΠ°ΡΠΈΠ²ΡΠΉ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ Π² ΡΡΠΈΠ»Π΅ Apache Pig ΠΈ ΠΌΡ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΠΈΡ , Π½ΠΎ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΡ Π³Π»ΡΠ±ΠΎΠΊΠΎ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΡΠΊΠ΅ΡΡΡΠΎΠ²ΠΊΡ Π½Π° PHP ΠΈ JavaScript (Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΊΠΎΠ³Π½ΠΈΡΠΈΠ²Π½ΡΠΉ Π΄ΠΈΡΡΠΎΠ½Π°Π½Ρ, Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π³ΠΎΠ΄Π°ΠΌΠΈ ΠΈ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ).
Π€ΠΎΡΠΌΠ°Ρ Ρ ΡΠ°Π½ΠΈΠΌΡΡ Π² ΠΎΠ·Π΅ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² β ΠΊΠ»ΡΡ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
ΠΡΠ΅Π½Ρ, ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ Π΅ΡΠ΅ Π΄Π²Π° ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠΎ Π΄Π°Π½Π½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ·Π΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π½Π΅ Π΄Π΅Π³ΡΠ°Π΄ΠΈΡΠΎΠ²Π°Π»Π° ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π½ΡΠΆΠ½ΠΎ:
- ΠΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΡΠ°Π½ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ (ΡΡΠΎΠ±Ρ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ ). ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π²Π·ΡΠ»ΠΈ ΡΠΎΡΠΌΠ°Ρ parquet Ρ ΡΠΆΠ°ΡΠΈΠ΅ΠΌ
- ΠΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ ΠΏΠ°ΠΏΠΎΡΠΊΠ°ΠΌ Π² Π΄ΡΡ Π΅: ΡΠ·ΡΠΊ, Π³ΠΎΠ΄, ΠΌΠ΅ΡΡΡ, Π΄Π΅Π½Ρ, Π½Π΅Π΄Π΅Π»Ρ. ΠΠ²ΠΈΠΆΠΊΠΈ, ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡΠΈΠ΅ ΡΡΠΎΡ ΡΠΈΠΏ ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π±ΡΠ΄ΡΡ ΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠ°ΠΏΠΎΡΠΊΠΈ, Π½Π΅ ΠΏΠ΅ΡΠ΅Π»ΠΎΠΏΠ°ΡΠΈΠ²Π°Ρ ΡΠ΅ΡΠ΅Π· ΡΠ΅Π±Ρ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ΄.
ΠΠΎ ΡΡΡΠΈ, ΡΠ°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, Π²Ρ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΠ΅ Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π½Π°Π²Π΅ΡΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ²Π΅ΡΡ Ρ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π²ΠΈΠΆΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈ Π² ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠ°ΠΏΠΎΡΠΊΠΈ ΡΠΌΠ΅ΡΡ ΠΈΠ·Π±ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΈ ΡΠΈΡΠ°ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. ΠΠ΅ Π½ΡΠΆΠ½ΠΎ Π½ΠΈΠΊΡΠ΄Π°, ΠΏΠΎΠ»ΡΡΠ°ΡΡΡ, Β«Π·Π°Π»ΠΈΠ²Π°ΡΡΒ» Π΄Π°Π½Π½ΡΠ΅ (Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ Π»ΠΎΠΏΠ½Π΅Ρ) β ΠΏΡΠΎΡΡΠΎ ΡΡΠ°Π·Ρ ΡΠ°Π·ΡΠΌΠ½ΠΎ ΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π² DataLake ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΉ csv-ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π²Π΅ΡΡ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ β Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ. ΠΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ Π½Π°Π΄ Π΄Π²ΡΠΌΡ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠ½ΠΊΡΠ°ΠΌΠΈ Π΅ΡΠ΅ ΡΠ°Π·, Π΅ΡΠ»ΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ Π·Π°ΡΠ΅ΠΌ Π²ΡΠ΅ ΡΡΠΎ.
AWS Athena β Β«ΡΠ΅ΡΡΒ» ΠΈΠ· ΡΠ°Π±Π°ΠΊΠ΅ΡΠΊΠΈ
Π ΡΡΡ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΠΎΠ·Π΅ΡΠΎ, ΠΌΡ, ΠΊΠ°ΠΊ-ΡΠΎ ΠΌΠΈΠΌΠΎΡ ΠΎΠ΄ΠΎΠΌ, Π½Π°ΡΠΊΠ½ΡΠ»ΠΈΡΡ Π½Π° Amazon Athena. ΠΠ½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠΈΠ² ΠΏΠΎ ΡΠ°ΡΠ΄Π°ΠΌ-ΠΏΠ°ΠΏΠΎΡΠΊΠ°ΠΌ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ (parquet) ΠΊΠΎΠ»ΠΎΠ½ΠΎΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ Π½Π°ΡΠΈ ΡΠ°ΠΉΠ»Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΡΡ Π»ΠΎΠ³ΠΎΠ² β ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ ΠΏΠΎ Π½ΠΈΠΌ Π΄Π΅Π»Π°ΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΡΠ΅ Π²ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΡΡΡΠΎΠΈΡΡ ΠΎΡΡΠ΅ΡΡ ΠΠΠ, Π±Π΅Π· Apache Spark/Glue ΠΊΠ»Π°ΡΡΠ΅ΡΠ°.
ΠΠ²ΠΈΠΆΠΎΠΊ Athena, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π° Π΄Π°Π½Π½ΡΡ
Π² s3, ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π»Π΅Π³Π΅Π½Π΄Π°ΡΠ½ΠΎΠΌ
Π’Π°ΡΠΈΡΠΈΡΠΈΡΡΡΡΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΊ Athena ΡΠΎΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ. ΠΡ ΠΏΠ»Π°ΡΠΈΠΌ Π·Π°
Π Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠ· ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠ°ΠΏΠΎΡΠ΅ΠΊ, ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΡΠ΅ΡΠ²ΠΈΡ Athena Π½Π°ΠΌ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π΄Π΅ΡΡΡΠΊΠΈ Π΄ΠΎΠ»Π»Π°ΡΠΎΠ² ΠΌΠ΅ΡΡΡ. ΠΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΠΆΠ΅, ΠΏΠΎΡΡΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠΉ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ !
ΠΠΎΡ, ΠΊΡΡΠ°ΡΠΈ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠ°ΡΠ΄ΠΈΡΡΠ΅ΠΌ ΡΠ²ΠΎΠΈ Π΄Π°Π½Π½ΡΠ΅ Π² s3:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, Π·Π° ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄ΠΎ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ, ΡΡΠ°Π»ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΊ Athena ΠΈ Π±ΡΡΡΡΠΎ, Π·Π° ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΎΡΠ²Π΅ΡΡ ΠΈΠ· Β«Π±ΠΎΠ»ΡΡΠΈΡ
Β» Π΄Π°Π½Π½ΡΡ
Π·Π° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄Ρ: ΠΌΠ΅ΡΡΡΡ, ΠΏΠΎΠ»ΡΠ³ΠΎΠ΄ΠΈΠ΅ ΠΈ Ρ.ΠΏ.
ΠΠΎ ΠΌΡ ΠΏΠΎΡΠ»ΠΈ Π΄Π°Π»ΡΡΠ΅ ΠΈ ΡΡΠ°Π»ΠΈ Ρ
ΠΎΠ΄ΠΈΡΡ Π·Π° ΠΎΡΠ²Π΅ΡΠ°ΠΌΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠΎ
Π ΠΈΡΠΎΠ³Π΅, ΠΏΡΠΈΠ½ΡΠ² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² s3, Π² ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΎΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΈ Ρ ΡΠ°Π·ΡΠΌΠ½ΡΠΌ ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΠΏΠ°ΠΏΠΎΡΠΊΠ°ΠΌβ¦ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ DataLake ΠΈ Π±ΡΡΡΡΡΠΉ ΠΈ Π΄Π΅ΡΠ΅Π²ΡΠΉ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ β Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ. Π ΠΎΠ½ ΡΡΠ°Π» ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Ρ.ΠΊ. ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ SQL ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΏΠΎΡΡΠ΄ΠΊΠΈ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΠΊΠΈ/ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ/Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ². Β«Π Π΅ΡΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ, Π·Π°ΡΠ΅ΠΌ ΠΏΠ»Π°ΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅?Β»
ΠΠ°ΠΏΡΠΎΡ ΠΊ Athena Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ. ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ
ΠΡΠ²ΠΎΠ΄Ρ
ΠΡΠΎΠΉΠ΄Ρ, Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠΎ Π΄ΠΎΠ»Π³ΠΈΠΉ, Π½ΠΎ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΡΠΉ ΠΏΡΡΡ, ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°Ρ ΡΠΈΡΠΊΠΈ ΠΈ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, ΠΌΡ Π½Π°ΡΠ»ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ DataLake ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°Ρ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π΅Ρ ΡΠ°Π΄ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠΊΠΎΡΠΎΡΡΡΡ, ΡΠ°ΠΊ ΠΈ ΡΡΠΎΠΈΠΌΠΎΡΡΡΡ Π²Π»Π°Π΄Π΅Π½ΠΈΡ.
ΠΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅, Π±ΡΡΡΡΠΎΠ΅ ΠΈ Π΄Π΅ΡΠ΅Π²ΠΎΠ΅ Π² ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ DataLake Π΄Π»Ρ Π½ΡΠΆΠ΄ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ°Π·Π½ΡΡ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ β ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΏΠΎ ΡΠΈΠ»Π°ΠΌ Π΄Π°ΠΆΠ΅ ΠΎΠΏΡΡΠ½ΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡΠ°ΠΌΠΈ ΠΈ Π½Π΅ ΡΠΌΠ΅ΡΡΠΈΠΌ ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΠΊΠΈ Π½Π° ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΠΊΠ°Ρ ΡΠΎ ΡΡΡΠ΅Π»ΠΎΡΠΊΠ°ΠΌΠΈ ΠΈ Π·Π½Π°ΡΡΠΈΠΌ 50 ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ² ΠΈΠ· ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ Hadoop.
Π Π½Π°ΡΠ°Π»Π΅ ΠΏΡΡΠΈ Π³ΠΎΠ»ΠΎΠ²Π° ΡΠ°ΡΠΊΠ°Π»ΡΠ²Π°Π»Π°ΡΡ ΠΎΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π΄ΠΈΡΠ°ΠΉΡΠΈΡ Π·ΠΎΠΎΠΏΠ°ΡΠΊΠΎΠ² ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΈ Π·Π°ΠΊΡΡΡΠΎΠ³ΠΎ ΡΠΎΡΡΠ° ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π³ΡΡΠ·Π° ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΡΠΎΠΌΠΊΠ°ΠΌΠΈ. ΠΡΠΎΡΡΠΎ Π½Π°ΡΠΈΠ½Π°ΠΉΡΠ΅ ΡΡΡΠΎΠΈΡΡ ΡΠ²ΠΎΠΉ DataLake ΠΎΡ ΠΏΡΠΎΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²: nagios/munin -> elastic/kibana -> Hadoop/Spark/s3 …, ΡΠΎΠ±ΠΈΡΠ°Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠ²ΡΠ·Ρ ΠΈ Π³Π»ΡΠ±ΠΎΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΡΠΈΠ·ΠΈΠΊΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ ΠΈ ΠΌΡΡΠ½ΠΎΠ΅ β ΠΎΡΠ΄Π°Π²Π°ΠΉΡΠ΅ Π²ΡΠ°Π³Π°ΠΌ ΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ°ΠΌ.
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ
ΠΎΡΠΈΡΠ΅ Π² ΠΎΠ±Π»Π°ΠΊΠΎ ΠΈ Π»ΡΠ±ΠΈΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΈ ΠΏΠ°ΡΡΠΈΡΡ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ Π½Π°ΡΠ΅ΠΉ ΡΡ
Π΅ΠΌΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, Π½Π° ΠΎΡΠΈΡΠ½ΡΡ
Π½Π΅Π΄ΠΎΡΠΎΠ³ΠΈΡ
ΠΌΠ°ΡΠΈΠ½ΠΊΠ°Ρ
Ρ Hadoop ΠΈ Presto ΡΠ²Π΅ΡΡ
Ρ. ΠΠ»Π°Π²Π½ΠΎΠ΅ β Π½Π΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΈ ΠΈΠ΄ΡΠΈ Π²ΠΏΠ΅ΡΠ΅Π΄, ΡΡΠΈΡΠ°ΡΡ, ΠΈΡΠΊΠ°ΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΠΈ ΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ! Π£Π΄Π°ΡΠΈ Π²ΡΠ΅ΠΌ ΠΈ Π΄ΠΎ Π½ΠΎΠ²ΡΡ
Π²ΡΡΡΠ΅Ρ!
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com