ΠΠ°ΠΎΠ±Π»Π°ΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: Β«Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠΊΒ» Π½Π°ΡΠ°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΊΠΈΠ±Π΅ΡΠ°ΡΠ°ΠΊ | Π‘ΡΠ°ΡΡΠΈ
Π₯Π°ΠΊΠ΅ΡΡ Π½Π°ΡΠ°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Β«Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠΊΒ» Π΄Π»Ρ Π°ΡΠ°ΠΊ Π½Π° ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠ΅ Π‘ΠΠ ΠΈ ΡΠΎΠΏΠ»ΠΈΠ²Π½ΠΎ-ΡΠ½Π΅ΡΠ³Π΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΡΠ°ΡΡΠΊΠ°Π·Π°Π»ΠΈ Β«ΠΠ·Π²Π΅ΡΡΠΈΡΠΌΒ» Π² Positive Technologies. Π Π°Π½Π΅Π΅ Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΡ Π΅ΠΌΠ°Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π»ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π·Π°ΡΡΠ±Π΅ΠΆΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π²ΡΠΎΠ΄Π΅ OneDrive ΠΈ Dropbox. ΠΠΎ ΡΠ»ΠΎΠ²Π°ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ², Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½Π΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΄Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ°Π²Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Ρ Π°ΠΊΠ΅ΡΡΠΊΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ β ΠΎΠ½Π° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΡΠ°ΡΠΈΠΊ. Π§ΡΠΎΠ±Ρ Π·Π°ΡΠΈΡΠΈΡΡ ΡΠ΅Π±Ρ, ΡΠΊΡΠΏΠ΅ΡΡΡ ΠΏΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ²Π΅ΡΡΡΡ Ρ Π½Π΅Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ ΠΊ Π»ΡΠ±ΡΠΌ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ Π² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΏΠΈΡΡΠΌΠ°Ρ , ΠΏΡΠΈΡΠ΅Π΄ΡΠΈΡ Ρ Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ².
ΠΠ°Π·Π° ΡΠ΄Π°Π½Π½ΡΡΠΠΈΠ±Π΅ΡΠΏΡΠ΅ΡΡΡΠΏΠ½ΠΈΠΊΠΈ ΠΈΠ· Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΠ Π’31, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΊΡΠΏΠ΅ΡΡΡ ΡΡΠΈΡΠ°ΡΡ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΎΠΉ, Π½Π°ΡΠ°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Β«Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠΊΒ» Π² ΡΠ²ΠΎΠΈΡ Π°ΡΠ°ΠΊΠ°Ρ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΠ°ΡΡΠΊΠ°Π·Π°Π»ΠΈ Β«ΠΠ·Π²Π΅ΡΡΠΈΡΠΌΒ» Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Positive Technologies. Π Π°Π½Π΅Π΅ Π² ΡΡΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Dropbox. Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈΠ· Π Π€ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π»ΠΈ Π²ΠΏΠ΅ΡΠ²ΡΠ΅, ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ.
ΠΠ°ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«ΡΠΏΠΈΡΠΎΠΊ.docxΒ». ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ Π΅Π³ΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ, ΡΠ°ΠΉΠ» Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΌΠ°ΠΊΡΠΎΡΠ° (ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΎΠΌ Π·Π°ΡΠ°Π½Π΅Π΅). ΠΠΎΠ³Π΄Π° Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΎΠ½ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΡΠΈ ΡΠ°ΠΉΠ»Π°: ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ (Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π·Π°ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°ΡΡ), Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈ ΡΠ°ΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠ²Π»Π΅ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» β ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Β«Π―Π½Π΄Π΅ΠΊΡ ΠΡΠ°ΡΠ·Π΅ΡΠ°Β», ΡΡΠ·Π²ΠΈΠΌΠΎΠ³ΠΎ ΠΊ ΠΊΠΈΠ±Π΅ΡΠ°ΡΠ°ΠΊΠ΅
Π€ΠΎΡΠΎ: ΠΠΠΠΠ‘Π’ΠΠ―/ΠΠΌΠΈΡΡΠΈΠΉ ΠΠΎΡΠΎΡΠ°Π΅Π²
ΠΠΈΡΡΡ-Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΊΠ°
Π‘ Π½Π°ΡΠ°Π»Π° 2022 Π³ΠΎΠ΄Π° Ρ Π°ΠΊΠ΅ΡΡΠΊΠ°Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° Π°ΡΠ°ΠΊΠΎΠ²Π°Π»Π° ΡΡΠ΄ Π‘ΠΠ ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΡΠΎΠΏΠ»ΠΈΠ²Π½ΠΎ-ΡΠ½Π΅ΡΠ³Π΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΠΎΡΠ° ΠΏΠΎ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π² Positive Technologies. ΠΠΈΡΡΡ ΠΏΡΠΈΡΡΠ»Π°ΡΡ Π»ΠΈΠ±ΠΎ ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅, Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΠ΅Π· ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ , Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ ΠΏΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
β ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ, ΡΡΠΎ Π°ΡΠ°ΠΊΡΡΡΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Β«Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠΊΒ» Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°. APT31 Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π»Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΎΠ±Π»Π°ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠ°ΡΠΈΠΊ Π±ΡΠ» ΠΏΠΎΡ ΠΎΠΆ Π½Π° Π»Π΅Π³ΠΈΡΠΈΠΌΠ½ΡΠΉ, β ΠΎΠ±ΡΡΡΠ½ΠΈΠ» Β«ΠΠ·Π²Π΅ΡΡΠΈΡΠΌΒ» ΡΠΊΡΠΏΠ΅ΡΡ Positive Technologies ΠΠ°Π½ΠΈΠΈΠ» ΠΠΎΠ»ΠΎΡΠΊΠΎΠ².
ΠΠΎ Π΅Π³ΠΎ ΡΠ»ΠΎΠ²Π°ΠΌ, Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ΅ ΠΠ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Β«Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠΊΒ», ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ.
β Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠΉ Π»Π΅Π³ΠΈΡΠΈΠΌΠ½ΡΠΉ ΡΡΠ°ΡΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ. ΠΡΠΈ Π·Π»ΠΎΠ²ΡΠ΅Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π»ΠΈΡΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ΅Π΄ΡΡΠ² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ½ΡΠΌΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ, β ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΠ» ΠΠ°Π½ΠΈΠΈΠ» ΠΠΎΠ»ΠΎΡΠΊΠΎΠ².
Π€ΠΎΡΠΎ: Getty Images/Andrew Brookes
Β«Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠΊΒ» β ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΈ, ΠΊΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΎΠ½ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ°ΠΏΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ Π½Π°ΡΡΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡ, ΡΠ°ΡΡΠΊΠ°Π·Π°Π» ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π² IT-ΡΡΠ΅ΡΠ΅. ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ ΠΈ ΡΠ°ΠΉΠ»Ρ, Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΡΠΎΠΆΠ΅ Π½Π΅Π»ΡΠ·Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π΄Π»Ρ Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π° ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ, Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΡΠΎΠ±Π΅ΡΠ΅Π΄Π½ΠΈΠΊ Β«ΠΠ·Π²Π΅ΡΡΠΈΠΉΒ».
Π ΠΏΡΠ΅ΡΡ-ΡΠ»ΡΠΆΠ±Π΅ Β«Π―Π½Π΄Π΅ΠΊΡΠ°Β» ΠΎΡΠΊΠ°Π·Π°Π»ΠΈΡΡ ΠΎΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π².
ΠΠΎΠ΄Π½Π΅Π±Π΅ΡΠ½ΡΠ΅ Π°ΡΠ°ΠΊΠΈΠΠΈΡΠ°ΠΉΡΠΊΠΈΠ΅ APT-Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ° ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π»Π΅Π³ΠΈΡΠΈΠΌΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΡΠΊΠ°Π·Π°Π» Β«ΠΠ·Π²Π΅ΡΡΠΈΡΠΌΒ» ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ Solar JSOC CERT ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Β«Π Π’Π-Π‘ΠΎΠ»Π°ΡΒ» ΠΠ³ΠΎΡΡ ΠΠ°Π»Π΅Π²ΡΠΊΠΈΠΉ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΡΡΠ°ΡΠΈΠΊΠ΅ ΠΈ Π½Π° ΡΡΠ΅Π΄ΡΡΠ²Π°Ρ Π·Π°ΡΠΈΡΡ, ΠΏΠΎΡΡΠ½ΠΈΠ» ΠΎΠ½. ΠΠΊΡΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°Π», ΡΡΠΎ ΠΏΡΠΈ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ Π°ΡΠ°ΠΊ Π½Π° ΠΎΡΠ³Π°Π½Ρ Π²Π»Π°ΡΡΠΈ Π² 2021 Π³ΠΎΠ΄Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π·ΡΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Β«ΠΎΠ±ΡΠ°ΡΡΡΡΒ» (ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ) ΡΠΎ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΎΠΌ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² β API ΠΠΈΡΠΊ-Π ΠΈ OneDrive.
β ΠΡΠΈ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΠΎΠΉ ΠΆΠ΅ APT-Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Π² 2022 Π³ΠΎΠ΄Ρ ΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ ΡΠ²Π΅ΠΆΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΡΡ ΡΠ³ΡΠΎΠ·, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Β«Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠΊΒ» Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ°Π½Π°Π»Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
. ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΡΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠΈ ΠΈΡ Π² ΡΠ°ΠΉΠ»Ρ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°ΡΠ°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ ΠΎΡΡΠ°. ΠΡΠ²Π΅ΡΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, β ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ» ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ.Π€ΠΎΡΠΎ: ΠΠΠΠΠ‘Π’ΠΠ―/ΠΠΌΠΈΡΡΠΈΠΉ ΠΠΎΡΠΎΡΠ°Π΅Π²
ΠΠ΅ Π΄ΠΎΠ²Π΅ΡΡΠΉ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠΉΠ‘Π°ΠΌΡΠΉ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΡΠΈΡΡ β Π½Π΅ ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π½Π΅ ΠΈΠ· Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², Π΄Π° ΠΈ Π² ΡΠ΅Π»ΠΎΠΌ ΠΊΡΠ°ΠΉΠ½Π΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ ΠΊ Π»ΡΠ±ΡΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, ΡΠΊΠ°Π·Π°Π» Β«ΠΠ·Π²Π΅ΡΡΠΈΡΠΌΒ» ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΎΡΠ΄Π΅Π»Π° ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Β«ΠΠΎΠ΄Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈΒ» ΠΠ°Π²Π΅Π» ΠΠΎΡΠΎΡΡΠ΅Π»Π΅Π².
β ΠΡΠ»ΠΈ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Π²ΡΡ ΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ, ΡΠΎ Π»ΡΡΡΠ΅ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π΅Ρ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ Π°ΡΠ°ΠΊΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π³ΡΠ°ΠΌΠΎΡΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π°, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ β Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΡΠ΅Π»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π·Π°ΡΠΈΡΡ, ΡΡΠΎ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎ Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΡΡΠ΅ΡΡ Π½Π΅ΡΠ΅Π°Π»ΡΠ½ΠΎ, β Π·Π°ΡΠ²ΠΈΠ» ΡΠΊΡΠΏΠ΅ΡΡ.
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅Π½ΡΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Zecurion ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ Π£Π»ΡΡΠ½ΠΎΠ² Π΄ΠΎΠ±Π°Π²ΠΈΠ», ΡΡΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΡ, ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΌΠ°ΠΊΡΠΎΡΠΎΠ².
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Google ΠΠΈΡΠΊ ΠΈ Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΡΠΊ
Google ΠΠΈΡΠΊ ΠΈ Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΡΠΊ β ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π² Π ΠΎΡΡΠΈΠΈ ΠΈ Π‘ΠΠ ΡΠ΅ΡΠ²ΠΈΡΡ Π΄Π»Ρ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². Google ΠΠΈΡΠΊ (Π·Π°ΡΡΠ±Π΅ΠΆΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ β Google Drive), ΠΊΠ°ΠΊ ΠΈ Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΡΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π½Π° ΡΡΠ½ΠΊΠ΅ Ρ 2012 Π³ΠΎΠ΄Π°. Π‘Π΅ΡΠ²ΠΈΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΡΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΉ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Google ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ 15 ΠΠ± ΠΏΠ°ΠΌΡΡΠΈ, Π° Π―Π½Π΄Π΅ΠΊΡ Π½Π° 5 ΠΠ± ΠΌΠ΅Π½ΡΡΠ΅. Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΎΠ±Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π²Ρ ΠΎΠ΄ΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΡ ΡΡΠ»ΡΠ³ ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ, ΡΠ°ΠΊ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠ΅ Π½Π° Π―Π½Π΄Π΅ΠΊΡ ΠΠ»ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ 10 ΠΠ± ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠΊΠΈΠ΄ΠΊΡ Π² 30 % Π½Π° ΠΏΠΎΠΊΡΠΏΠΊΡ ΠΌΠ΅ΡΡΠ°, Π° ΠΏΠΎΠΊΡΠΏΠ°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ G Suite ΠΎΡ ΠΡΠ³Π»Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ»ΡΡΠΈΡ 1 Π’Π ΡΠ²Π΅ΡΡ Ρ ΠΈΠΌΠ΅ΡΡΠ΅Π³ΠΎΡΡ.
Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΌΠ° ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΡΡΠΈ Π² Π΄Π²Π° ΡΠ°Π·Π° Π΄Π΅ΡΠ΅Π²Π»Π΅ Ρ Π―Π½Π΄Π΅ΠΊΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 100 ΠΠ± Π² Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠΊΠ΅ ΡΡΠΎΡΡ 79 β½, Π° Ρ Google β 139 β½. ΠΠ±Π° ΠΎΠ±Π»Π°ΡΠ½ΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π° Π²ΡΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ , Π½ΠΎ Google Drive Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Linux. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΌΠΈΠ½ΡΡΠΎΠ² Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠ΅ΠΊΠ»Π°ΠΌΡ, Π½ΠΎ Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΠΎΠΊΡΠΏΠΊΠΈ Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ. ΠΠ°ΠΊ Google ΠΠΈΡΠΊ, ΡΠ°ΠΊ ΠΈ Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠΊ ΠΎΡΠ½Π°ΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ: Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΎΡΠΈΡ, ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π»ΡΠ±ΠΎΠΌΠΎΠ², ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Ρ. Π΄. ΠΠ΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊ ΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ Google Drive ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΠ΄Π½ΠΎΡΡΡΠ°Π½ΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΡΡ (Google Π‘Π°ΠΉΡΡ) ΠΈ Google Π€ΠΎΡΠΌΡ (ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠΎΡΠΎΠ² ΠΈ ΡΠ±ΠΎΡ Π΄Π°Π½Π½ΡΡ ).
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΎΠ±Π»Π°ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΌ Π²Π°ΠΆΠ΅Π½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΡΠΌ ΠΈ Π½ΠΈΠ·ΠΊΠ°Ρ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ. Π’Π΅ΠΌ Π»ΡΠ΄ΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΌ Π²Π°ΠΆΠ΅Π½ ΡΠΈΡΡΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΡΠ΅ΠΊΠ»Π°ΠΌΡ ΡΡΠΎΠΈΡ Π²ΡΠ±ΡΠ°ΡΡ Google Drive, Π΅ΡΠ»ΠΈ Π²Π°ΠΆΠ½Π° ΡΠ΅Π½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ, ΡΠΎ ΡΡΠΎΠΈΡ ΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ Π―Π½Π΄Π΅ΠΊΡ.
ΠΠ»ΠΈΠΊΠ°ΠΉΡΠ΅ Π½Π° Π½ΡΠΆΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ ΠΏΠΎ Π±Π°Π»Π»Π°ΠΌ.
Π’ΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΡΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΠΈΠ΅ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΈ Π»ΠΈΡΠ½Π°Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ
Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ
40
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠΎΠΌ
26
ΠΠΎΠΈΡΠΊ ΠΈ ΡΠΈΠ»ΡΡΡΡ
36
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
23
ΠΠ±Π»Π°ΡΠ½ΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄ΠΈΡΠΊΠ°, ΠΠ
5
2Β 048
5Β 120
ΠΠ²ΡΡ ΡΡΠ°ΠΏΠ½Π°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ
0
ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΎΡΠΈΡ
1
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΈΡΠΊΠ° ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄ΡΡΠ·Π΅ΠΉ
0
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π°, ΠΠ
3
5
10
Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ
0
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ
1
ΠΡΠΎΡΠΌΠΎΡΡ ΠΌΠ΅Π΄ΠΈΠ°-ΡΠ°ΠΉΠ»ΠΎΠ² Π±Π΅Π· Π·Π°Π³ΡΡΠ·ΠΊΠΈ
2
ΠΠ²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠ°ΠΌΠ΅ΡΡ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅
2
4
ΠΠ΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ, ΠΠ
3
15
10
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡ
ΠΠΎΡΡΡΠΏ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ HTTPS ΠΠ°Π½Π½ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΠΌΠΈ ΠΈΒ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΠΎΒ ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΊΠ°Π½Π°Π»Ρ (SSL/TLS), ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΡ Β ΠΏΠ΅ΡΠ΅Ρ Π²Π°Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌΠΈ.
90
ΠΠ½ΠΎΠ³ΠΎΡΠ°ΠΊΡΠΎΡΠ½Π°Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ² ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΡΠΈΡΠΊ ΡΡΠ΅ΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ (ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΏΠ°ΡΠΎΠ»Ρ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΠ°ΡΡΡ, ΡΠΊΠ°Π½Π΅ΡΡ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΊΠΎΠ² ΠΏΠ°Π»ΡΡΠ΅Π² ΠΈΒ Π΄ΡΡΠ³ΠΎΠ΅).
51
ΠΠ±ΡΠΈΠ΅
ΠΠ»Π°ΡΡΠΎΡΠΌΡ
24
ΠΠ΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Android ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ iOS ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Windows ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Mac
ΠΠ΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Android ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ iOS ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Windows ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Mac
Π Π°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠ΅
12
ΠΠ±Π»Π°ΠΊΠΎ ΠΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ
ΠΠ±Π»Π°ΠΊΠΎ
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ
14
Π ΡΡΡΠΊΠΈΠΉ, English
Π ΡΡΡΠΊΠΈΠΉ
ΠΠ»ΠΈΠΊΠ°ΠΉΡΠ΅ Π½Π° Π½ΡΠΆΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ ΠΏΠΎ Π±Π°Π»Π»Π°ΠΌ.
ΠΠ°ΠΊΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π²Π°ΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ?
Google ΠΠΈΡΠΊ
Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΡΠΊ
ΠΡΠ΅Π½ΠΈΡΠ΅, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΡΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅
ΠΠ°ΠΊΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π²Π°ΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ?
Google ΠΠΈΡΠΊ
Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΡΠΊ
YTsaurus: ΠΠΊΡΠ°Π±Π°ΠΉΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ | ΠΠ°ΠΊΡΠΈΠΌ ΠΠ°Π±Π΅Π½ΠΊΠΎ | Π―Π½Π΄Π΅ΠΊΡ | ΠΌΠ°ΡΡ 2023
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, ΠΌΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ°ΠΊΡΠΈΠΌ ΠΠ°Π±Π΅Π½ΠΊΠΎ, Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΎΡΠ΄Π΅Π»Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π² Π―Π½Π΄Π΅ΠΊΡΠ΅. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΡΠ°Π΄Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ, ΡΡΠΎ Π²ΡΠΏΡΡΡΠΈΠ»ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ YTsaurus Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. YTsaurus β ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ , ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π² Π―Π½Π΄Π΅ΠΊΡΠ΅ ΠΈ ΡΠ°Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ ΠΊΠ°ΠΊ YT.
ΠΠΎΡΠ»Π΅ ΠΏΠΎΡΡΠΈ Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ YTsaurus ΡΠΎ Π²ΡΠ΅ΠΌ ΠΌΠΈΡΠΎΠΌ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌ Π²Π°Ρ Ρ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΡΠ°Π·Π²ΠΈΡΠΈΡ YT, ΠΎΠ±ΡΡΡΠ½ΠΈΠΌ, Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ YTsaurus, ΠΎΠΏΠΈΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π½Π°ΠΌΠ΅ΡΠΈΠΌ ΠΎΠ±Π»Π°ΡΡΠΈ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ.
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ GitHub ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ΄ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄Π»Ρ YTsaurus, ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ k8s, Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ SDK Π΄Π»Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ C++, Java, Go ΠΈ Python. ΠΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌΠΈ.
ΠΡΡΠΎΡΠΈΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π² 2006 Π³ΠΎΠ΄Ρ. Π ΡΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π―Π½Π΄Π΅ΠΊΡ ΡΡΠ°Π» Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΊΡΡΠΏΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ. ΠΠΎΠΏΡΠΎΡ ΠΎ ΡΠΎΠΌ, Π³Π΄Π΅ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΏΠ΅ΡΠ΅ΡΡΠ°Π» Π±ΡΡΡ ΠΏΡΠΎΡΡΡΠΌ. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΡΠ»ΠΎΡΡ ΠΆΡΡΠ½Π°Π»Π°ΠΌ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΆΡΡΠ½Π°Π»ΠΎΠ² Π²ΠΊΠ»ΡΡΠ°Π»Π° Π² ΡΠ΅Π±Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ΅Π΄ΡΡΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³Π»ΠΈ ΡΠ΅ΡΠ°ΡΡ ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΠΏΠ΅ΠΊΡΡ Π·Π°Π΄Π°Ρ, ΠΎΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΡΠ²ΠΈΡΡ.
ΠΠ΄Π΅Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΡΠ»Π°ΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠ³Π»Π° Π±Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, Π½Π΅ Π·Π°Π±ΠΎΡΡΡΡ ΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, ΡΠΆΠ΅ Π²ΠΈΡΠ°Π»Π° Π² Π²ΠΎΠ·Π΄ΡΡ Π΅.
Π 2004 Π³ΠΎΠ΄Ρ ΠΠΆΠ΅ΡΡΡΠΈ ΠΠΈΠ½ ΠΈ Π‘Π°Π½Π΄ΠΆΠ°ΠΉ ΠΠ΅ΠΌΠ°Π²Π°Ρ ΠΈΠ· Google ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ ΠΊΠ½ΠΈΠ³Ρ MapReduce: Simplified Data Processing on Large Clusters. ΠΠ½ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π» ΡΠ²ΠΎΠ»ΡΡΠΈΡ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠΈΠ΅. ΠΠ΅ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ MapReduce ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π² Π―Π½Π΄Π΅ΠΊΡΠ΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ YAMR β Yet Another MapReduce.
Π―ΠΠ Π±ΡΠ» ΠΏΠΎΡΡΡΠΎΠ΅Π½ Ρ Π½ΡΠ»Ρ Π² ΡΠ΅ΠΊΠΎΡΠ΄Π½ΠΎ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΡΡΠΎΠΊΠΈ ΠΈ, Π½Π΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, ΠΎΠΊΠ°Π·Π°Π» ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΡΠ°Π»ΠΎ ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½Π°, ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² YAMR, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π³Π»Π°Π²Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ YAMR Π±ΡΠ» Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ ΠΎΡΠΊΠ°Π·Π° ΠΈ Π½Π΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π»ΡΡ.
ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ, ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ β ΡΠΈΠΏΠΈΡΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ ΡΠΈΠ½Π΄ΡΠΎΠΌΠ° ΠΠΠ, Π° Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠΎΠ΄Π΅ Apache Hadoop Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΡΡ. ΠΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ°ΠΊ. Π ΡΠ΅Π½ΡΡΠ±ΡΠ΅ 2015 Π³ΠΎΠ΄Π° Π³ΡΡΠΏΠΏΠ° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² Π―Π½Π΄Π΅ΠΊΡΠ° ΠΎΡΠΏΡΠ°Π²ΠΈΠ»Π°ΡΡ Π² ΠΠ°Π»ΠΈΡΠΎΡΠ½ΠΈΡ, ΡΡΠΎΠ±Ρ Π²ΡΡΡΠ΅ΡΠΈΡΡΡΡ Ρ ΡΠ΅ΠΌΠΈ, ΠΊΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ΅ΠΊ Hadoop Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅. ΠΠ½ΠΈ Π·Π°Π΄Π°Π²Π°Π»ΠΈ Π²ΠΎΠΏΡΠΎΡΡ ΠΎΠ± ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡ , ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΌ ΡΠ°Π·Π²ΠΈΡΠΈΠΈ Hadoop.
ΠΠΎ ΠΏΠΎΡΠΎΠΌ ΡΡΠ°Π»ΠΎ ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΡΠ΅ΠΊ Hadoop Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΡΡΠ°Π΅Ρ, Π΄Π°ΠΆΠ΅ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ YAMR, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π» ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ Π·Π°ΡΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ IPv6. ΠΡΠΎ Π±ΡΠ»ΠΈ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΡΠ΅ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π², ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Hadoop. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π°ΠΌ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ²ΠΎΠ»ΡΡΠΈΠΎΠ½Π½ΡΠΌ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ Π―ΠΠ ΠΈ ΡΠ΅Π²ΠΎΠ»ΡΡΠΈΠΎΠ½Π½ΡΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈ ΠΌΡ Π²ΡΠ±ΡΠ°Π»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠ° ΠΏΡΡΡ Π»Π΅Ρ Π΄ΠΎ ΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ Π³ΡΡΠΏΠΏΠ° ΡΠ½ΡΡΠ·ΠΈΠ°ΡΡΠΎΠ², ΡΠ°ΡΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠ½Π΅ ΠΏΠΎΡΡΠ°ΡΡΠ»ΠΈΠ²ΠΈΠ»ΠΎΡΡ Π±ΡΡΡ, Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΏΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΠ²ΡΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ YT. ΠΡΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΉ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ΅ YT ΠΈΠΌΠ΅Π» Π²ΡΠ΅ ΡΠ°Π½ΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ YAMR.
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π½Π΅ Π±ΡΠ»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ YAMR. ΠΠ° ΠΏΠΈΠΊΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»ΡΠ»Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ°ΠΌΠΈ, Π½Π°ΡΡΠΈΡΡΠ²Π°ΡΡΠΈΠΌΠΈ Π² ΠΎΠ±ΡΠ΅ΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΡΡΡΠΈ ΡΠ·Π»ΠΎΠ², ΠΈ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±ΡΠ»ΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΎ Π½Π° API YAMR. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ YT ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Ρ YAMR Π·Π°Π½ΡΠ» ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΡΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΈ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°.
Π‘ 2017 Π³ΠΎΠ΄Π° Π² Π―Π½Π΄Π΅ΠΊΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π΅Π΄ΠΈΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° MapReduce, ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠ°ΠΊ ΠΏΠΎ ΠΌΠ°ΡΡΡΠ°Π±Π°ΠΌ, ΡΠ°ΠΊ ΠΈ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΠΈ ΠΏΠΎ ΡΠ΅ΠΉ Π΄Π΅Π½Ρ. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°ΠΌΠΈ YT ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠ°ΡΠΈΠ½ Π΄ΠΎ Π΄Π΅ΡΡΡΠΊΠΎΠ² ΡΡΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ². ΠΡΡΠΏΠ½Π΅ΠΉΡΠΈΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Ρ ΡΠ°Π½ΡΡ ΡΠΊΡΠ°Π±Π°ΠΉΡΡ Π΄Π°Π½Π½ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΡΠ΄Π΅Ρ Π¦Π ΠΈ ΡΡΡΡΡΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ Π΄Π»Ρ ΠΊΡΡΠ³Π»ΠΎΡΡΡΠΎΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ.
ΠΠ°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΠΏΠΎΡΡΠΈ ΡΠ΅ΠΌΡ Π»Π΅Ρ, ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ: Β«ΠΡΠ΄Π΅Ρ Π»ΠΈ YT ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ?Β» ΠΠΎ Π²ΠΎΡ ΠΎΠ½ΠΎ: YT Π½Π΅ Π±ΡΠ΄Π΅Ρ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π½ΠΎ YTsaurus Π±ΡΠ΄Π΅Ρ!
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π½Π°ΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π°Π·ΡΠ²Π°Π»Π°ΡΡ Β«YTΒ». Π’Π° ΠΆΠ΅ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°ΡΡΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ. ΠΠ· ΡΡΡ Π² ΡΡΡΠ° Π² Π―Π½Π΄Π΅ΠΊΡΠ΅ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° Β«YTΒ» ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π»Π°ΡΡ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ Β«Π’Π°Π±Π»ΠΈΡΠ° Π―Π½Π΄Π΅ΠΊΡΠ°Β», Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π΄ΠΎΡ Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Google Big Table, Π½ΠΎ ΠΌΡ Π½Π΅ ΡΠΌΠΎΠ³Π»ΠΈ Π½Π°ΠΉΡΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ², ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡΠΈΡ ΡΡΡ ΡΠ΅ΠΎΡΠΈΡ. .
ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ Π²ΡΠΏΡΡΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π½Π°ΠΌ Π±ΡΠ»ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π»Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎ Π΄Π²ΡΡ Π±ΡΠΊΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎ Π°ΡΡΠΎΡΠΈΠΈΡΡΠ΅ΡΡΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΡ ΠΎΡΡΠΈΠ½Π³Π°, Π½ΠΎ ΠΈ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡΡΠ°Π²Π»Π΅Π½Ρ Π½Π° ΠΏΡΠΎΠ΄Π°ΠΆΡ.
Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² ΠΌΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ Π½Π° ΠΈΠΌΠ΅Π½ΠΈ YTsaurus. Π£ Π½Π΅Π³ΠΎ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΡΠΎΠ΄Π½Π°Ρ ΠΈ Π·Π½Π°ΠΊΠΎΠΌΠ°Ρ ΠΏΡΠΈΡΡΠ°Π²ΠΊΠ° Β«YTΒ», ΠΈ Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠ½ΠΎΡΠΈΠ»Π°ΡΡ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΊΠ°ΠΊ ΠΊ ΠΆΠΈΠ²ΠΎΠΌΡ ΡΡΡΠ΅ΡΡΠ²Ρ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ Π·Π½Π°Π΅ΠΌ Π΅Π³ΠΎ ΡΠ°ΡΡ!
Π Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ ΠΈ ΡΠ΅ΠΊΡΡΠ°Ρ ΠΌΡ ΡΠ°ΡΡΠΎ ΡΠΎΠΊΡΠ°ΡΠ°Π΅ΠΌ Β«YTsaurusΒ» Π΄ΠΎ Β«YTΒ». Π‘Π°ΠΌΠΈ ΠΏΠΎΠΊΠ° ΠΏΡΠΈΠ²ΡΠΊΠ°Π΅ΠΌ ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡ Π½Π°Π·Π²Π°Π½ΠΈΡ π
ΠΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π³ΠΈΠ±ΠΊΠΎΠΉ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΈ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π΅Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ MapReduce. Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Ρ ΠΎΠΏΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² Π²Π΅ΡΡΠΈΠΈ YTsaurus Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΎΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π΄ΠΎ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ².
Cypress: Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄Π°Π½Π½ΡΡ
Π―Π΄ΡΠΎΠΌ Π»ΡΠ±ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΠΎΠ»ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΆΡΡΠ½Π°Π»ΠΎΠ², ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ, ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ Π½Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ . YTsaurus ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Cypress, ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄Π΅ΡΠ΅Π²Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΠ°ΡΠΊΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: Π΄Π°Π½Π½ΡΠ΅) Π² Π²ΠΈΠ΄Π΅ ΡΠ·Π»ΠΎΠ²
Π ΠΎΡΠ½ΠΎΠ²Π΅ Cypress Π»Π΅ΠΆΠΈΡ ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠΉ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ Π³Π»Π°Π²Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΡΠ°Π½ΡΡΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅ Cypress, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎ ΡΠΎΡΡΠ°Π²Π΅ ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°Π±Π»ΠΈΡ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅. ΠΠ»Π°Π²Π½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΊΠ°ΠΊ ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Hydra, ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡΠ°, ΠΏΠΎΡ ΠΎΠΆΠ΅Π³ΠΎ Π½Π° Raft.
Cypress ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΉ ΡΠ»Π°ΡΡΠΈΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅Ρ Π°ΡΠΏΠ΅ΠΊΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π½ΠΈΠΆΠ΅.
ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΡ MapReduce ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ MapReduce ΡΠΆΠ΅ Π½Π΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π½ΠΎΠ²ΠΎΠΉ ΠΈ Π½Π΅ΠΎΠ±ΡΡΠ½ΠΎΠΉ, Π΅Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π² Π½Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ. ΠΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΅Π³ΠΎ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Ρ ΠΏΠ΅ΡΠ°Π±Π°ΠΉΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , Π³Π΄Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ.
MapReduce Π² YTsaurus ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
- ΠΠΎΠ³Π°ΡΠ°Ρ Π±Π°Π·ΠΎΠ²Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ: ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ MapReduce (Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ°ΠΏΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΡ), Map, Erase, Sort ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΡΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ Β«ΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡΒ» Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ
- ΠΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ: ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°Π·Π±ΠΈΡΡ Π½Π° Π·Π°Π΄Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΡΠ΅Π½ ΡΡΡΡΡ Π·Π°Π΄Π°Π½ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
- ΠΠΈΠ±ΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠ»ΠΎΠ² Ρ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΡΠΌΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎΠΉ Π΄ΠΎΠ»Π΅Π²ΠΎΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΌΠΈ Π±Π΅Π· Π³Π°ΡΠ°Π½ΡΠΈΠΉ
- ΠΠΎΠ΄Π΅Π»Ρ Π²Π΅ΠΊΡΠΎΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ (Π¦Π, ΠΠΠ£, ΠΠ) Π² ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΠΏΠΎΡΡΠΈΡΡ
- ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΠΉ Π½Π° Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ·Π»Π°Ρ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ , ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π¦Π, ΠΠΠ£, ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΠΌ ΠΈΠΌΠ΅Π½ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·Π°ΡΠΈΠΈ Porto
- ΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠΉ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΡ Ρ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ
- ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π΅ΡΡ Ρ ΠΎΠ΄ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ°Π·ΠΎΠ² ΡΠ·Π»ΠΎΠ² ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°
YT ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ MapReduce, Π½ΠΎ ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
Π ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ YT Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Ρ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠΌΠΈ ΡΡΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Β«Π²Π°Π½ΠΈΠ»ΡΠ½ΡΡ Β» ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π»Ρ ΡΡΠ΄Π° Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π°ΡΠ΅ΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π½ΠΈΠΆΠ΅.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ k-v
ΠΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° MapReduce ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΎΠ² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ, Π½ΠΎ ΠΈ Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ ΡΠ°Π½ΡΡΡΡ.
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ YT, ΠΊΠ°ΠΊ ΠΈ Π½Π°Π±ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² HDFS, ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΠΆΠΈΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠΌΠΈ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ MapReduce. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΡ Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Ρ ΠΊ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΌΡ Π½ΠΎΡΠΈΡΠ΅Π»Ρ Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ Π΄ΠΎΡΡΡΠΏ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ Ρ ΠΌΠ°Π»ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ.
Π ΡΡΠ°ΡΡΡΡ, Π² 2014 Π³ΠΎΠ΄Ρ ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ YT. ΠΠ½ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Apache HBase. ΠΠ½ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΡΡΡΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½Π°ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Apache HBase, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΎΡΠ³Π°Π½ΠΈΡΠ½ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Ρ Π² ΠΎΠ±ΡΡΡ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ: ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ·Π»Ρ Cypress ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ , Π³Π΄Π΅ ΠΎΠΆΠΈΠ΄Π°ΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² YT ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ MapReduce ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠ»ΡΡΠ°. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ MapReduce, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ±ΠΎΡΠΊΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ· Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΏΠΎ Π½Π΅ΠΉ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ.
- Π₯ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ MVCC. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΊΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΊΠ»ΡΡΡ ΠΈΠ»ΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠΊΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
- ΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ: Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ°Π·Π±ΠΈΡΡ Π½Π° ΠΏΠ»Π°Π½ΡΠ΅ΡΡ (ΡΠ΅Π³ΠΌΠ΅Π½ΡΡ ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌ ΠΊΠ»ΡΡΠ΅ΠΉ), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ
- Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΎΡΡΡ: Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ OLTP, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ Π² ΡΠ°Π·Π½ΡΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°Ρ ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ
- ΠΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ: ΠΎΡΠΊΠ°Π· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ·Π»Π°, ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΏΠ»Π°Π½ΡΠ΅Ρ, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΏΠ»Π°Π½ΡΠ΅ΡΠ° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ·Π΅Π» Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ Π΄Π°Π½Π½ΡΡ
- ΠΠ·ΠΎΠ»ΡΡΠΈΡ : ΡΠ·Π»Ρ, ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΏΠ»Π°Π½ΡΠ΅ΡΡ, ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Ρ Π² ΠΏΠ°ΠΊΠ΅ΡΡ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ , ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
- ΠΠΎΡΡΡΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΠΠΠ£
- ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ SQL-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠ·ΡΠΊ Π΄Π»Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π·Π°ΠΏΡΠΎΡΠΎΠ²
ΠΠΎΠΌΠΈΠΌΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°Π±Π»ΠΈΡ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° k-v, ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ΠΌΡ ΠΈ ΠΏΠΎΡΠΎΠΊΠΈ. ΠΡΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΡΡΡΠΎΠΊ ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡ Π΅ΠΌΡ. Π ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΡΡΠΎΠΊΠΈ ΠΊΠ°ΠΊ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ k-v, ΡΠ°ΠΊ ΠΈ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠΎΠ²Π΅ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°Π±Π»ΠΈΡ YT Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΎΠΉ ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
YQL
YQL β ΡΡΠΎ ΡΠ·ΡΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ SQL; ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΠΏΡΠΈΠΌΠΈΡΠΈΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎΠ²Π΅ΡΡ YT. YQL Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ YT, ΠΊΠ°ΠΊ Hive ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ Hadoop. ΠΡΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΡΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ SQL, Π° Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ MapReduce Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°:
SELECT
region,
AVG(age) AS avg_age_in_region,
COUNT(DISTINCT ip) AS ips_count
FROM `//home/production/users`
Π‘ΠΠ Π£ΠΠΠΠ ΠΠΠΠ’Π¬ ΠΠ Π ΠΠΠΠΠΠ£
ORDER BY avg_age_in_region;
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΠ°ΡΠΊΠΎ ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π² Π²ΠΈΠ΄Π΅ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ΅Π· YQL Π½Π°ΡΠ° ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° Π±ΡΠ»Π° Π±Ρ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠΉ. ΠΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π±ΠΎΠ»ΡΡΠΈΡ Π½Π°Π±ΠΎΡΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ°ΡΡΠ΅ΡΠΎΠ².
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° YQL Π²ΠΊΠ»ΡΡΠ°ΡΡ:
- ΠΠΎΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π³ΡΠ°ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ MapReduce Ρ ΡΠΎΡΠ½ΡΠΌΠΈ ΡΠ·Π»ΠΎΠ² ΠΈ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ SQL ΠΏΡΡΠ΅ΠΌ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΠΏΠΎΡΠ΅ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ
- ΠΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π»ΡΠ±ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ
- ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΎΠΊΠΎΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π±Π΅Π· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΠΈΡ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈΠ»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ
- ΠΠ±ΡΠΈΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΉ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π° C++, Python ΠΈ JavaScript
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· CatBoost ΠΈ TensorFlow
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°Ρ Π² ΠΎΠ±Ρ ΠΎΠ΄ MapReduce Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ
CHYT
Π‘Π°ΠΌΠΎ ΡΠΎΠ±ΠΎΠΉ ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΌΠΎΠΈΡ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ ΡΠ»ΡΡΠ°Π»ΠΈ ΠΎ ClickHouse. Π 2016 Π³ΠΎΠ΄Ρ ΡΡΠ° Π‘Π£ΠΠ ΡΡΠ°Π»Π° ΠΏΠΈΠΎΠ½Π΅ΡΠΎΠΌ ΡΡΠ΅Π΄ΠΈ ΠΎΡΠΊΡΡΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π―Π½Π΄Π΅ΠΊΡΠ° ΠΈ ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ, ΡΡΠΎ Π² 2021 Π³ΠΎΠ΄Ρ Π±ΡΠ»Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π° Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ClickHouse Inc. ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΉ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ BI. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡΠΈΡΡΠ½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ClickHouse ΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠ΅ΠΉ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π½Π°ΠΌ ΠΏΠΎΡΡΡΠΎΠΈΡΡ CHYT Π² 2018 Π³ΠΎΠ΄Ρ β ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° ClickHouse Ρ YTsaurus Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°.
Π ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ΅ YTsaurus CHYT ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ
- ΠΡΡΡΡΡΠ΅ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΊ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ Π² YT Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΊΡΠ½Π΄Ρ
- ΠΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ YTsaurus Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ ClickHouse
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ) ΡΠ΅ΡΠ΅Π· ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ ODBC ΠΈ JDBC ClickHouse
ΠΡΠΌΠ΅ΡΡ, ΡΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π½Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π» ΠΊΠ°ΠΊ YTsaurus, ΡΠ°ΠΊ ΠΈ ClickHouse, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:
- Support for reading both static and dynamic tables
- Partial support of the YTsaurus transactional model
- Support for distributed inserts
- CPU-efficient conversion of columnar data from the internal YTsaurus format to the in-memory ClickHouse representation
- Aggressive ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠΎΠ΅ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°
ΠΠΎΠ΄ ΡΠ΅ΡΠ²Π΅ΡΠ° ClickHouse Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ Π²Π°Π½ΠΈΠ»ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅ ΠΆΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ MapReduce. Π ΡΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΠΊΠ»Π°ΡΡΠ΅Ρ YTsaurus Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±Π»Π°ΠΊΠΎ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°ΠΌ CHYT Π²Π½ΡΡΡΠΈ.
ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·Π½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² CHYT Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ YT, ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°, ΡΠ΅ΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΎΠ±Π»Π°ΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
SPYT
Π 2019 Π³ΠΎΠ΄Ρ Π―Π½Π΄Π΅ΠΊΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» SPYT, ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅Ρ Apache Spark Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ , Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² YT. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ CHYT, Π²Π°Π½ΠΈΠ»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ YTsaurus ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Spark. Apache Spark ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΡΠΎΡΠΎΠ½Π½Π΅ΠΌΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π΄Π°Π½Π½ΡΡ .
SPYT ΡΠ°ΠΊΠΆΠ΅ Ρ ΠΎΡΠΎΡΠΎ Π·Π°ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΡΠ΅Π±Ρ Π² ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ΅ YTsaurus. ΠΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ETL Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π΅Π³ΠΎ Π±ΠΎΠ³Π°ΡΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΡΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ. ΠΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ Spark ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΌΠΈ.
Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ SDK
Π§Π°ΡΡΠΎ SDK Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ ΠΈΠ»ΠΈ ΠΏΠΈΡΡΡΡΡ ΠΊΠ΅ΠΌ-ΡΠΎ ΠΈΠ· ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ Π΄Π°Π²Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΡΠ°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ Π²ΡΠ΅ API Π½Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ (C++, Python, Java, Go). Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΈ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½Ρ Π²ΡΠ΅ Π½ΡΠ°Π½ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
ΠΠ°ΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ , ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ Π·Π°ΠΏΡΠΎΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π΄Π°Π½Π½ΡΡ , Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠ±ΠΎΠΈ ΡΠ΅ΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΡ ΡΡΠΈΡΡΠ²Π°Π»ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΈΡ , ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈ ΠΏΡΠΎΡΡΡΠΌ.
ΠΠ΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
Π£Π΄ΠΎΠ±Π½ΡΠΉ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΡΡΡΡΡΠ°ΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΌΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ Π½Π΅ ΡΡΠ°Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ², ΡΡΠΎ ΡΠ±Π΅ΡΠ΅Π³Π»ΠΎ Π½Π°Ρ ΠΎΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΠΉ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π΅Π»Π°Π΅ΡΡΡ Π½Π°ΡΠΏΠ΅Ρ ΡΠ½ΡΡΠ·ΠΈΠ°ΡΡΠ°ΠΌΠΈ: Π²Π΅Π΄Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ ΡΡΠΎΡΠΎΠ½Π° Π²Π°ΠΆΠ½Π΅Π΅, ΠΈ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ΄Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π°Π΄ΠΌΠΈΠ½Π°ΠΌΠΈ π
ΠΠΎΡ ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π΅Π»Π°ΡΡ Ρ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ YTsaurus:
- ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ Cypress Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ°Π±Π»ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Cypress ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ²
- ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡ MapReduce Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ
- ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°ΠΌ β YQL, CHYT, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ SQL
- ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ: ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠ°Π²Π°ΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΊΠ²ΠΎΡΠ°ΠΌΠΈ, ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅
ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° C++. ΠΡ Π»ΡΠ±ΠΈΠΌ ΡΡΠΎΡ ΡΠ·ΡΠΊ Π·Π° Π΅Π³ΠΎ Π±ΠΎΠ³Π°ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΠΎΡΠ»Π΅ Π²ΡΠΏΡΡΠΊΠ° YTsaurus Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΌΡ Π½Π°Π΄Π΅Π΅ΠΌΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² C++.
Π‘Π΅ΡΠ²Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° clang ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ CMake.
ΠΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° Go, Python ΠΈ Java. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ API Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ YTsaurus Π½Π° ΡΠ΅ΡΡΡΠ΅Ρ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ Π²ΡΡΠ΅ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°Π·Π° ΠΊΠΎΠ΄Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π°ΠΊΡΡΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ YTsaurus Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΈΠ·Π²Π½Π΅.
YTsaurus ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Linux x86β64.
Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ½ΡΡΡΠΈ Π―Π½Π΄Π΅ΠΊΡΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ 20 ΡΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ YTsaurus. ΠΠ½ΠΈ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ: ΠΎΡ 5 Π΄ΠΎ 20Β 000+ Ρ ΠΎΡΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅. YTsaurus ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Π―Π½Π΄Π΅ΠΊΡΠ°, Π²ΠΊΠ»ΡΡΠ°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°, Π°ΡΠ΄ΠΈΡ, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². ΠΡΠ΅ ΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°ΠΌΠΈ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠΌΠΈ.
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΌΡ Π²Π»ΠΎΠΆΠΈΠ»ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° YTsaurus Π² Kubernetes Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄ΠΎ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Ρ Π΄Π°ΡΠ½ΡΠ°ΠΉΠΌΠΎΠΌ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Π²Π°Ρ ΠΊΠ»Π°ΡΡΠ΅Ρ YTsaurus Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Π² ΠΌΠΈΠ½ΠΈΠΊΡΠ±Π΅, ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌ ΠΎΠ±Π»Π°ΠΊΠ΅ ΠΈΠ»ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Kubernetes.
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ Β«Π½Π° Π»Π΅ΡΡΒ», ΠΈΠ·ΠΌΠ΅Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ·Π»Ρ Π² Π΄Π΅ΡΠ΅Π²Π΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ (Cypress). ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Cypress, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ list, get, set ΠΈ remove, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠ», ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ·Π»Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°.
ΠΡΠΎΠ±ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²: ΠΈΠ·ΠΌΠ΅Π½ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΊΡΡΠ°, ΠΏΠ΅ΡΠΈΠΎΠ΄Ρ ΡΠ°ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΆΡΡΠ½Π°Π»ΠΎΠ² Π½Π° ΡΠ·Π»Π°Ρ .
YTsaurus β ΡΡΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΈ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° YTsaurus ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Porto β ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ Π² Π―Π½Π΄Π΅ΠΊΡΠ΅. ΠΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² ΠΌΡΠ»ΡΡΠΈΡΠ΅Π½Π°Π½ΡΠ½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Porto Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ CRI Kubernetes. ΠΡΠΎ ΠΎΡΠΊΡΠΎΠ΅Ρ Π²Π΅ΡΡ ΡΠΏΠ΅ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ YTsaurus Π΄Π»Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΠ΅Π΄ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ .
Π, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΡΠ°Π±ΠΎΡΠ° Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π±Π΅Π· ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΠΎΡΡΠΈ β Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ. YTsaurus Π²Π΅Π΄Π΅Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΆΡΡΠ½Π°Π»Ρ Π΄Π»Ρ Π°ΡΠ΄ΠΈΡΠ° ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΠΆΡΡΠ½Π°Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎΠΉ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΊΡΠΏΠΎΡΡ ΠΌΠ΅ΡΡΠΈΠΊ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Prometheus ΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ Jaeger gRPC.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π² Π―Π½Π΄Π΅ΠΊΡΠ΅.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΈ ΡΠΈΠΏΠΈΡΠ½ΡΡ ΡΠ»ΡΡΠ°Π΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ YTsaurus ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ DWH. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΊΠ°Π·Ρ ΠΎΡ Π―Π½Π΄Π΅ΠΊΡ Π’Π°ΠΊΡΠΈ, Π―Π½Π΄Π΅ΠΊΡ ΠΠ΄Π°, Π―Π½Π΄Π΅ΠΊΡ ΠΠ°ΡΡΡΠΎΠ½ΠΎΠΌ ΠΈ Π―Π½Π΄Π΅ΠΊΡ ΠΠΎΡΡΠ°Π²ΠΊΠ° ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ YTsaurus Π² Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ. ΠΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΡΠΎΡΠ΅Π½ ΡΠ΅ΡΠ°Π±Π°ΠΉΡ Π² ΠΌΠ΅ΡΡΡ.
ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΊΠ°Π·Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΠΈΡΡΠΈΠ½ Π΄Π°Π½Π½ΡΡ Π³ΠΎΡΠΎΠ²ΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ YQL ΠΈ SPYT. ΠΠ±ΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ 6 ΠΠ. CHYT ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°, Π° Π² Yandex DataLens ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π―Π½Π΄Π΅ΠΊΡΠ°, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π―Π½Π΄Π΅ΠΊΡ ΠΠ°ΡΠΊΠ΅Ρ, Π―Π½Π΄Π΅ΠΊΡ ΠΡΠ·ΡΠΊΠ° ΠΈ Π―Π½Π΄Π΅ΠΊΡ ΠΡΡΠ΅ΡΠ΅ΡΡΠ²ΠΈΡ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ΅ ΡΡΠΈ ΡΡΠΏΠ΅ΡΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Π―Π½Π΄Π΅ΠΊΡΠ° ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ YTsaurus. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ·Π»Ρ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΊ YT ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ Π΄Π΅ΡΠ΅Π²ΡΡΠΌ ΠΏΡΠ»ΠΎΠ². ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, Ρ ΡΠ°Π½ΡΡΠΈΠ΅ΡΡ Π² YTsaurus.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π² YTsaurus Ρ ΡΠ°Π½ΡΡ ΠΏΠ΅ΡΠ°Π±Π°ΠΉΡΡ Π΄Π°Π½Π½ΡΡ , ΠΈ Π½Π° ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΡΡΠΏΠ½Π΅ΠΉΡΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠΎΠ² β ΡΠ΅ΠΊΠ»Π°ΠΌΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π―Π½Π΄Π΅ΠΊΡΠ°. ΠΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ HighLoad++ 2022 ΠΌΠΎΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ ΡΠ°ΡΡΠΊΠ°Π·Π°Π»ΠΈ ΠΎ ΡΠ²ΠΎΠ΅ΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ ΠΊ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Π±Π°Π·Π΅ YTsaurus.
YTsaurus β Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Ρ Π±ΠΎΠ³Π°ΡΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ. ΠΡΠΈΠ³Π»Π°ΡΠ°Π΅ΠΌ Π²ΡΠ΅Ρ Π»ΡΠ±ΠΎΠ·Π½Π°ΡΠ΅Π»ΡΠ½ΡΡ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° YTsaurus ΠΈ Π½Π°ΠΉΡΠΈ Π΄Π»Ρ ΡΠ΅Π±Ρ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΠΎΡΠ΅Π½ΠΈΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π² ΠΊΠΎΠ΄Π΅, ΠΈΠ»ΠΈ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ YTsaurus ΠΈ ΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π΅Π΅ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅.
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΌΠΎΡΡ Π½Π°ΠΌ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ. ΠΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΎΡΠ·ΡΠ²ΠΎΠΌ Π² Telegram-ΡΠ°ΡΠ΅, Π° Π΅ΡΠ΅ Π»ΡΡΡΠ΅ β ΠΏΡΠΈΡΡΠ»Π°ΠΉΡΠ΅ ΠΏΡΠ»Π»-ΡΠ΅ΠΊΠ²Π΅ΡΡΡ.
yandex-s3 Β· PyPI
SDK, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ Ρ Asyncio, Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π―Π½Π΄Π΅ΠΊΡΠ°, Π²Π΄ΠΎΡ Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ aioaws.
ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ boto, boto3 ΠΈΠ»ΠΈ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ°Π·Π΄ΡΡΡΡ , Π½Π΅ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΡ ΠΈ Π·Π°ΠΏΡΡΠ°Π½Π½ΡΡ AWS SDK. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ Ρ Π½ΡΠ»Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΈΡΡΡΠΉ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ AWS, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Ρ ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ:
- S3 — ΡΠΏΠΈΡΠΎΠΊ, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΡ URL-Π°Π΄ΡΠ΅ΡΠΎΠ² Π·Π°Π³ΡΡΠ·ΠΊΠΈ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΡ URL-Π°Π΄ΡΠ΅ΡΠΎΠ² Π·Π°Π³ΡΡΠ·ΠΊΠΈ
- ΠΠΎΠ΄ΠΏΠΈΡΡ AWS Π²Π΅ΡΡΠΈΠΈ 4
Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π΄Π»Ρ Π»ΡΠ±ΠΎΠΉ ΡΠ»ΡΠΆΠ±Ρ AWS (ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ ΠΌΠ½Π΅ ΡΠΈΡΡΠ°Ρ ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ AWS4 Π² python, ΡΠΌ.
core.py
)
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ yandex-s3 , ΡΡΠΎ:
- aiofiles — Π΄Π»Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
- ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡ — Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ SNS
- httpx — Π΄Π»Ρ HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ²
- pydantic β Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΎΡΠ²Π΅ΡΠΎΠ²
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ
pip ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ yandex-s3
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ S3
ΠΈΠΌΠΏΠΎΡΡ asyncio
# ΡΡΠ΅Π±ΡΠ΅ΡΡΡ `pip install yandex-s3`
ΠΈΠ· s3 ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ S3Client
# ΡΡΠ΅Π±ΡΠ΅ΡΡΡ `pip install devtools`
ΠΈΠ· devtools ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ
Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½Π°Ρ Π·Π°ΡΠΈΡΠ° s3_demo():
s3 = S3ΠΠ»ΠΈΠ΅Π½Ρ(
access_key='<ΠΊΠ»ΡΡ Π΄ΠΎΡΡΡΠΏΠ°>',
secret_key='<ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ>',
ΡΠ΅Π³ΠΈΠΎΠ½='<ΡΠ΅Π³ΠΈΠΎΠ½>',
s3_bucket = 'ΡΠ΅ΡΡΠΎΠ²ΠΎΠ΅ Π²Π΅Π΄ΡΠΎ'
)
# Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ»:
await s3. upload('ΠΊΠ°ΡΠ°Π»ΠΎΠ³/ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³/dummy.txt', b'ΠΏΡΡΡΡΡΠΊΠ°')
# ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² Π²Π΅Π΄ΡΠ΅
files = [f async Π΄Π»Ρ f Π² s3.list()]
ΠΎΡΠ»Π°Π΄ΠΊΠ° (ΡΠ°ΠΉΠ»Ρ)
"""
[
S3Π€Π°ΠΉΠ»(
key='dir/subdir/dummy.txt',
last_modified=datetime.datetime(...),
ΡΠ°Π·ΠΌΠ΅Ρ=5,
e_tag='...',
storage_class = 'Π‘Π’ΠΠΠΠΠ Π’',
),
] (ΡΠΏΠΈΡΠΎΠΊ) len=1
"""
# ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅
files = [f async Π΄Π»Ρ f Π² s3.list('dir/subdir/')]
ΠΎΡΠ»Π°Π΄ΠΊΠ° (ΡΠ°ΠΉΠ»Ρ)
# # ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ»
# ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ s3.delete('dir/subdir/dummy.txt')
# # ΡΠ΄Π°Π»ΠΈΡΡ Π΄Π²Π° ΡΠ°ΠΉΠ»Π°
# await s3.delete('dir/subdir/file1.txt', 'dir/subdir/file2.txt')
# ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠ΅ΡΠΈΠΊΡΠ°
ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ s3.delete_recursive('ΠΊΠ°ΡΠ°Π»ΠΎΠ³/ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³')
# ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ»ΠΊΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΡ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π² Π±ΡΠ°ΡΠ·Π΅Ρ, ΡΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ
# Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π°Ρ ΠΏΡΡΠΌΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² (ΡΠΌ. Π½ΠΈΠΆΠ΅)
upload_data = s3.signed_upload_url(
ΠΏΡΡΡ='ΠΊΠ°ΡΠ°Π»ΠΎΠ³/ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³',
ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° = 'ΠΏΡΡΡΡΡΠΊΠ°.
ΠΠ°Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΌ