ΠΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅ Π² Π‘Π°Π½ΠΊΡ ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³ Π½Π° 11-12 ΡΠ»ΠΈ , ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. Π£Π½ΠΈΠΊΠ°Π»Π½ΠΎΡΡΡΠ° Π½Π° Π₯ΠΈΠ΄ΡΠ° Π΅, ΡΠ΅ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π° ΡΡΡΠ°Ρ ΠΎΡΠ½ΠΈ ΡΡΠ΅Π½ΠΈ (ΠΊΠΎΠΈΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ ΡΠ°ΠΌΠΎ Π½Π° ΡΡΠΆΠ΄Π΅ΡΡΡΠ°Π½Π½ΠΈ Π½Π°ΡΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ) ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΡΠ²Π°ΡΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈ Π² Π΅Π΄Π½Π° Π³ΠΎΠ»ΡΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π½Π° ΠΊΡΡΡΡΠΎΠΏΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°ΡΠΊΠ°ΡΠ° ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ°.
Π₯ΠΈΠ΄ΡΠ° Π΅ Π΅Π΄Π½Π° ΠΎΡ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΈΡΠ΅ Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΏΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. ΠΠ° Π½Π΅Ρ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠΈΠΎΠ·Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°, ΠΏΠΎΠ΄Π±ΠΎΡ Π½Π° Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅Π»ΠΈ ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ. ΠΠΈΠ½Π°Π»Π°ΡΠ° ΡΠ΅Π΄ΠΌΠΈΡΠ° ΠΏΠΎ ΡΠΎΠ·ΠΈ Π²ΡΠΏΡΠΎΡ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° JUG.ru Group, ΠΠ»Π΅ΠΊΡΠ΅ΠΉ Π€ΡΠΎΠ΄ΠΎΡΠΎΠ² ().
ΠΠΈΠ΅ Π·Π° ΡΡΠΈΠΌΠ° Π²Π°ΠΆΠ½ΠΈ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ, ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΈΡΠΈΡΠ΅ Π½Π° ΡΠ΅ΠΎΡΠΈΡΡΠ° Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ β ΠΠ΅ΡΠ»ΠΈ ΠΠ°ΠΌΠΏΠΎΡΡΠ΅, ΠΠΎΡΠΈΡ Π₯Π΅ΡΠ»ΠΈΡ ΠΈ ΠΈ ΠΠ°ΠΉΠΊΡΠ» Π‘ΠΊΠΎΡ. ΠΡΠ΅ΠΌΠ΅ Π΅ Π΄Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π·Π° ΡΡΠ»Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°!

ΠΠΎΡΠΈΠ²Π°ΡΠΈΡ
ΠΠΊΠΎ ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΡΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, Π²ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎ Π΄ΡΡΠ³ Π½Π°ΡΠΈΠ½ ΠΈΠΌΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈΡΠ΅ Π² ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ°Π±ΠΎΡΡΡ Ρ ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ, Π½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎΡΡΡΠ° Π½ΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π²Π° ΠΎΡ Π²ΡΡΠΊΡΠ΄Π΅: Π²ΡΡΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄ΡΠ΅Π½ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΡΠ½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ»ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡΠ»ΡΠ³Π° ΡΡΠ΄ΡΡΠΆΠ° Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ½ΠΎΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅. ΠΡ Π΄ΡΡΠ³Π°ΡΠ° ΡΡΡΠ°Π½Π° Π½Π° ΡΠΏΠ΅ΠΊΡΡΡΠ° ΠΈΠΌΠ°ΠΌΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π½Π°ΡΡΠ½ΠΈ ΡΠΊΠΎΠ»ΠΈ, ΠΊΠΎΠΈΡΠΎ Π² Π»Π΅ΠΊΡΠΈΠΎΠ½Π΅Π½ ΡΠΎΡΠΌΠ°Ρ ΡΠ°Π·ΠΊΡΠΈΠ²Π°Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΈ ΠΎΠ±Π΅ΠΌΠΈ ΡΠ»ΠΎΠΆΠ½Π° ΡΠ΅ΠΎΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ Ρ Π₯ΠΈΠ΄ΡΠ° Π² ΠΠΈΡΡΡ ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π° . ΠΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° Π₯ΠΈΠ΄ΡΠ° ΡΠ΅ ΠΎΠΏΠΈΡΠ°Ρ ΠΌΠ΅ Π΄Π° ΡΡΠ±Π΅ΡΠ΅ΠΌ Π·Π°Π΅Π΄Π½ΠΎ ΡΡΡΠΎΠ³Π°ΡΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, Π½Π°ΡΠΊΠ°ΡΠ° ΠΈ Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π½Π° ΡΠ΅Ρ Π½ΠΈΡ ΠΊΡΡΡΡΠΎΠΏΡΡ.
ΠΠΎΠΌΠΈΡΠ»Π΅ΡΠ΅ Π·Π° ΡΠΎΠ²Π°: ΠΆΠΈΠ²Π΅Π΅ΠΌ Π² ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π° ΠΆΠΈΠ²ΠΎ Π΄Π° ΡΡΠ΅ΡΠ½Π΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° Π½Π°ΡΠΊΠ°ΡΠ° ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡΡΠ²ΠΎΡΠΎ, Ρ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌΠ΅. Π€ΠΈΠ·ΠΈΡΠΈΡΠ΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΠ΅ΡΠ½Π°Ρ Ρ ΠΡΡΠΎΠ½ ΠΈΠ»ΠΈ ΠΠΉΠ½ΡΠ°ΠΉΠ½ β Π²Π»Π°ΠΊΡΡ Π΅ ΡΡΡΠ³Π½Π°Π». ΠΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ Ρ ΠΎΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΡΠ·Π΄Π°Π΄ΠΎΡ Π° ΠΎΡΠ½ΠΎΠ²ΠΈΡΠ΅ Π½Π° ΡΠ΅ΠΎΡΠΈΡΡΠ° Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΈΠ·ΠΌΠΈΡΠ»ΠΈΡ Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ Π΅Π·ΠΈΡΠΈ ΠΈ ΠΏΡΡΠ²ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ Π° Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π² ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈ. Π’Π΅Π·ΠΈ Ρ ΠΎΡΠ° Π½Π΅ ΡΠ° ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΈ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°, Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ ΠΏΠΎ Π°ΠΊΡΡΠ°Π»Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ Π² ΡΠ²Π΅ΡΠΎΠ²Π½ΠΎΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΡΠ° Π½Π°ΠΉ-Π²Π΅Π»ΠΈΠΊΠΈΡΠ΅ ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈ Π½Π° Π·Π½Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΠΈΡ Π² Π΄Π½Π΅ΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅.
ΠΡ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ ΡΡΠ΅ΡΠ½Π΅ΠΌ Ρ ΡΡΡ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΎΡΡΠ°Π²Π° ΡΠΈΡΡΠΎ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½Π°: ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ Π½Π°Ρ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ»Π΅Π΄ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΡΠ±ΠΈΡΠΈΡ Π² Π½ΡΠΊΠΎΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ Π² Π ΠΎΡΠ΅ΡΡΡΡ, Π·Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° ΡΠ΅ ΠΌΠ΅ΡΠ½Π°Ρ Π² Π‘ΠΠ© ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° Π»Π΅ΠΊΡΠΈΡ ΠΏΡΠΈ ΠΠ°ΠΉΠΊΡΠ» Π‘ΠΊΠΎΡ. ΠΠΎΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ Π² Hydra Π±ΠΈ ΡΡΡΡΠ²Π°Π»ΠΎ ΡΡΠ»ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, Π΄Π° Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° Π±Π΅Π·Π΄Π½Π°ΡΠ° Π½Π° Π·Π°Π³ΡΠ±Π΅Π½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ (Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΠΎΠ²Π° Π·Π²ΡΡΠΈ ΠΊΠ°ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΠΊΠ²Π΅ΡΡ).
ΠΡ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΎΠΏ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΡΡ ΠΏΠΎ Π°ΠΊΡΡΠ°Π»Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΡΠ΅ ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈΠΌΠ°Ρ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΡ. ΠΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅ β ΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ, ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΈΠΌ Π΅ ΡΠΊΡΠΏΠΎ. ΠΠ°, Π°ΠΊΠΎ ΡΠΈ ΡΠ»ΡΠΆΠΈΡΠ΅Π» Π½Π° Microsoft, Google ΠΈΠ»ΠΈ JetBrains, Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΡΠ΅ΡΠ½Π΅Ρ Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅Π»ΠΈ Π½Π° Π²ΡΡΡΠ΅ΡΠ½ΠΎ ΡΡΠ±ΠΈΡΠΈΠ΅ β ΡΡΠ·ΠΊΠΎ ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°, Π° ΠΈΠ½Π°ΡΠ΅ β Π½Π΅ ΡΡΠ°Π²Π° Π²ΡΠ΅ΠΊΠΈ Π΄Π΅Π½.
ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° Hydra ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π²Π°ΠΆΠ½Π° Π·Π°Π΄Π°ΡΠ°, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΡ Π½Π°Ρ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΡΡ ΡΠ°ΠΌΠΈ β Π½Π° Π΅Π΄Π½ΠΎ ΠΌΡΡΡΠΎ ΠΈ Π² Π΅Π΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π° Ρ ΠΎΡΠ°, ΠΈΠ΄Π΅ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΈΡΠΎ ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΠ²Π°Π½Π΅ΡΠΎ Ρ ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΡΡ ΠΆΠΈΠ²ΠΎΡΠ° Π²ΠΈ. ΠΠΎΠΏΡΡΠΊΠ°ΠΌ, ΡΠ΅ ΡΡΠ²ΡΠ΅ΠΌ Π½Π΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΌΡ ΡΡΡΠ±Π²Π°Ρ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π½ΡΠΊΠ°ΠΊΠ²ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ Π½Π΅ΡΠ°. ΠΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Ρ CRUD ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° PHP Π΄ΠΎ ΠΊΡΠ°Ρ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ° ΡΠΈ ΠΈ Π΄Π° ΠΎΡΡΠ°Π½Π΅Ρ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ°ΡΡΠ»ΠΈΠ². ΠΠΎ Π·Π° ΡΠ΅Π·ΠΈ, Π½Π° ΠΊΠΎΠΈΡΠΎ ΠΈΠΌ ΡΡΡΠ±Π²Π°Ρ β ΡΠΎΠ²Π° Π΅ Π²Π°ΡΠΈΡΡ ΡΠ°Π½Ρ.
ΠΡ ΠΏΡΡΠ²ΠΈΡ Π°Π½ΠΎΠ½Ρ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° Hydra Π½Π° Π₯Π°Π±Ρ ΠΏΡΠ΅ΠΌΠΈΠ½Π° Π΄ΠΎΡΡΠ° Π²ΡΠ΅ΠΌΠ΅. ΠΡΠ΅Π· ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½Π° ΠΎΠ³ΡΠΎΠΌΠ½Π° ΡΠ°Π±ΠΎΡΠ° β ΠΈ Π΅ΡΠΎ, ΠΈΠΌΠ°ΠΌΠ΅ ΡΠΏΠΈΡΡΠΊ ΠΏΠΎΡΡΠΈ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ. ΠΠΈΠΊΠ°ΠΊΠ²ΠΈ ΡΠ»Π°Π±ΠΈ ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ, ΡΠ°ΠΌΠΎ ΡΠΈΡΡ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Ρ Π°ΡΠ΄ΠΊΠΎΡ! ΠΠ΅ΠΊΠ° Π΄Π° ΠΏΡΠΈΠΊΠ»ΡΡΠΈΠΌ Ρ ΠΎΠ±ΡΠΈΡΠ΅ Π΄ΡΠΌΠΈ ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ΅Π³Π°.
ΠΠ΅ΠΉΠ½ΠΎΡΡΠΈΡΠ΅
ΠΠ΅ΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π°ΠΏΠΎΡΠ²Π°Ρ ΠΈ Π·Π°Π²ΡΡΡΠ²Π°Ρ Π΄Π½ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ°. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠΌΠΈΡΡΠ»ΡΡ Π½Π° ΠΎΡΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΊΠ΅ΠΉΠ½ΠΎΡΡ Π΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ ΠΎΠ±ΡΠΈΡ Π΄ΡΡ ΠΈ ΠΏΠΎΡΠΎΠΊΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ°. ΠΠ°ΠΊΡΠΈΠ²Π°ΡΠΈΡΡ ΠΊΠ΅ΠΉΠ½ΠΎΡΡ ΠΏΠΎΠ΄Π²Π΅ΠΆΠ΄Π° ΡΠ΅ΡΡΠ°ΡΠ° ΠΈ ΠΎΠ±ΡΡΠ½ΡΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΠΆΠΈΠ²Π΅Π΅ΠΌ Ρ ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΡΠΈΡΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° Π·Π½Π°Π½ΠΈΡ ΠΈ ΡΠΌΠ΅Π½ΠΈΡ. ΠΠ°ΡΠ°Π»ΠΎ ΠΈ ΠΊΡΠ°ΠΉ: ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠ΅ Π·Π°ΠΏΠΎΠΌΠ½ΠΈ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠ΅, ΠΈ ΠΈΠ·ΠΎΠ±ΡΠΎ ΠΈΠΌΠ° ΠΏΠΎΠ²ΠΈΡΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Cliff Click β
ΠΠ»ΠΈΡ Π΅ Π»Π΅Π³Π΅Π½Π΄Π° Π² ΡΠ²Π΅ΡΠ° Π½Π° Java. Π ΠΊΡΠ°Ρ Π½Π° 90-ΡΠ΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π·Π° Π΄ΠΎΠΊΡΠΎΡΡΠΊΠ°ΡΠ° ΡΠΈ Π΄ΠΈΡΠ΅ΡΡΠ°ΡΠΈΡ ΡΠΎΠΉ Π½Π°ΠΏΠΈΡΠ° ΡΠ°Π±ΠΎΡΠ° ΡΡΡ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ , ΠΊΠΎΠΉΡΠΎ ΡΠ»Π΅Π΄ Π²ΡΠ΅ΠΌΠ΅ ΡΡΠ°Π½Π° ΠΎΡΠ½ΠΎΠ²Π° Π·Π° HotSpot JVM Server Compiler. ΠΠ²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ ΡΠΎΠΉ Π²Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ Π² Sun Microsystems Π½Π°Π΄ JVM ΠΈ ΠΏΠΎΠΊΠ°Π·Π° Π½Π° ΡΠ΅Π»ΠΈΡ ΡΠ²ΡΡ, ΡΠ΅ JIT ΠΈΠΌΠ° ΡΡΠ°ΡΡΡ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅. Π¦ΡΠ»Π°ΡΠ° ΡΠ°Π·ΠΈ ΠΈΡΡΠΎΡΠΈΡ Π·Π° Java β Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-Π±ΡΡΠ·ΠΈΡΠ΅ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΡΠ°Π½ΡΠ°ΠΉΠΌΠΎΠ²Π΅ Ρ Π½Π°ΠΉ-ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ½ΠΈΡΠ΅ ΠΈ Π±ΡΡΠ·ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π΄ΠΎΠΉΠ΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡ ΠΠ»ΠΈΡΡ ΠΠ»ΠΈΠΊ. Π ΡΠ°ΠΌΠΎΡΠΎ Π½Π°ΡΠ°Π»ΠΎ ΡΠ΅ ΡΠΌΡΡΠ°ΡΠ΅, ΡΠ΅ Π°ΠΊΠΎ Π½Π΅ΡΠΎ Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π½Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ β ΠΈΠ·ΠΎΠ±ΡΠΎ Π½Π΅ ΡΠΈ ΡΡΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°Ρ Π΄Π° Π΄ΠΆΠΈΡΠΈΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Π½Π° ΠΠ»ΠΈΡΡ ΠΈ Π΅ΠΊΠΈΠΏΠ°, Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ²ΠΈ Π΅Π·ΠΈΡΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ
Π° Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Ρ ΠΈΠ΄Π΅ΡΡΠ° Π·Π° JIT-ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΠ΅ΡΡΠΌΠ½Π΅Π½ΠΎ, ΡΠΎΠ²Π° Π½Π΅ Π±Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ° Π½Π° Π΅Π΄ΠΈΠ½ ΡΠΎΠ²Π΅ΠΊ, Π½ΠΎ ΠΠ»ΠΈΡΡ ΠΈΠ·ΠΈΠ³ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½Π° ΡΠΎΠ»Ρ Π² Π½Π΅Ρ.
Π ΠΎΡΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΊΠ΅ΠΉΠ½ΠΎΡΡ ΠΠ»ΠΈΡΡ ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ Π·Π° Π΄ΡΡΠ³ΠΎΡΠΎ ΡΠΈ Π½Π°ΡΠΈΠ½Π°Π½ΠΈΠ΅ β , in-memory ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΈΠ½Π΄ΡΡΡΡΠΈΠ°Π»Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎ-ΡΠΎΡΠ½ΠΎ β Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΎΡ Π΄Π²ΠΎΠΉΠΊΠΈ βΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡβ Π² Π½Π΅Π³ΠΎ. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ·ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° (ΡΠΎΡΠ΅Π½ ΡΠΏΠΈΡΡΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π² ), ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ°ΡΠ° Π½Π° ΡΡΡΠΈΠΉΠΌΠΈΠ½Π³Π° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ.
ΠΡΠ΅ Π΅Π΄Π½Π° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ, Ρ ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΡΠ°ΡΡΠ²Π° ΠΠ»ΠΈΡΡ β . ΠΡΡΠ³Π° ΡΠ°ΡΡ ΠΎΡ Π±ΠΈΠΎΠ³ΡΠ°ΡΠΈΡΡΠ° ΠΌΡ β Π΄Π΅ΡΠ΅Ρ Π³ΠΎΠ΄ΠΈΠ½ΠΈ , ΠΊΡΠ΄Π΅ΡΠΎ ΡΠΎΠΉ ΠΎΠ±Π½ΠΎΠ²ΠΈ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΡΠ° Π² Ρ Π°ΡΠ΄ΡΠ΅ΡΠ° ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΠΈΡ ΡΡΠ΅ΠΊ Π½Π° Azul: JIT-ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈ, ΡΠ°Π½ΡΠ°ΠΉΠΌ, ΠΌΠΎΠ΄Π΅Π» Π½Π° Π½ΠΈΡΠΊΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, ΡΠ°Π±ΠΎΡΠ° Ρ ΡΡΠ΅ΠΊΠ°, Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ, Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΠΈ ΡΠ°ΠΊΠ° Π½Π°ΡΠ°ΡΡΠΊ β Π΄ΠΎΠ±ΡΠ΅, ΡΠ°Π·Π±ΡΠ°Ρ ΡΠ΅.
ΠΠ°ΠΉ-ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°ΡΠ° ΡΠ°ΡΡ Π·Π°ΠΏΠΎΡΠ½Π°, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ Π° Ρ Π°ΡΠ΄ΡΠ΅Ρ Π·Π° Π³ΠΎΠ»ΡΠΌ Π±ΠΈΠ·Π½Π΅Ρ β ΡΡΠΏΠ΅ΡΠΊΠΎΠΌΠΏΡΡΡΡ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Java. Π’ΠΎΠ²Π° Π±Π΅ΡΠ΅ Π΄ΠΎΡΡΠ° ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠ²Π½ΠΎ Π½Π΅ΡΠΎ, ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ΠΎ Π·Π° Java, ΠΊΠΎΡΡΠΎ ΠΈΠΌΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ β Π±Π°ΡΠΈΠ΅ΡΠΈ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π΅ Π·Π° Π½ΠΈΡΠΊΠΎΠΏΠ°ΡΠ·Π½Π° ΡΠ±ΠΎΡΠΊΠ° Π½Π° Π±ΠΎΠΊΠ»ΡΠΊΠ°, ΠΌΠ°ΡΠΈΠ²ΠΈ Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅, Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡβ¦ ΠΠ΄Π½Π° ΠΎΡ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ β Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½Π° ΠΏΠ°ΠΌΠ΅Ρ. Π¦ΡΠ»ΠΎΡΠΎ L1 Π½Π° Π²ΡΡΠΊΠΎ ΠΎΡ 864 ΡΠ΄ΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ°ΡΡΠ²Π° Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π΅Π½ Π·Π°ΠΏΠΈΡ, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π² Java (synchronized Π±Π»ΠΎΠΊΠΎΠ²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ, Π΄ΠΎΠΊΠ°ΡΠΎ Π½ΡΠΌΠ° ΡΠ΅Π°Π»Π΅Π½ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°). ΠΠΎ ΠΊΡΠ°ΡΠΈΠ²Π°ΡΠ° ΠΈΠ΄Π΅Ρ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ° Ρ ΡΡΡΠΎΠ²Π°ΡΠ° ΡΠ΅Π°Π»Π½ΠΎΡΡ β ΠΈ Π² ΡΠ°Π·ΠΈ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ ΠΠ»ΠΈΡΡ ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ Π·Π°ΡΠΎ HTM ΠΈ STM Π½Π΅ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ Π·Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π½ΡΠΆΠ΄ΠΈ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΈΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ.
ΠΠ°ΠΉΠΊΡΠ» Π‘ΠΊΠΎΡ β
β ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΠΏΠΎ ΠΠΎΠΌΠΏΡΡΡΡΠ½ΠΈ Π½Π°ΡΠΊΠΈ Π² Π ΠΎΡΠ΅ΡΡΡΡΡΠΊΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ, Ρ ΠΊΠΎΠΉΡΠΎ ΡΡΠ΄Π±Π°ΡΠ° Π³ΠΎ ΡΠ²ΡΡΠ·Π²Π° , Π° Π² ΡΠΎΠ΄Π½ΠΈΡ ΡΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ Π£ΠΈΡΠΊΠΎΠ½ΡΠΈΠ½βΠΠ°Π΄ΠΈΡΡΠ½, ΡΠΎΠΉ Π΅ Π±ΠΈΠ» Π΄Π΅ΠΊΠ°Π½ Π·Π° ΠΏΠ΅Ρ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. Π’ΠΎΠΉ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½ΠΈΡ Π² ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΠΎ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π° Π΅Π·ΠΈΡΠΈ ΠΈ ΠΎΠ±ΡΡΠ°Π²Π° ΡΡΡΠ΄Π΅Π½ΡΠΈ Π² ΡΠΎΠ²Π°.
Π¦Π΅Π»ΠΈΡΡ ΡΠ²ΡΡ ΠΏΠΎΠ·Π½Π°Π²Π° ΠΠ°ΠΉΠΊΡΠ» Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ΅Π±Π½ΠΈΠΊΠ° , ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΉΡΠΎ ΠΈΠ·Π»Π΅Π·Π΅ ΡΡΠ²ΡΠ΅ΠΌ Π½Π°ΡΠΊΠΎΡΠΎ β ΠΏΡΠ΅Π· 2015 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠΠ΅Π³ΠΎΠ²Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° ΠΏ ΠΏΠΎΠ»ΡΡΠΈ ΠΊΠ°ΡΠΎ Π΅Π΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈΡΠ΅ Π² ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ Π² ΠΎΠ½Π»Π°ΠΉΠ½ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π½Π° Π ΠΎΡΠ΅ΡΡΡΡΡΠΊΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ. ΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ Π΄Π° Π³ΠΎ ΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅ ΠΊΠ°ΡΠΎ Π°Π²ΡΠΎΡΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΠΠ°ΠΉΠΊΡΠ» Π‘ΠΊΠΎΡ ΠΎΡ .
Π©ΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ ΡΠ²Π΅ΡΠ° Π½Π° Java, ΡΡΠΊ ΡΠ»ΡΡΠ°ΡΡ Π΅ ΠΎΡΠΎΠ±Π΅Π½: Π·Π°Π΅Π΄Π½ΠΎ Ρ ΠΡΠ³ ΠΡ ΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈ ΠΎΠ½Π΅Π·ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΈ ΠΎΠΏΠ°ΡΠΊΠΈ, Π²ΡΡΡ
Ρ ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ Π½Π° Java. ΠΠΌΠ΅Π½Π½ΠΎ Π·Π° ΡΠΎΠ²Π° ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈ Π² ΠΊΠ΅ΠΉΠ½ΠΎΡΡΠ° Β«ΠΠ²ΠΎΠΉΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈΒ» β Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π·ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ Π² Java SE 6 ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π΅ΡΠ΅ΡΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° java.util.concurrent.ThreadPoolExecutor. ΠΠΊΠΎ Π²Π΅ΡΠ΅ ΡΡΠ΅ Π»ΡΠ±ΠΎΠΏΠΈΡΠ½ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°Ρ ΡΠ΅Π·ΠΈ Β«ΠΠ²ΠΎΠΉΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈΒ», Π·Π° ΡΠΎΠ²Π° ΠΈΠΌΠ° .
ΠΠΎΡΠΈΡ Π₯Π΅ΡΠ»ΠΈΡ ΠΈ β
β Π½ΠΎΡΠΈΡΠ΅Π» Π½Π° ΡΠ΅Π»ΠΈ Π΄Π²Π΅ Π½Π°Π³ΡΠ°Π΄ΠΈ ΠΠ΅ΠΉΠΊΡΡΡΠ°. ΠΡΡΠ²Π°ΡΠ° β Π·Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ (Π£Π½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ ΠΡΠ°ΡΠ½), ΠΈ Π²ΡΠΎΡΠ°ΡΠ°, ΠΏΠΎ-Π½ΠΎΠ²Π° β (Π£Π½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ ΠΠΈΡΠ΄ΠΆΠΈΠ½ΠΈΡ Π’Π΅ΠΊ). ΠΠ°Π³ΡΠ°Π΄Π°ΡΠ° ΠΠ΅ΠΉΠΊΡΡΡΠ° ΡΠ΅ Π΄Π°Π²Π° Π·Π° ΡΠ°Π±ΠΎΡΠΈ, Π·Π½Π°ΡΠΈΠΌΠΎΡΡΡΠ° ΠΈ Π²Π»ΠΈΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΈΡΠΎ ΡΠ° Π±ΠΈΠ»ΠΈ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΈ Π² ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ½Π΅ Π΄Π΅ΡΠ΅Ρ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, ΠΈ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΠΎΡΠΈΡ β Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈ Π² ΠΎΠ±Π»Π°ΡΡΡΠ°. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π² Π£Π½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° Π½Π° ΠΡΠ°ΡΠ½ ΠΈ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ, Π²ΠΎΠ΄Π΅ΡΠΈ Π΄ΠΎ ΡΡΠ» Π°Π±Π·Π°Ρ.
Π ΡΠΎΠ·ΠΈ Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π΅Π½ ΠΊΠ΅ΠΉΠ½ΠΎΡΡ ΠΠΎΡΠΈΡ ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ Π·Π° ΡΠ΅ΠΎΡΠΈΡΡΠ° ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ° Π½Π° Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ²Π° ΠΎΠΏΡΠΎΡΡΡΠ²Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΈΠ·ΡΡΠ»ΠΎ ΠΏΠΎ ΡΠ΅ΠΌΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° β ΡΡΠ²ΡΠ΅ΠΌ Π½Π΅ Π·Π° ΠΌΠ°ΠΉΠ½ΠΈΠ½Π³ Ρ ΠΈΠΏΠ°, Π° ΠΏΠΎ-ΡΠΊΠΎΡΠΎ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Π½Π°ΡΠΈΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΡΠΌΠΈΡΠ΅Π»Π½ΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ.
ΠΡΠ΅Π· ΡΠ»ΠΈ 2017 Π³. ΠΠΎΡΠΈΡ Π²Π΅ΡΠ΅ Π±Π΅ΡΠ΅ ΠΈΠ΄Π²Π°Π» Π² Π ΡΡΠΈΡ Π·Π° ΡΡΠΈΠ»ΠΈΡΠ΅ SPTDC, ΡΡΠ°ΡΡΠ²Π° Π² ΠΌΠΈΡΠ°ΠΏΠ° JUG.ru, Π° Π·Π°ΠΏΠΈΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈ Π² YouTube:

ΠΡΠ½ΠΎΠ²Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°
Π‘Π»Π΅Π΄Π²Π° ΠΊΡΠ°ΡΡΠΊ ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄ΠΈΡΠ΅, Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°. Π§Π°ΡΡ ΠΎΡ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈΡΠ΅ ΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ, ΡΠ°ΡΡ β ΠΏΠΎ-ΠΊΡΠ°ΡΠΊΠΎ. ΠΡΠ»Π³ΠΈΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎ-ΡΠΊΠΎΡΠΎ ΡΠ° Π·Π° Π°Π½Π³Π»ΠΎΠ΅Π·ΠΈΡΠ½ΠΈΡΠ΅ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ, ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΊΡΠΌ Π½Π°ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½ΠΈΡ, ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ Π² Wikipedia ΠΈ Ρ.Π½. ΠΡΠ»Π½ΠΈΡΡ ΡΠΏΠΈΡΡΠΊ ΠΌΠΎΠΆΠ΅ . Π‘ΠΏΠΈΡΡΠΊΡΡ Π½Π° ΡΠ°ΠΉΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½ ΠΈ Π΄ΠΎΠΏΡΠ»Π²Π°Π½.
ΠΠ΅ΡΠ»ΠΈ ΠΠ°ΠΌΠΏΠΎΡΡ β
ΠΠ΅ΡΠ»ΠΈ ΠΠ°ΠΌΠΏΠ΅ΡΡ Π΅ Π°Π²ΡΠΎΡ Π½Π° ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°Π΅ΡΠΈ ΡΠ°Π±ΠΎΡΠΈ Π² ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ. ΠΎΠ·Π½Π°ΡΠ°Π²Π° Β«Lamport TeXΒ». Π’ΠΎΠΉ Π·Π° ΠΏΡΡΠ² ΠΏΡΡ, ΠΎΡΠ΅ ΠΏΡΠ΅Π· 1979 Π³., Π²ΡΠ²Π΅Π΄Π΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΡΠΎ , Π° ΡΡΠ°ΡΠΈΡΡΠ° ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈ Π½Π°Π³ΡΠ°Π΄Π°ΡΠ° ΠΠ΅ΠΉΠΊΡΡΡΠ°.
Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-Π½Π΅ΠΎΠ±ΠΈΡΠ°ΠΉΠ½Π°ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΠΏΠΎ ΡΠΎΡΠΌΠ°Ρ, Π·Π°ΡΠΎΡΠΎ ΡΠΎΠ²Π° Π½Π΅ Π΅ Π΄ΠΎΡΠΈ Π΄ΠΎΠΊΠ»Π°Π΄, Π° ΡΠ΅ΡΠΈΡ Ρ Π²ΡΠΏΡΠΎΡΠΈ ΠΈ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ. ΠΠΎΠ³Π°ΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π° ΡΠ°ΡΡ ΠΎΡ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡΡΠ° Π΅ Π²Π΅ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°ΡΠ° (ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅) Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°Π±ΠΎΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Β«ΡΠ΅ΠΎΡΠΈΡΡΠ° Π½Π° ΠΠ°ΠΌΠΏΠΎΡΡΠ°Β», Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΡΡΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ, Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΠ»ΠΎΡΠΎ Π½Π°Π»ΠΈΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ.
ΠΠ΄Π΅ΡΡΠ° Π΅ ΠΏΡΠΎΡΡΠ° β Π³Π»Π΅Π΄Π°ΡΠ΅ Π² YouTube Π΄Π²Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°: ΠΈ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΡΡΠ΅ ΠΏΠΎΠ½Π΅ Π΅Π΄ΠΈΠ½ Π²ΡΠΏΡΠΎΡ, Π° ΠΠ΅ΡΠ»ΠΈ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ.
ΠΡΡΠ²ΠΎΡΠΎ ΠΎΡ ΡΠ΅Π·ΠΈ Π΄Π²Π΅ Π²ΠΈΠ΄Π΅ΠΎ Π²Π΅ΡΠ΅ Π³ΠΎ . ΠΠΊΠΎ Π½ΡΠΌΠ°ΡΠ΅ ΡΠ°Ρ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° Π³Π»Π΅Π΄Π°ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎΡΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΠ·ΠΎ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΡΠ΅ΠΊΡΡ.
ΠΠ°Π±Π΅Π»Π΅ΠΆΠΊΠ°: Π² YouTube ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΠΈΠ΄Π΅Π° Ρ ΠΠ΅ΡΠ»ΠΈ ΠΠ°ΠΌΠΏΠΎΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ° ΡΡΠ΄Π΅ΡΠ΅Π½ . ΠΡΠ»Π°ΠΉΠ½ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΡΠ΅Π»ΠΈΡ ΡΠΎΠ·ΠΈ ΠΊΡΡΡ Π΅ Π½Π° , Π° Π² YouTube Π΅ ΠΊΠ°ΡΠΈΠ» Π²ΠΈΠ΄Π΅ΠΎΡΠΎ Π·Π° ΠΏΠΎ-ΡΠ΄ΠΎΠ±Π½ΠΎ Π³Π»Π΅Π΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
ΠΠ°ΡΡΠΈΠ½ ΠΠ»Π΅ΠΏΠΏΠΌΠ°Π½ β
ΠΠ°ΡΡΠΈΠ½ ΠΠ»Π΅ΠΏΠΏΠΌΠ°Π½ Π΅ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» Π² ΠΠ΅ΠΉΠΌΠ±ΡΠΈΠ΄ΠΆΠΊΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π²ΡΡΡ
Ρ CRDT ΠΈ ΡΠΎΡΠΌΠ°Π»Π½Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ. ΠΠ½ΠΈΠ³Π°ΡΠ° Π½Π° ΠΠ°ΡΡΠΈΠ½Π° , ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° ΠΏΡΠ΅Π· 2017 Π³., ΡΠ΅ ΠΎΠΊΠ°Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΏΠ΅ΡΠ½Π° ΠΈ Π²Π»Π΅Π·Π΅ Π² ΡΠΏΠΈΡΡΡΠΈΡΠ΅ Ρ Π±Π΅ΡΡΡΠ΅Π»ΡΡΠΈ Π² ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ. ΠΠ΅Π²ΠΈΠ½ Π‘ΠΊΠΎΡ, CTO Π² Microsoft, : Β«Π’Π°Π·ΠΈ ΠΊΠ½ΠΈΠ³Π° ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½Π° Π·Π° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡΠΈ. Π’ΠΎΠ²Π° Π΅ ΡΡΠ΄ΡΠΊ ΡΠ΅ΡΡΡΡ, ΠΊΠΎΠΉΡΠΎ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π° ΡΠ΅ΠΎΡΠΈΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, ΠΏΠΎΠΌΠ°Π³Π°ΠΉΠΊΠΈ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Ρ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ-ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ½ΠΎ.Β» ΠΠ΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΊΠ°Π·Π° ΠΈ ΡΡΠ·Π΄Π°ΡΠ΅Π»ΡΡ Π½Π° Kafka ΠΈ CTO Π½Π° Confluent, ΠΠΆΠ΅ΠΉ ΠΡΠ΅ΠΏΡ.
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π° Ρ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ½ΠΈ ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½ΠΈΡ, ΠΠ°ΡΡΠΈΠ½ ΡΠ°Π±ΠΎΡΠΈ Π² ΠΈΠ½Π΄ΡΡΡΡΠΈΡΡΠ° ΠΈ Π΅ ΡΡΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π» Π½Π° Π΄Π²Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΈ ΡΡΠ°ΡΡΠ°ΠΏΠ°:
- Rapportive, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠΎΡΠΈΠ°Π»Π½ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΈ ΠΎΡ Π²Π°ΡΠΈΡ ΠΈΠΌΠ΅ΠΉΠ», ΠΊΡΠΏΠ΅Π½ ΠΎΡ LinkedIn ΠΏΡΠ΅Π· 2012 Π³.;
- Go Test It, ΡΡΠ»ΡΠ³Π° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π±ΡΠ°ΠΉΡΠΎΠ²Π΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±ΡΠ°ΡΠ·ΡΡΠΈ, ΠΊΡΠΏΠ΅Π½Π° ΠΎΡ RedGate ΠΏΡΠ΅Π· 2009 Π³.
ΠΠ°ΡΠΎ ΡΡΠ»ΠΎ, ΠΠ°ΡΡΠΈΠ½ ΠΌΠ°ΠΊΠ°Ρ ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΎΡ Π½Π°ΡΠΈΡΠ΅ ΠΊΠ»ΡΡΠΎΠ²ΠΈ Π»Π΅ΠΊΡΠΎΡΠΈ, Π²Π΅ΡΠ΅ Π΅ ΡΡΠΏΡΠ» Π΄Π° Π΄ΠΎΠΏΡΠΈΠ½Π΅ΡΠ΅ ΠΈ Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΠΏΡΠ΅ΡΠΌΡΡΠ°Π½ΠΈΡ, ΠΈ Π·Π° ΠΈΠ½Π΄ΡΡΡΡΠΈΡΡΠ°.
Π ΡΠ°Π·ΠΈ Π»Π΅ΠΊΡΠΈΡ ΠΠ°ΡΡΠΈΠ½ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈ Π·Π° ΡΠ΅ΠΌΠ°, ΠΏΠΎ-Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ½ΠΈ ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½ΠΈΡ. Π Google Docs ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ, βΡΡΠ²ΠΌΠ΅ΡΡΠ½ΠΎΡΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅β ΠΎΠ·Π½Π°ΡΠ°Π²Π° Π·Π°Π΄Π°ΡΠ° Π·Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ: Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» ΠΈΠΌΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° Π½Π° ΠΎΠ±ΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½Ρ, Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠ°ΡΠ°Ρ Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π΄ΠΎ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ. ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π² ΠΎΡΠ»Π°ΠΉΠ½ ΡΠ΅ΠΆΠΈΠΌ Π²ΠΎΠ΄ΡΡ Π΄ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΡΠΏΡΡΠΌΠΎ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ, Π° ΠΏΠΎΠ²ΡΠΎΡΠ½Π°ΡΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ. ΠΠΌΠ΅Π½Π½ΠΎ Π·Π° ΡΠΎΠ²Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ (CRDT), ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ β Π΄ΠΎΡΡΠ° Π½ΠΎΠ²Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ, ΡΠΈΡΡΠΎ ΡΡΡΠ½ΠΎΡΡ Π΅ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ°Π½Π° Π΅Π΄Π²Π° ΠΏΡΠ΅Π· 2011 Π³. Π ΡΠ°Π·ΠΈ Π»Π΅ΠΊΡΠΈΡ ΡΠ΅ ΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π° ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎ ΠΎΡΡΠΎΠ³Π°Π²Π° Π² ΡΠ²Π΅ΡΠ° Π½Π° CRDT, ΠΊΠ°ΠΊΠ²ΠΈ ΡΠ° Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ, ΡΠ΅ ΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° local-first ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠΎ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠΊΡΠΈΡΠ°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π² ΡΠ°ΡΡΠ½ΠΎΡΡ.
Π‘Π»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΡΠ΅Π΄ΠΌΠΈΡΠ° ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°ΠΌΠ΅ Π² Π₯Π°Π±ΡΠ° Π³ΠΎΠ»ΡΠΌΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Ρ Ρ ΠΠ°ΡΡΠΈΠ½, ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΡΠ΅ Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ.
ΠΠ΅Π΄ΡΠΎ Π Π°ΠΌΠ°Π»Π΅ΡΠ΅ β
ΠΠ΅Π΄ΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π² Cisco ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π²Π΅ΡΠ΅ ΠΎΠΊΠΎΠ»ΠΎ Π΄Π΅ΡΠ΅Ρ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ, lock-free ΠΈ wait-free ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΈ Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅ ΠΏΠΎ ΡΠ΅ΠΌΠ°ΡΠ°. Π’Π΅ΠΊΡΡΠΈΡΠ΅ ΠΌΡ Π½Π°ΡΡΠ½ΠΈ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈ ΡΠ° ΡΠΎΠΊΡΡΠΈΡΠ°Π½ΠΈ Π²ΡΡΡ
Ρ Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π‘ΠΎΡΡΠ²Π΅ΡΠ½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, ΠΠ΅ΡΡΠΈΡΡΠ΅Π½ΡΠ½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΈ, ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΡΠΎΠΉ Π΅ Π°Π²ΡΠΎΡ Π½Π° ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π±Π»ΠΎΠ³ Π² ΡΠ΅ΡΠ½ΠΈ ΠΊΡΡΠ³ΠΎΠ²Π΅. .
ΠΠ° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠΏΠ°ΡΠΊΠΈ Π·Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π°ΠΊΡΡΠΎΡΠΈΡΠ΅ ΠΈ Π·Π°Π²ΡΡΡΠ²Π°ΠΉΠΊΠΈ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Π½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π² key-value Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°. Π Java JDK ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΡΡ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Π° ΠΈ Π² C++ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ.
ΠΠ°ΠΉ-ΠΏΡΠΎΡΡΠΈΡΡ Π½Π°ΡΠΈΠ½ Π·Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½Π° ΡΡΡΡΠΊΡΡΡΠ° ΠΎΡ Π΄Π°Π½Π½ΠΈ Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½Π°ΡΠ° (Π΅Π΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½Π°) ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ ΡΠ° Π·Π°ΡΠΈΡΠ΅Π½ΠΈ Ρ ΠΌΡΡΠ΅ΠΊΡΠΈ. Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΠΆΡΠ½, Π½ΠΎ ΠΈΠΌΠ° ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅, lock-free ΠΈ wait-free ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ, ΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ ΡΠ΅ ΡΠΏΡΠ°Π²ΡΡ Ρ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅, Π½ΠΎ ΠΈ ΠΈΠΌΠ°Ρ ΠΏΠΎ-ΡΡΠΏΠ΅ΡΠ΅Π½ ΠΏΡΠΎΡΠΈΠ» Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ β ΠΎΠ±Π°ΡΠ΅, Π·Π° ΡΡΡ Π½ΠΎΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π΄ΡΠ»Π±ΠΎΠΊΠ° Π΅ΠΊΡΠΏΠ΅ΡΡΠΈΠ·Π° ΠΈ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡ ΠΊΡΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈΡ Π½Π°ΡΠΈΠ½ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ΄Π½Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½Π° Π»ΠΈΠ½ΠΈΡ ΠΊΠΎΠ΄ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½Π°, Π·Π° Π΄Π° ΡΠ΅ ΡΡΡΠΏΠΈ Π²ΡΠΈΡΠΊΠΎ.
ΠΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠ°ΠΊΠ°, ΡΠ΅ Π΄ΠΎΡΠΈ Π½Π΅Π΅ΠΊΡΠΏΠ΅ΡΡ Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ° ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΠ°ΠΊΠΈΠ²Π° ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ? ΠΠ·Π²Π΅ΡΡΠ½ΠΎ Π΅, ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅Π½ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ ΠΏΠΎΡΠΎΠΊΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ ΡΡΠ΅Π· ΠΈΠ»ΠΈ , ΠΈΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½Π° ΠΏΠ°ΠΌΠ΅Ρ. Π Π΄Π²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΠ½ΠΈΠΆΠ°Ρ ΠΏΡΠ°Π³Π° Π½Π° Π²Ρ ΠΎΠ΄Π° Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΈ Π·Π°Π΄Π°ΡΠ°. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΈ Π΄Π²Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π²ΠΎΠ΄ΡΡ Π΄ΠΎ Π½Π΅Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΠ΅Π΄ΡΠΎ ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ ΠΊΠ°ΠΊ ΡΡΠΏΡΡ Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΡΡ ΡΠ΅Π·ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΡΠ²ΠΎΠΈΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ.
Π₯Π°ΠΉΠ΄ΠΈ Π₯Π°ΡΡΡΠ΄ β
Π₯Π°ΠΉΠ΄ΠΈ ΠΠΎΠ²Π°ΡΠ΄ - ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΠ°ΡΡΠΈΠ½, Π΅ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π² ΠΠ΅ΠΉΠΌΠ±ΡΠΈΠ΄ΠΆΠΊΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ. ΠΠ΅ΠΉΠ½Π°ΡΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΅ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡ, ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΡΠ³Π»Π°ΡΠΈΠ΅. Π’Ρ Π΅ Π½Π°ΠΉ-ΠΈΠ·Π²Π΅ΡΡΠ½Π° Ρ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° Paxos, Π½Π°ΡΠ΅ΡΠ΅Π½ΠΎ .
ΠΠ°ΠΏΠΎΠΌΠ½ΡΠΌΠ΅, ΡΠ΅ β Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ Π² ΠΌΡΠ΅ΠΆΠ° ΠΎΡ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»ΠΈ, ΠΎΡΠ½ΠΎΠ²Π°Π²Π°ΡΠΈ ΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΠ΅ΡΠ»ΠΈ ΠΠ°ΠΌΠΏΠΎΡΡΠ°. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, Π½Π°ΡΠΈΡΠ΅ Π΄ΠΎΠΊΠ»Π°Π΄ΡΠΈΡΠΈ ΡΠ°Π±ΠΎΡΡΡ ΠΏΠΎ Π·Π°Π΄Π°ΡΠΈ, ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ ΠΎΡ Π΄ΡΡΠ³ΠΈ Π½Π°ΡΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ΡΠΈΡΠΈ β ΠΈ ΡΠΎΠ²Π° Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ.
ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Ρ ΠΎΡΡΠ° β Π·Π° Π°Π΄ΡΠ΅ΡΠΈΡΠ°Π½Π΅, ΠΈΠ·Π±ΠΎΡ Π½Π° Π»ΠΈΠ΄Π΅Ρ, Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΡ β Π΅ ΠΎΡΠ½ΠΎΠ²Π΅Π½ Π²ΡΠΏΡΠΎΡ Π½Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. Paxos Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°ΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ, ΠΈ ΠΎΠΊΠΎΠ»ΠΎ Π½Π΅Π³ΠΎ ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½ΠΈΡ Ρ ΡΠ΅Π» ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΈ Π½ΡΠΆΠ΄ΠΈ.
Π ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ ΡΠ΅ ΠΏΡΠ΅ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Paxos, ΠΎΡΡΠ»Π°Π±Π²Π°ΠΉΠΊΠΈ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΈΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±ΠΎΠ±ΡΠ°Π²Π°ΠΉΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ°. Π©Π΅ Π²ΠΈΠ΄ΠΈΠΌ, ΡΠ΅ Paxos Π²ΡΡΡΠ½ΠΎΡΡ Π΅ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ Π²Π°ΡΠΈΠ°Π½ΡΠΈΡΠ΅ Π² ΠΎΠ³ΡΠΎΠΌΠ½ΠΈΡ ΡΠΏΠ΅ΠΊΡΡΡ ΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈ Π·Π° ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ, ΠΈ ΡΠ΅ Π΄ΡΡΠ³ΠΈ ΡΠΎΡΠΊΠΈ Π² ΡΠΏΠ΅ΠΊΡΡΡΠ° ΡΡΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄ΠΎΠ±ΡΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.
ΠΠ»Π΅ΠΊΡ ΠΠ΅ΡΡΠΎΠ² β
ΠΠ»Π΅ΠΊΡ Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ ΠΏΠΎ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅, ΠΈ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎΡΠΎ Π·Π° Π½Π°Ρ β ΠΊΠΎΠΌΠΈΡΡΡ Π² . Π‘ OβReilly ΡΠΎΠΉ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΠΈ Π²ΡΡΡ
Ρ ΠΊΠ½ΠΈΠ³Π° Π·Π° ΠΡΡΡΠ΅ΡΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Π±Π°Π·ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ.
ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ (Π² Π±ΡΠ»Π³Π°ΡΡΠΊΠ°ΡΠ° ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ β Β«ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡ Π½Π°ΠΊΡΠ°ΡΒ»), ΡΠ»Π΅Π΄ ΠΏΠ°Π΄Π°Π½Π΅ Π½Π° Π²ΡΠ·Π΅Π» ΠΈΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ΡΠΈΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° Π΄ΠΈΠ»Π΅ΠΌΠ°: Π΄Π°Π»ΠΈ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ, ΠΆΠ΅ΡΡΠ²Π°ΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡ, ΠΈΠ»ΠΈ Π΄Π° ΠΎΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΈΠΌ ΠΈ Π΄Π° ΠΏΠΎΠΆΠ΅ΡΡΠ²Π°ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ. Π ΡΠ°ΠΊΠ°Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠ²ΠΎΡΡΠΌΠΈΡΠ΅, ΠΏΡΠΈΠΏΠΎΠΊΡΠΈΠ²Π°ΡΠΈ ΡΠ΅ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π½Π° Π²ΡΠ·Π»ΠΈ ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΡΠΈ, ΡΠ΅ ΠΏΠΎΠ½Π΅ Π΅Π΄ΠΈΠ½ Π²ΡΠ·Π΅Π» ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ° Π½Π°ΠΉ-Π½ΠΎΠ²Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ°Π½Π°Ρ Π΄ΠΎΠ±ΡΠΎ Π³ΡΠ°Π½ΠΈΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠ΅Π»ΡΠ²Π°ΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ ΠΈ Π·Π°Π³ΡΠ±Π° Π½Π° ΡΠ²ΡΡΠ·Π°Π½ΠΎΡΡ Π΄ΠΎ Π½ΡΠΊΠΎΠΈ Π²ΡΠ·Π»ΠΈ, ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΠΉΠΊΠΈ Π΄Π° ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡΠ΅ Ρ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ.
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° Π²ΡΠΈΡΠΊΠΎ ΠΈΠΌΠ° ΡΠ²ΠΎΡΡΠ° ΡΠ΅Π½Π°. ΠΠ²ΠΎΡΡΠΌΠ½Π°ΡΠ° ΡΡ Π΅ΠΌΠ° Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΏΠΎΠ²ΠΈΡΠ΅Π½ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅: Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΠΈΠ·Π»ΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²ΡΠ·Π΅Π»Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π·Π° Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π°Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΏΠΈΡ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠΊΠ°Π·Π²Π° ΡΠ΅, ΡΠ΅ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π²ΡΠΈΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ, Π°ΠΊΠΎ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π΄Π°Π½Π½ΠΈ ΡΠ°ΠΌΠΎ Π½Π° ΡΠ°ΡΡ ΠΎΡ Π²ΡΠ·Π»ΠΈΡΠ΅, Π° Π·Π° ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ Π²ΡΠ·Π»ΠΈ (Transient Replica).
Π Ρ ΠΎΠ΄Π° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ , ΡΡ Π΅ΠΌΠ°ΡΠ° Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² ΠΈ , ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π² Apache Cassandra ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π°ΡΠ° .
ΠΠΌΠΈΡΡΠΈΠΉ ΠΡΠΊΠΎΠ² β
ΠΠΌΠΈΡΡΠΈΠΉ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² Google, ΡΠ°Π±ΠΎΡΠ΅Ρ ΠΏΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° C/C++ ΠΈ Go β Address/Memory/ThreadSanitizer, ΠΈ Π½Π°Π΄ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux. Π’ΠΎΠΉ Π΅ Π½Π°ΠΏΡΠ°Π²ΠΈΠ» ΠΏΡΠΈΠ½ΠΎΡΠΈ Π² Go Π·Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π° Π³ΠΎΡΡΡΠΈΠ½ΠΈ, ΠΌΡΠ΅ΠΆΠΎΠ² ΠΏΡΠ»Π΅Ρ ΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»Π΅Π½ ΡΠ±ΠΎΡΠ½ΠΈΠΊ Π½Π° Π±ΠΎΠΊΠ»ΡΠΊΠ°. Π’ΠΎΠΉ Π΅ Π΅ΠΊΡΠΏΠ΅ΡΡ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡΠ°, Π°Π²ΡΠΎΡ Π½Π° Π΄ΡΠ·ΠΈΠ½Π° Π½ΠΎΠ²ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΠΈ ΠΏΡΠΈΡΠ΅ΠΆΠ°ΡΠ΅Π» Π½Π° Intel.
Π‘Π΅Π³Π° ΠΌΠ°Π»ΠΊΠΎ Π·Π° ΡΠ°ΠΌΠΈΡ Π΄ΠΎΠΊΠ»Π°Π΄. Π Π΅Π·ΠΈΠΊΠ° Go ΠΈΠΌΠ° Π²Π³ΡΠ°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π³ΠΎΡΡΡΠΈΠ½ΠΈ (Π»Π΅ΠΊΠΈ Π½ΠΈΡΠΊΠΈ) ΠΈ ΠΊΠ°Π½Π°Π»ΠΈ (FIFO ΠΎΠΏΠ°ΡΠΊΠΈ). ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π·ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ, Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅ΡΠ½ΠΎ ΠΈ ΠΏΡΠΈΡΡΠ½ΠΎ Π΄Π° ΠΏΠΈΡΠ°Ρ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ ΠΌΠ°Π³ΠΈΡ. ΠΠ°ΠΊΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌΠ΅, Π² ΡΠΎΠ²Π° Π½ΡΠΌΠ° Π½ΠΈΠΊΠ°ΠΊΠ²Π° ΠΌΠ°Π³ΠΈΡ. Π ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΠΌΠΈΡΡΠΈΠΉ ΡΠ΅ Π·Π°Π΄ΡΠ»Π±ΠΎΡΠΈ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π½Π° Go ΠΈ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΡΠ°ΠΉΠ½ΠΈΡΠ΅ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΈ βΠΌΠ°Π³ΠΈΡβ. Π Π½Π°ΡΠ°Π»ΠΎΡΠΎ ΡΠΎΠΉ ΡΠ΅ Π΄Π°Π΄Π΅ ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ ΠΏΠΎ-ΠΎΡΠ±Π»ΠΈΠ·ΠΎ Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΈ, ΠΊΠ°ΡΠΎ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π·Π° ΠΏΠ°ΡΠΊΠΈΡΠ°Π½Π΅/ΡΠ°Π·ΠΏΠ°ΡΠΊΠΈΡΠ°Π½Π΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΊΡΠ°Ρ ΠΠΌΠΈΡΡΠΈΠΉ ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ ΠΌΠ°Π»ΠΊΠΎ Π·Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°.
ΠΠΌΠΈΡΡΠΈΠΉ ΠΡΠ³Π°ΠΉΡΠ΅Π½ΠΊΠΎ β
ΠΠΌΠΈΡΡΠΈΠΉ Π΅ ΡΠ°Π±ΠΎΡΠΈΠ» ΠΏΠΎΡΡΠΈ 9 Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π² Π°ΡΡΡΠΎΡΡΠΈΠ½Π³, Π±Π΅Π· Π΄Π° Π³ΡΠ±ΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡ Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° ΠΈ Π½Π°ΡΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄Π°. ΠΠ½Π°Π»ΠΈΠ·ΡΡ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ Π² ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΠ½ΠΈΡΠΈΡΠ΅ ΠΌΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΡΠ°Π½Ρ Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ° ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½Π°ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΠ½Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π° Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π°Π»Π½ΠΈ, ΡΡΡΡΠ΅Π½ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ.
Π Π°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎΡΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π³ΡΠ°ΡΠΈ ΠΎΡΡΠ°Π²Π° ΡΠ»ΠΎΠΆΠ½Π° Π·Π°Π΄Π°ΡΠ°: ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ Π½Π°Π»Π°Π³Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π²ΡΡΠ·ΠΊΠΈΡΠ΅ Π½Π° ΡΡΡΠ΅Π΄Π΅Π½ Π²ΡΠ·Π΅Π», Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°. Π ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ ΡΠ°ΠΊΡΠΈ ΠΊΠ°ΡΠΎ ΡΠΈΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° Π³ΡΠ°ΡΠ° Π½Π° ΠΏΡΠΈΡΡΠ΅Π»ΡΡΠ²Π°ΡΠ° Π² ΡΠΎΡΠΈΠ°Π»Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π΅ ΠΈΠ»ΡΡΡΡΠΈΡΠ°Π½ΠΎ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π½Π° ΠΊΠΎΠ΄ Π½Π° Apache Spark.
ΠΠ΅Π½ΠΈΡ Π ΡΡΡΠΎΠ² β
ΠΠ΅Π½ΠΈΡ β ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ , Π΅ΠΊΡΠΏΠ΅ΡΡ Π² ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ, Π² Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ Π·Π° ΡΡΠ³Π»Π°ΡΠΈΠ΅ ΠΈ Π² ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΠΈ Π² Microsoft, Π° ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π΅ ΡΠ°Π±ΠΎΡΠΈΠ» ΠΏΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π² Amazon ΠΈ Yandex.
Π ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ ΡΠ΅ ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠ΅ Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΈΠ·ΠΌΠΈΡΠ»Π΅Π½ΠΈ ΠΏΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΎΡΠ³ΠΎΡΠ΅ Π½Π° Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠΈ ΡΡΠ»ΠΎΠ²Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ (compare and set). Π‘ΡΡΠ½ΠΎΡΡΡΠ° Π΅, ΡΠ΅ ΠΆΠΈΠ²ΠΎΡΡΡ Π½Π΅ ΡΠ²ΡΡΡΠ²Π° Ρ Π΄Π²ΡΠ΅ΡΠ°ΠΏΠ½ΠΎ Π°Π½Π³Π°ΠΆΠΈΡΠ°Π½Π΅; ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ Π²ΡΡΡ Ρ Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ β Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ (2PC, Percolator, RAMP) ΠΈΠΌΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΠΈ ΠΈ Π½Π΅ ΡΠ° Π½ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΎ.
ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠΈΠ½ΠΎΠ²ΡΠ΅Π² β
ΠΠ»Π΅ΠΊΡΠ΅ΠΉ () β Π½Π°Ρ Π΄ΡΠ»Π³ΠΎΠ³ΠΎΠ΄ΠΈΡΠ΅Π½ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅Π» ΠΈ ΡΠ»Π΅Π½ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠΈ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ. ΠΡΠ°ΠΊΡΠΈΠΊΡΠ²Π°Ρ ΡΡΠ΅Π½ΡΠΎΡ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° EPAM Systems ΠΈ Ρ Hadoop/Spark ΠΈ Π΄ΡΡΠ³Π° Π³ΠΎΠ»ΡΠΌΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΅ ΡΠ²ΡΡΠ·Π°Π½ ΠΎΡ 2012 Π³ΠΎΠ΄ΠΈΠ½Π°.
Π ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Ρ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ, Π±Π°Π·ΠΈΡΠ°ΠΉΠΊΠΈ ΡΠ΅ Π½Π° ΡΠ²ΠΎΡ ΠΎΠΏΠΈΡ Ρ Apache Spark ML, Apache Mahout, Apache Flink ML ΠΈ ΠΎΠΏΠΈΡΠ° ΡΠΈ Π² ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Apache Ignite ML. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ML-Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π² ΡΠ΅Π·ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΡΠΈ.
Π Π² Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ β Π΄Π²Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Yandex Π·Π° Yandex Database.
ΠΠ»Π°Π΄ΠΈΡΠ»Π°Π² ΠΡΠ·Π½Π΅ΡΠΎΠ² β
ΠΠ»Π°Π΄ΠΈΡΠ»Π°Π² Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² Π―Π½Π΄Π΅ΠΊΡ Π² Π³ΡΡΠΏΠ°ΡΠ° ΠΏΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ. Yandex Database Π΅ Ρ
ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠ° Π³Π΅ΠΎΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²Π° Π‘Π£ΠΠ, ΡΡΡΠΎΠΉΡΠΈΠ²Π° Π½Π° ΠΎΡΠΊΠ°Π·ΠΈ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅, ΡΡΡΠ²ΡΡΠΈ, ΡΡΠ΅Π»Π°ΠΆΠΈ ΠΈ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΠΎΠ²Π΅ Π±Π΅Π· Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ°. ΠΠ° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Π·Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ΅Π΄ΠΈΡΠ° ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·Π³Π»Π΅Π΄Π°Π½ΠΈ Π² Π΄ΠΎΠΊΠ»Π°Π΄Π°. ΠΠΎΠΊΠ»Π°Π΄ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊΡΠΎ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Π‘Π£ΠΠ, ΡΠ°ΠΊΠ° ΠΈ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π‘Π£ΠΠ.
Π‘Π΅ΠΌΠ΅Π½ Π§Π΅ΡΠ΅ΡΠΈΠ½Π΄Π° β
Π‘Π΅ΠΌΠ΅Π½ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² Π³ΡΡΠΏΠ°ΡΠ° ΠΏΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Π² Π―Π½Π΄Π΅ΠΊΡ, ΡΠ°Π±ΠΎΡΠΈ Π½Π°Π΄ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΌΡΠ»ΡΠΈΠ°ΡΠ΅Π½Π΄Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° YDB.
Yandex Database Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π° Π·Π° OLTP Π·Π°ΡΠ²ΠΊΠΈ ΠΈ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π½Π° ACID Π·Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°. Π Π΄ΠΎΠΊΠ»Π°Π΄Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° Π·Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠΉΡΠΎ Π΅ Π² ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° YDB. Π©Π΅ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΈ Π΅Π½ΡΠΈΡΠ΅ΡΠΈ ΡΡΠ°ΡΡΠ²Π°Ρ Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, ΠΊΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡ ΡΠ΅Π΄ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, ΠΊΠ°ΠΊ ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π° Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ ΠΈ ΡΡΡΠΎΠ³ Π½ΠΈΠ²ΠΎ Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ. ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π°ΡΠ° Π·Π°Π΄Π°ΡΠ° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Ρ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° Π΄Π²ΡΡΠ°Π·Π½ΠΎ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΡΠΈΡΠ½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π©Π΅ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ.
ΠΠ°ΠΊΠ²ΠΎ ΡΠ»Π΅Π΄Π²Π°?
ΠΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠΏΡΠ»Π²Π° Ρ Π½ΠΎΠ²ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ. ΠΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ, ΠΎΡΠ°ΠΊΠ²Π°ΠΌΠ΅ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΎΡ ΠΠΈΠΊΠΈΡΠ° ΠΠΎΠ²Π°Π»Ρ () ΠΎΡ JetBrains ΠΈ ΠΠ»Π΅Π³ ΠΠ½Π°ΡΡΠ°ΡΡΠ΅Π²Π° () ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΈ. ΠΠΈΠΊΠΈΡΠ° ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π° Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΊΠΎΡΡΡΠΈΠ½ΠΈ Π² Π΅ΠΊΠΈΠΏΠ° Π½Π° Kotlin, Π° ΠΠ»Π΅Π³ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π° Π²ΠΈΡΠΎΠΊΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π² ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΈΠΌΠ° ΠΎΡΠ΅ 1 ΡΡΠ»ΠΎΠ²Π½ΠΎ ΠΏΡΠ°Π·Π΅Π½ ΡΠ»ΠΎΡ, Ρ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΈΡΠ΅ Π·Π° ΠΊΠΎΠΈΡΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈΡΡ ΠΊΠΎΠΌΠΈΡΠ΅Ρ.
ΠΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° Hydra ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅ Π½Π° 11-12 ΡΠ»ΠΈ Π² Π‘Π°Π½ΠΊΡ ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³. ΠΠΈΠ»Π΅ΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ . ΠΠ±ΡΠ°ΡΠ°ΠΌΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½ Π±ΠΈΠ»Π΅ΡΠΈ β Π°ΠΊΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΏΡΠΈΡΠΈΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈΡΠ½ΠΎ Π΄Π° ΡΠ΅ Π΄ΠΎΠ±Π΅ΡΠ΅ΡΠ΅ Π΄ΠΎ ΠΠΈΡΡΡ Π² ΡΠ΅Π·ΠΈ Π΄Π½ΠΈ.
Π©Π΅ ΡΠ΅ ΡΡΠ΅ΡΠ½Π΅ΠΌ Π½Π° Hydra!
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
