11-12 ΠΈΡΠ»Ρ Π² Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³Π΅ ΡΠΎΡΡΠΎΠΈΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ
Hydra β ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ
Π²Π°ΠΆΠ½ΡΡ
Π½Π°ΡΠΈΡ
ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΉ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ. ΠΠΉ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»Π° ΠΎΡΠ΅Π½Ρ ΡΠ΅ΡΡΡΠ·Π½Π°Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°, ΠΎΡΠ±ΠΎΡ ΡΠΏΠΈΠΊΠ΅ΡΠΎΠ² ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ². ΠΠ° ΠΏΡΠΎΡΠ»ΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅ ΠΎΠ± ΡΡΠΎΠΌ
ΠΡ
ΠΠΎΡΠΈΠ²Π°ΡΠΈΡ
ΠΡΠ»ΠΈ Π²Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΡΠΎ ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π΄Π΅Π»ΠΎ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡΡ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌΠΈ. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌΠΈ Π½Π°ΠΏΡΡΠΌΡΡ, Π½ΠΎ Π½Π΅ΡΠ²Π½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΡ ΡΠΌΠΎΡΡΠΈΡ Π½Π° Π½Π°Ρ ΠΎΡΠΎΠ²ΡΡΠ΄Ρ: Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄Π΅ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ΅ Π½Π°ΠΉΠ΄ΡΡΡΡ ΡΡΠΎ-ΡΠΎ, ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅Π΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΉ, ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠΈΡ
ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ° Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅ ΡΠΏΠ΅ΠΊΡΡΠ° Ρ Π½Π°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ»Ρ, Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π»Π΅ΠΊΡΠΈΠΉ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΌΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΠ΅ΠΎΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Ρ Hydra Π² ΠΠΈΡΠ΅ΡΠ΅ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ
ΠΠ°Π΄ΡΠΌΠ°ΠΉΡΠ΅ΡΡ Π²ΠΎΡ Π½Π°Π΄ ΡΠ΅ΠΌ: ΠΌΡ ΠΆΠΈΠ²ΡΠΌ Π² ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΆΠΈΠ²ΡΡ Π²ΡΡΡΠ΅ΡΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π°ΡΠΊΠΈ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡΡ. Π€ΠΈΠ·ΠΈΠΊΠΈ Π½Π΅ Π²ΡΡΡΠ΅ΡΡΡ Π½ΠΈ ΠΡΡΡΠΎΠ½Π°, Π½ΠΈ ΠΠΉΠ½ΡΡΠ΅ΠΉΠ½Π° β ΠΏΠΎΠ΅Π·Π΄ ΡΡΡΠ». ΠΠΎ ΡΡΠ΄ΠΎΠΌ Ρ Π½Π°ΠΌΠΈ Π²ΡΡ Π΅ΡΡ ΠΆΠΈΠ²ΡΡ ΡΠ΅, ΠΊΡΠΎ ΡΠΎΠ·Π΄Π°Π» ΠΎΡΠ½ΠΎΠ²Ρ ΡΠ΅ΠΎΡΠΈΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΏΡΠΈΠ΄ΡΠΌΠ°Π» ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²ΠΏΠ΅ΡΠ²ΡΠ΅ Π²ΠΎΠΏΠ»ΠΎΡΠΈΠ» Π²ΡΡ ΡΡΠΎ Π² ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ. ΠΡΠΈ Π»ΡΠ΄ΠΈ Π½Π΅ Π±ΡΠΎΡΠΈΠ»ΠΈ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ Π½Π° ΠΏΠΎΠ»ΠΏΡΡΠΈ, ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΠΈΡΠ½ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ°Ρ ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ , ΠΈ ΡΠ²Π»ΡΡΡΡΡ Π²Π΅Π»ΠΈΡΠ°ΠΉΡΠΈΠΌΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ Π·Π½Π°Π½ΠΈΠΉ ΠΈ ΠΎΠΏΡΡΠ° Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ.
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΡΡΠ΅ΡΠΈΡΡΡΡ Ρ Π½ΠΈΠΌΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΡΠ°ΡΡΡΡ ΡΠΈΡΡΠΎ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ: ΠΌΠ°Π»ΠΎ ΠΊΡΠΎ ΠΈΠ· Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Π² ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡΠ΄Ρ Π ΠΎΡΠ΅ΡΡΠ΅ΡΡΠΊΠΎΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΎΠΌ ΠΌΠ΅ΡΠ½ΡΡΡΡΡ Π² Π‘Π¨Π ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° Π»Π΅ΠΊΡΠΈΡ ΠΊ ΠΠ°ΠΉΠΊΠ»Ρ Π‘ΠΊΠΎΡΡΡ. ΠΠΎΡΠ΅ΡΠΈΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΡΠ΅Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² Hydra Π²ΡΡΠ»ΠΎ Π±Ρ Π² Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π½Π΅ ΡΡΠΈΡΠ°Ρ Π±Π΅Π·Π΄Π½Ρ ΠΏΠΎΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (Ρ ΠΎΡΡ ΡΡΠΎ Π·Π²ΡΡΠΈΡ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ²Π΅ΡΡ).
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΠΏΠΎΠ²ΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΈ ΠΈΠΌ ΡΠΎΡΠ½ΠΎ Π΅ΡΡΡ ΡΡΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ. ΠΠΎ Π²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΈ ΠΈΡ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΡΠΎΠ³ΠΎ. ΠΠ°, Π΅ΡΠ»ΠΈ ΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ Microsoft, Google ΠΈΠ»ΠΈ JetBrains, Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Π²ΡΡΡΠ΅ΡΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΠΏΠΈΠΊΠ΅ΡΠΎΠ² Π½Π° Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΠΈ β ΡΠ΅Π·ΠΊΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π΅Ρ, Π° Π²ΠΎΠΎΠ±ΡΠ΅ β Π½Π΅Ρ, Π½Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ Hydra Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²Π°ΠΆΠ½ΡΡ Π·Π°Π΄Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½Π°Ρ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΌΠΈ β Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΈ Π² ΠΎΠ΄Π½ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π»ΡΠ΄Π΅ΠΉ, ΠΈΠ΄Π΅ΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²Π°ΡΡ ΠΆΠΈΠ·Π½Ρ. ΠΠΎΠΏΡΡΠΊΠ°Ρ, ΡΡΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ Π²ΡΠ΅ΠΌ Π½ΡΠΆΠ½Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΈ. ΠΠΎΠΆΠ½ΠΎ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΆΠΈΠ·Π½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ CRUD-Ρ Π½Π° PHP ΠΈ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ ΡΡΠ°ΡΡΠ»ΠΈΠ²ΡΠΌ. ΠΠΎ ΠΊΠΎΠΌΡ Π½ΡΠΆΠ½Ρ β ΡΡΠΎ Π²Π°Ρ ΡΠ°Π½Ρ.
Π‘ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π°Π½ΠΎΠ½ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Hydra Π½Π° Π₯Π°Π±ΡΠ΅ ΠΏΡΠΎΡΠ»ΠΎ ΡΠΆΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π° ΠΎΠ³ΡΠΎΠΌΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° β ΠΈ Π²ΠΎΡ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Ρ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ². ΠΠΈΠΊΠ°ΠΊΠΈΡ Π²ΡΠ»Π΅Π½ΡΠΊΠΈΡ ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡΡΠΉ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ Ρ Π°ΡΠ΄ΠΊΠΎΡ! ΠΠ°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡ Ρ ΠΎΠ±ΡΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π° ΡΡΠΊΠ°Ρ .
ΠΠ΅ΠΉΠ½ΠΎΡΡΡ
ΠΠ΅ΠΉΠ½ΠΎΡΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΈ Π·Π°Π²Π΅ΡΡΠ°ΡΡ Π΄Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ. ΠΠ±ΡΡΠ½ΠΎ ΡΠΌΡΡΠ» ΠΎΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΊΠ΅ΠΉΠ½ΠΎΡΡΠ° β Π·Π°Π΄Π°ΡΡ ΠΎΠ±ΡΠΈΠΉ Π΄ΡΡ ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ. ΠΠ°ΠΊΡΡΠ²Π°ΡΡΠΈΠΉ ΠΊΠ΅ΠΉΠ½ΠΎΡΡ ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΡΡ ΠΈ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ, ΠΊΠ°ΠΊ Π½Π°ΠΌ ΠΆΠΈΡΡ Ρ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠ½Π½ΡΠΌΠΈ Π² Π΄Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ ΠΈ Π½Π°Π²ΡΠΊΠ°ΠΌΠΈ. ΠΠ°ΡΠ°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ: ΡΠΎ, ΡΡΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡΡ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ, ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅, ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Cliff Click β The H2O distributed K/V algorithm
ΠΠ»ΠΈΡΡ β Π»Π΅Π³Π΅Π½Π΄Π° Java-ΠΌΠΈΡΠ°. Π ΠΊΠΎΠ½ΡΠ΅ 90-Ρ
Π³ΠΎΠ΄ΠΎΠ² Π΄Π»Ρ PhD-ΡΠ΅Π·ΠΈΡΠ° ΠΎΠ½ Π½Π°ΠΏΠΈΡΠ°Π» ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ
Π ΠΎΡΠΊΡΡΠ²Π°ΡΡΠ΅ΠΌ ΠΊΠ΅ΠΉΠ½ΠΎΡΡΠ΅ ΠΠ»ΠΈΡΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ ΠΎ Π΄ΡΡΠ³ΠΎΠΌ ΡΠ²ΠΎΡΠΌ Π½Π°ΡΠΈΠ½Π°Π½ΠΈΠΈ β
ΠΡΡ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΊΠ»Π°Π΄, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π²ΡΡΡΡΠΏΠΈΡ ΠΠ»ΠΈΡΡ β
Π‘Π°ΠΌΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΡΠ°ΡΡΡ Π½Π°ΡΠ°Π»Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΆΠ΅Π»Π΅Π·ΠΎ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π±ΠΈΠ·Π½Π΅ΡΠ° β ΡΡΠΏΠ΅ΡΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Java. ΠΡΠΎ Π±ΡΠ»Π° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΡΡΠΊΠ°, Π·Π°ΡΠΎΡΠ΅Π½Π½Π°Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄ Java, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ β Π±Π°ΡΡΠ΅ΡΡ ΠΏΠ°ΠΌΡΡΠΈ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π½ΠΈΠ·ΠΊΠΎΠΏΠ°ΡΠ·Π½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ°, ΠΌΠ°ΡΡΠΈΠ²Ρ Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ Π³ΡΠ°Π½ΠΈΡ, Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρβ¦ ΠΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΡΡΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ β Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ. ΠΠ΅ΡΡ L1 Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ· 864 ΡΠ΄Π΅Ρ ΠΌΠΎΠ³ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, ΡΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ Π² Java (synchronized-Π±Π»ΠΎΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ, Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° ΠΏΠΎ ΠΏΠ°ΠΌΡΡΠΈ). ΠΠΎ ΠΊΡΠ°ΡΠΈΠ²Π°Ρ ΠΈΠ΄Π΅Ρ ΡΠ°Π·Π±ΠΈΠ»Π°ΡΡ ΠΎ ΡΡΡΠΎΠ²ΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡ β ΠΈ Π² ΡΡΠΎΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΠΠ»ΠΈΡΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ, ΠΏΠΎΡΠ΅ΠΌΡ HTM ΠΈ STM Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ Π½ΡΠΆΠ΄ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ.
Michael Scott β Dual data structures
ΠΠ΅ΡΡ ΠΌΠΈΡ Π·Π½Π°Π΅Ρ ΠΠ°ΠΉΠΊΠ»Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠ΅Π±Π½ΠΈΠΊΡ
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Java-ΠΌΠΈΡΠ°, ΡΠΎ ΡΡΡ ΡΠ»ΡΡΠ°ΠΉ ΠΎΡΠΎΠ±ΡΠΉ: Π²ΠΌΠ΅ΡΡΠ΅ Ρ Doug Lea ΠΎΠ½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π» ΡΠ΅ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ
ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Java. ΠΠΌΠ΅Π½Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΠΈ Π±ΡΠ΄Π΅Ρ ΠΊΠ΅ΠΉΠ½ΠΎΡΡ Β«Dual data structuresΒ» β Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡ
ΡΡΡΡΠΊΡΡΡ Π² Java SE 6 ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π² 10 ΡΠ°Π· ΡΠ»ΡΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ java.util.concurrent.ThreadPoolExecutor
. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠΈ ΡΠ°ΠΌΡΠ΅ Β«Dual data structuresΒ», ΡΠΎ ΠΏΡΠΎ ΡΡΠΎ Π΅ΡΡΡ
Maurice Herlihy β Blockchains and the future of distributed computing
ΠΠ° ΡΡΠΎΠΌ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅ΠΌ ΠΊΠ΅ΠΉΠ½ΠΎΡΡΠ΅ ΠΠΎΡΠΈΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ ΠΎ ΡΠ΅ΠΎΡΠΈΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½ΠΎΠ²ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΈΠΊΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΡΠΎ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎ ΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ β ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΠΏΡΠΎ ΠΌΠ°ΠΉΠ½ΠΈΠ½Π³ΠΎΠ²ΡΠΉ Ρ Π°ΠΉΠΏ, Π° ΡΠΊΠΎΡΠ΅ΠΉ ΠΏΡΠΎ ΡΠΎ, ΠΊΠ°ΠΊ Π½Π°ΡΠΈ Π·Π½Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈ ΡΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΡΠ°ΠΌΡΠΌ ΡΠ°Π·Π½ΡΠΌ Π·Π°Π΄Π°ΡΠ°ΠΌ.
Π ΠΈΡΠ»Π΅ 2017 Π³ΠΎΠ΄Π° ΠΠΎΡΠΈΡ ΡΠΆΠ΅ ΠΏΡΠΈΠ΅Π·ΠΆΠ°Π» Π² Π ΠΎΡΡΠΈΡ Π½Π° ΡΠΊΠΎΠ»Ρ SPTDC, ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°Π» Π² ΠΌΠΈΡΠ°ΠΏΠ΅ JUG.ru, ΠΈ Π·Π°ΠΏΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° YouTube:
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
ΠΠ°Π»ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠ±Π·ΠΎΡ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ², Π²ΠΎΡΠ΅Π΄ΡΠΈΡ
Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π§Π°ΡΡΡ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² Π·Π΄Π΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ, ΡΠ°ΡΡΡ β Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠΎ. ΠΠ»ΠΈΠ½Π½ΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄ΠΎΡΡΠ°Π»ΠΈΡΡ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, Π°Π½Π³Π»ΠΎΡΠ·ΡΡΠ½ΡΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π°ΠΌ, ΡΡΠ΅Π±ΡΡΡΠΈΠΌ ΡΡΡΠ»ΠΎΠΊ Π½Π° Π½Π°ΡΡΠ½ΡΠ΅ ΡΠ°Π±ΠΎΡΡ, ΡΠ΅ΡΠΌΠΈΠ½Ρ Π½Π° ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ
Leslie Lamport β Q & A
ΠΠ΅ΡΠ»ΠΈ ΠΡΠΌΠΏΠΎΡΡ β Π°Π²ΡΠΎΡ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡΡΠΈΡ
ΡΠ°Π±ΠΎΡ Π² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΡ
.
ΠΡΠΎ ΡΠ°ΠΌΠ°Ρ Π½Π΅ΠΎΠ±ΡΡΠ½Π°Ρ ΠΏΠΎ ΡΠΎΡΠΌΠ°ΡΡ ΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ Π΄ΠΎΠΊΠ»Π°Π΄, Π° ΡΠ΅ΡΡΠΈΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΎΡΠ²Π΅ΡΠΎΠ². ΠΠΎΠ³Π΄Π° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠΈ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠ° (ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ) ΡΠΎ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΠΌΠΈ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π½Π° Β«ΡΠ΅ΠΎΡΠΈΠΈ ΠΡΠΌΠΏΠΎΡΡΠ°Β», Π΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΡΡΠ°ΡΡΡΠΌΠΈ ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄Π°ΠΌΠΈ, Π²Π°ΠΆΠ½Π΅ΠΉ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π²ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΏΡΡΠΌΠΎΠ΅ ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠ°Ρ β Π²Ρ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° YouTube Π΄Π²Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°:
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΈΠ· ΡΡΠΈΡ
Π΄Π²ΡΡ
Π²ΠΈΠ΄Π΅ΠΎ ΠΌΡ ΡΠΆΠ΅
ΠΠ° Π·Π°ΠΌΠ΅ΡΠΊΡ: Π½Π° YouTube Π΅ΡΡΡ ΠΊΡΠ΄Π° Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ Ρ ΠΠ΅ΡΠ»ΠΈ ΠΡΠΌΠΏΠΎΡΡΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ
Martin Kleppmann β Syncing data across user devices for distributed collaboration
ΠΠ°ΡΡΠΈΠ½ ΠΠ»Π΅ΠΏΠΏΠΌΠ°Π½Π½ β ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΠ΅ΠΌΠ±ΡΠΈΠ΄ΠΆΡΠΊΠΎΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ΅, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π°Π΄ CRDT ΠΈ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². ΠΠ½ΠΈΠ³Π° ΠΠ°ΡΡΠΈΠ½Π°
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π·Π°Π½ΡΡΡΡΡ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ, ΠΠ°ΡΡΠΈΠ½ ΡΠ°Π±ΠΎΡΠ°Π» Π² ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ ΠΈ ΡΡΠ°Π» ΡΠΎΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π΄Π²ΡΡ ΡΡΠΏΠ΅ΡΠ½ΡΡ ΡΡΠ°ΡΡΠ°ΠΏΠΎΠ²:
- Rapportive, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² ΠΈΠ· Π²Π°ΡΠ΅ΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ LinkedIn ΠΊΡΠΏΠΈΠ»ΠΈ Π² 2012 Π³ΠΎΠ΄Ρ;
- Go Test It, ΡΠ΅ΡΠ²ΠΈΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π΅Π±-ΡΠ°ΠΉΡΠΎΠ² Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠΉ RedGate ΠΊΡΠΏΠΈΠ»ΠΈ Π² 2009 Π³ΠΎΠ΄Ρ.
Π ΠΎΠ±ΡΠ΅ΠΌ, ΠΠ°ΡΡΠΈΠ½ Ρ ΠΎΡΡ ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½, ΡΠ΅ΠΌ Π½Π°ΡΠΈ ΠΊΠ΅ΠΉΠ½ΠΎΡΡΠ΅ΡΡ, Π½ΠΎ ΡΠΆΠ΅ ΡΠΌΠΎΠ³ Π²Π½Π΅ΡΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»Π°Π΄ ΠΈ Π² ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, ΠΈ Π² ΠΈΠ½Π΄ΡΡΡΡΠΈΡ.
Π ΡΡΠΎΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΠΠ°ΡΡΠΈΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎ ΡΠ΅ΠΌΠ΅, Π±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΎΠΉ ΠΊ Π΅Π³ΠΎ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡΠΌ. Π Google Docs ΠΈ ΠΏΠΎΡ
ΠΎΠΆΠ΅ΠΌ ΡΠΎΡΠ΅ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², Β«ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅Β» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π·Π°Π΄Π°ΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ: ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ΠΈ ΠΏΠΎΡΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ, ΠΈ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΡΡΡΠ»Π°ΡΡΡΡ ΠΏΠΎ ΡΠ΅ΡΠΈ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΎΡΡΠ»Π°ΠΉΠ½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌ, ΠΈ ΠΏΠ΅ΡΠ΅-ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ². ΠΠ°ΠΊ ΡΠ°Π· Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ
ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π½Π΅Π΄Π΅Π»Π΅ ΠΌΡ ΠΎΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΠΌ Π½Π° Π₯Π°Π±ΡΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ Ρ ΠΠ°ΡΡΠΈΠ½ΠΎΠΌ, Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ.
Pedro Ramalhete β Wait-free data structures and wait-free transactions
ΠΠ΅Π΄ΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Cisco ΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π»Π΅Ρ ΡΠ΄Π°ΠΊ Π΄Π΅ΡΡΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ, lock-free ΠΈ wait-free ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
ΠΈ Π²ΡΡ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ. ΠΠ³ΠΎ ΡΠ΅ΠΊΡΡΠΈΠ΅ Π½Π°ΡΡΠ½ΡΠ΅ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡ ΡΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° Universal Constructions, Software Transactional Memory, Persistent Memory ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ
, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ
ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΈ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π Π΅ΡΡ ΠΎΠ½ β Π°Π²ΡΠΎΡ ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ Π² ΡΠ·ΠΊΠΈΡ
ΠΊΡΡΠ³Π°Ρ
Π±Π»ΠΎΠ³Π°
ΠΠ° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΠ°Ρ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π°ΠΊΡΠΎΡΠ°ΠΌΠΈ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π² key-value Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°Ρ . Π Java JDK ΠΎΠ½ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ Π»Π΅Ρ, Π΄Π° ΠΈ Π² C++ ΠΏΠΎΡΠΈΡ ΠΎΠ½ΡΠΊΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ.
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ β ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½Π°Ρ (ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½Π°Ρ) ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄Ρ Π·Π°ΡΠΈΡΠ΅Π½Ρ ΠΌΡΡΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΡΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π»ΡΠ±ΠΎΠΌΡ Π΄ΠΆΡΠ½Ρ, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, lock-free ΠΈ wait-free ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π»ΡΡΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ, Π½ΠΎ ΠΈ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄Π°ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ β ΠΎΠ΄Π½Π°ΠΊΠΎ, Π΄Π»Ρ ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π³Π»ΡΠ±ΠΎΠΊΠ°Ρ ΡΠΊΡΠΏΠ΅ΡΡΠΈΠ·Π° ΠΈ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ΄Π½ΠΎΠΉ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΡΡΠΎΡΠΊΠΈ ΠΊΠΎΠ΄Π° Ρ Π²Π°ΡΠΈΡ, ΡΡΠΎΠ±Ρ Π²ΡΡ ΡΠ»ΠΎΠΌΠ°ΡΡ.
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π΄Π°ΠΆΠ΅ Π½Π΅ΡΠΊΡΠΏΠ΅ΡΡ ΡΠΌΠΎΠ³ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΈΡΡ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
? ΠΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π»ΠΈΠ±ΠΎ
Heidi Howard β Liberating distributed consensus
Π₯Π°ΠΉΠ΄ΠΈ ΠΠΎΠ²Π°ΡΠ΄ β ΠΊΠ°ΠΊ ΠΈ ΠΠ°ΡΡΠΈΠ½, ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ Π² ΠΠ΅ΠΌΠ±ΡΠΈΠ΄ΠΆΡΠΊΠΎΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ΅. ΠΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ β ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡ, ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ. ΠΠ½Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½Π° ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Paxos ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΠΉΡΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Ρ ΠΎΡΡΠ°ΠΌΠΈ β Π΄Π»Ρ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ, Π²ΡΠ±ΠΎΡΠ° Π»ΠΈΠ΄Π΅ΡΠ°, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΠΈ β ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ. Paxos ΡΠ΅ΠΉΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡΠ°, ΠΈ Π²ΠΎΠΊΡΡΠ³ Π½Π΅Π³ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ Ρ ΡΠ΅Π»ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½ΡΠΆΠ΄Ρ.
Π ΡΡΠΎΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΡΠ½ΠΎΠ²Ρ Paxos, ΠΎΡΠ»Π°Π±Π»ΡΡ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±ΠΎΠ±ΡΠ°Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ. ΠΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Paxos, ΠΏΠΎ ΡΡΡΠΈ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΡΠ΅Π΄ΠΈ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠ΅ΠΊΡΡΠ° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² ΠΊ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡΡ, ΠΈ ΡΡΠΎ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΡΠΏΠ΅ΠΊΡΡΠ° ΡΠΎΠΆΠ΅ Π²Π΅ΡΡΠΌΠ° ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Ρ ΠΎΡΠΎΡΠΈΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
Alex Petrov β Reduce your storage costs with Transient Replication and Cheap Quorums
ΠΠ»Π΅ΠΊΡ β ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ ΠΏΠΎ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ, ΠΈ ΡΡΠΎ Π²Π°ΠΆΠ½Π΅ΠΉ Π΄Π»Ρ Π½Π°Ρ β ΠΊΠΎΠΌΠΌΠΈΡΠ΅Ρ Π²
ΠΠ»Ρ ΡΠΈΡΡΠ΅ΠΌ Ρ
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²ΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΡ ΡΠ΅Π½Ρ. ΠΠ²ΠΎΡΡΠΌΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ: Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ·Π»Π°Ρ ΡΡΠ°Π·Ρ, ΡΡΠΎΠ±Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΏΠΈΠΉ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Ρ ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π²ΡΠ΅Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°Ρ . ΠΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Π΅ΡΠ»ΠΈ Π΄Π΅ΡΠΆΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠ°ΡΡΠΈ ΡΠ·Π»ΠΎΠ², Π° Π΄Π»Ρ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ±ΠΎΠ΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π½ΠΎΠ΄Ρ (Transient Replica).
ΠΠΎ Ρ
ΠΎΠ΄Ρ Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ
ΠΠΌΠΈΡΡΠΈΠΉ ΠΡΡΠΊΠΎΠ² β Goroutines exposed
ΠΠΌΠΈΡΡΠΈΠΉ β ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² Google, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π°Π΄ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ C/C++ ΠΈ Go β Address/Memory/ThreadSanitizer, ΠΈ Π½Π°Π΄ ΠΏΠΎΡ
ΠΎΠΆΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠ΄ΡΠ° Linux. ΠΠ°ΠΊΠΎΠ½ΡΡΠΈΠ±ΡΡΡΠΈΠ» Π² Go ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠΉ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π³ΠΎΡΡΡΠΈΠ½, network poller ΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°. Π―Π²Π»ΡΠ΅ΡΡΡ ΡΠΊΡΠΏΠ΅ΡΡΠΎΠΌ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ, Π°Π²ΡΠΎΡΠΎΠΌ Π΄ΡΠΆΠΈΠ½Ρ Π½ΠΎΠ²ΡΡ
Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΡ
Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±Π»Π°Π΄Π°ΡΠ΅Π»Π΅ΠΌ
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ ΡΠ°ΠΌΠΎΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π΅. Π ΡΠ·ΡΠΊΠ΅ Go ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π½Π°ΡΠΈΠ²Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ Π² ΡΠΎΡΠΌΠ΅ Π³ΠΎΡΡΡΠΈΠ½ (Π»Π΅Π³ΠΊΠΈΡ ΡΡΠ΅Π΄ΠΎΠ²) ΠΈ ΠΊΠ°Π½Π°Π»ΠΎΠ² (ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ FIFO). ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΈΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΈ ΠΏΡΠΈΡΡΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ ΠΌΠ°Π³ΠΈΡ. ΠΠ°ΠΊ ΠΌΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ°Π³ΠΈΠΈ Π·Π΄Π΅ΡΡ Π½Π΅Ρ. Π ΡΡΠΎΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΠΠΌΠΈΡΡΠΈΠΉ ΡΠ³Π»ΡΠ±ΠΈΡΡΡ Π² ΡΠΎΠ½ΠΊΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Go ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠ΅ΠΊΡΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠΉ Β«ΠΌΠ°Π³ΠΈΠΈΒ». ΠΠ½Π°ΡΠ°Π»Π΅ ΠΎΠ½ Π΄Π°ΡΡ ΠΎΠ±Π·ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ°Π»ΡΡΠ΅ ΠΌΡ Π±Π»ΠΈΠΆΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌΠΈ Π²ΡΠΎΠ΄Π΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΏΠ°ΡΠΊΠΎΠ²ΠΊΠΈ/ΡΠ°ΡΠΏΠ°ΡΠΊΠΎΠ²ΠΊΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ². ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΠΌΠΈΡΡΠΈΠΉ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡΡ Π² ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ΅.
ΠΠΌΠΈΡΡΠΈΠΉ ΠΡΠ³Π°ΠΉΡΠ΅Π½ΠΊΠΎ β Π£ΡΠΊΠΎΡΡΠ΅ΠΌ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· Π³ΡΠ°ΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ½ΡΡ
ΡΠΊΠ΅ΡΡΠ΅ΠΉ ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ
ΠΠΌΠΈΡΡΠΈΠΉ ΠΏΠΎΡΡΠΈ 9 Π»Π΅Ρ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠ°Π» Π² Π°ΡΡΡΠΎΡΡΠΈΠ½Π³Π΅, Π½Π΅ ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ° Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠΎΠΌ ΠΈ Π½Π°ΡΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄ΠΎΠΉ. ΠΠ½Π°Π»ΠΈΠ· Π±ΠΎΠ»ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ ΡΡΠ°Π» Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΡΠ°Π½ΡΠΎΠΌ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΡ ΠΈ Π½Π°ΡΡΠ½ΡΠΉ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½Ρ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΡΡ , Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ².
Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· Π³ΡΠ°ΡΠΎΠ² Π±ΡΠ» ΠΈ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ: ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ²ΡΠ·ΡΡ ΡΠΎΡΠ΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠ½Ρ, Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅Π³ΠΎΠ½ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠΈ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠ΅ Π½Π° ΡΠ΅ΡΠ΅Π²ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ. Π ΡΡΠΎΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΠ°ΠΊΡΡ Π²ΡΠΎΠ΄Π΅ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΡΡΠΈ Π³ΡΠ°ΡΠ° Π΄ΡΡΠΆΠ± Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ. ΠΡΡ ΡΡΠΎ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π° Π½Π° Apache Spark.
ΠΠ΅Π½ΠΈΡ Π ΡΡΡΠΎΠ² β Reduce your storage costs with Transient Replication and Cheap Quorums
ΠΠ΅Π½ΠΈΡ β ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ
Π ΡΡΠΎΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΠΏΡΠΈΠ΄ΡΠΌΠ°Π½Π½ΡΠΌΠΈ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅ ΠΏΠΎΠ²Π΅ΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ (compare and set). Π‘ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΆΠΈΠ·Π½Ρ Π½Π΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π΄Π²ΡΡ ΡΠ°Π·Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ, ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π»ΡΠ±ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ β Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ (2PC, Percolator, RAMP) ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ΅ΠΉΠ΄ΠΎΡΡΡ ΠΈ Π½Π΅ Π΄Π°ΡΡΡΡ Π½Π°ΠΌ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ.
ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠΈΠ½ΠΎΠ²ΡΠ΅Π² β ΠΠ΅ Π²ΡΠ΅ ML-Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉ
ΠΠ»Π΅ΠΊΡΠ΅ΠΉ (
Π ΡΡΠΎΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΎΠΏΡΡΠ° ΡΠ°Π±ΠΎΡΡ Ρ Apache Spark ML, Apache Mahout, Apache Flink ML ΠΈ ΠΎΠΏΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Apache Ignite ML. Π’Π°ΠΊΠΆΠ΅ ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ML-Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π² ΡΡΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ .
Π Π² Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ β Π΄Π²Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Yandex ΠΏΡΠΎ Yandex Database.
ΠΠ»Π°Π΄ΠΈΡΠ»Π°Π² ΠΡΠ·Π½Π΅ΡΠΎΠ² β Yandex Database β ΠΊΠ°ΠΊ ΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΠΌ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ
ΠΠ»Π°Π΄ΠΈΡΠ»Π°Π² β ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² Π―Π½Π΄Π΅ΠΊΡΠ΅ Π² Π³ΡΡΠΏΠΏΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. Yandex Database β Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠ°Ρ Π³Π΅ΠΎΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²Π°Ρ Π‘Π£ΠΠ, Π²ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ°Ρ ΠΎΡΠΊΠ°Π· Π΄ΠΈΡΠΊΠΎΠ², ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΡΡΠΎΠ΅ΠΊ ΠΈ Π΄Π°ΡΠ°ΡΠ΅Π½ΡΡΠΎΠ² Π±Π΅Π· Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ. ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΄ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π² Π΄ΠΎΠΊΠ»Π°Π΄Π΅. ΠΠΎΠΊΠ»Π°Π΄ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π‘Π£ΠΠ, ΡΠ°ΠΊ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ Π‘Π£ΠΠ.
Π‘Π΅ΠΌΠ΅Π½ Π§Π΅ΡΠ΅ΡΠΈΠ½Π΄Π° β Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² YDB
Π‘Π΅ΠΌΠ΅Π½ β ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² Π³ΡΡΠΏΠΏΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π² Π―Π½Π΄Π΅ΠΊΡΠ΅, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΌΡΠ»ΡΡΠΈΠ°ΡΠ΅Π½Π΄Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ YDB.
Yandex Database ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° Π½Π° OLTP-Π·Π°ΠΏΡΠΎΡΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ACID ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, Π»Π΅ΠΆΠ°ΡΠΈΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ YDB. Π Π°Π·Π±Π΅ΡΠ΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ ΡΡΠ°ΡΡΠ²ΡΡΡ Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡ , ΠΊΡΠΎ Π½Π°Π·Π½Π°ΡΠ°Π΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ, ΠΊΠ°ΠΊ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΠΈ ΡΡΡΠΎΠ³ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ. ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π΄Π²ΡΡ ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΠ±ΡΡΠ΄ΠΈΠΌ ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ.
Π§ΡΠΎ Π΄Π°Π»ΡΡΠ΅?
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π½Π°ΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½ΠΎΠ²ΡΠΌΠΈ Π΄ΠΎΠΊΠ»Π°Π΄Π°ΠΌΠΈ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΎΡ ΠΠΈΠΊΠΈΡΡ ΠΠΎΠ²Π°Π»Ρ (
ΠΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ Hydra ΡΠΎΡΡΠΎΠΈΡΡΡ Π² 11-12 ΠΈΡΠ»Ρ Π² Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³Π΅. ΠΠΈΠ»Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ
ΠΡΡΡΠ΅ΡΠΈΠΌΡΡ Π½Π° Hydra!
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com