ΠΡΠ΅Π΄Π»Π°Π³Π°ΠΌ Π²ΠΈ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΡΡΠ΅Π½ΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠΎΡ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° 2020 Π³. Π½Π° ΠΠ΅ΠΎΡΠ³ΠΈ Π ΠΈΠ»ΠΎΠ² βWAL-G: Π½ΠΎΠ²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ°β
ΠΠΎΠ΄Π΄ΡΡΠΆΠ½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ ΡΠ° ΠΈΠ·ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΏΡΠ΅Π΄ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°ΡΠ΅Π»ΡΡΠ²Π°, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ°ΡΡΠ°Ρ. ΠΠ°ΠΊ Π΄Π° Π½Π°ΠΏΠΈΡΠ° Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΄Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΠΌ Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ Π΄Π° ΡΡΠΏΡΠ²Π°ΠΌ Π΄Π° ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°ΠΌ Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅? ΠΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ WAL-G (ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ Π·Π° PostgreSQL) ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ Π²ΠΈ ΡΠ°Π·ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ ΡΠ΅ΡΠΈΡ ΠΌΠ΅ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠ°ΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Ρ ΠΌΠ΅ ΠΊΡΡΡ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Π² ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ°, ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΠΎΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ΅ ΠΈ Π½Π°ΠΊΡΠ΄Π΅ ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΠΌ.
ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ Π½Π° Π²ΡΠΈΡΠΊΠΈ! ΠΠ· ΡΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° Yandex ΠΎΡ ΠΠΊΠ°ΡΠ΅ΡΠΈΠ½Π±ΡΡΠ³. Π Π΄Π½Π΅Ρ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ Π·Π° WAL-G.
ΠΠ°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π΅ ΠΊΠ°Π·Π²Π°ΡΠ΅, ΡΠ΅ ΡΡΠ°Π²Π° Π²ΡΠΏΡΠΎΡ Π·Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ. ΠΡΠΊΠΎΠΉ Π·Π½Π°Π΅ Π»ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ WAL-G? ΠΠ»ΠΈ Π²ΡΠΈΡΠΊΠΈ Π·Π½Π°ΡΡ? ΠΠ΄ΠΈΠ³Π½Π΅ΡΠ΅ ΡΡΠΊΠ°, Π°ΠΊΠΎ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅. ΠΠΎ Π΄ΡΠ²ΠΎΠ»ΠΈΡΠ΅, ΡΡΠΈΠ³Π½Π°Ρ ΡΠ΅ Π΄ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠΈ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ Π·Π° ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΠ°Π²Π° Π΄ΡΠΌΠ°.
ΠΠ΅ΠΊΠ° Π²ΠΈ ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ΅ ΡΠ»ΡΡΠΈ Π΄Π½Π΅Ρ. Π’Π°ΠΊΠ° ΡΠ΅ ΡΠ»ΡΡΠΈ, ΡΠ΅ Π½Π°ΡΠΈΡΡ Π΅ΠΊΠΈΠΏ ΠΏΡΠ°Π²ΠΈ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ ΠΎΡ Π΄ΠΎΡΡΠ° Π²ΡΠ΅ΠΌΠ΅. Π ΡΠΎΠ²Π° Π΅ ΠΎΡΠ΅ Π΅Π΄ΠΈΠ½ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΎΡ ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ°, Π² ΠΊΠΎΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ, ΡΠΈΠ³ΡΡΠ½ΠΎ, ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ.
Π ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ ΠΈΠΌΠ°ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΡΡΠ°ΠΆΠΈ Π½Π° ΠΠ½Π΄ΡΠ΅ΠΉ ΠΠΎΡΠΎΠ΄ΠΈΠ½ ΠΈ ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ ΠΠ΅ΡΠΊΠΎΠ². ΠΡΡ ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ. Π Π½ΠΈΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° WAL-G ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ.
clck.ru/F8ioz β
clck.ru/Ln8Qw β
Π’ΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΠΎΡ Π΄ΡΡΠ³ΠΈΡΠ΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π±Π΅ΡΠ΅ ΠΏΠΎ-ΡΠΊΠΎΡΠΎ Π·Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°ΡΠ° ΡΠ°ΡΡ, Π½ΠΎ ΡΡΠΊ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°Ρ ΠΌΠ΅ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ°ΡΡΠ΅ΠΆΠ° Π½Π° ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ°. Π ΠΊΠ°ΠΊ ΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ΅ Π΄ΠΎ ΠΌΠ°Π»ΠΊΠ° ΠΈΠ΄Π΅Ρ, ΠΊΠΎΡΡΠΎ Π½ΠΈ ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈΠΌ Ρ ΡΠΎΠ²Π°.
ΠΡΠ΅Π΄ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ WAL-G Π±Π΅ΡΠ΅ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠ°Π»ΡΠΊ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ΠΎΡ Citus Data. Π Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎ Π³ΠΎ Π²Π·Π΅Ρ ΠΌΠ΅. Π Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ Π΅Π΄ΠΈΠ½ ΡΠΎΠ²Π΅ΠΊ.
Π ΡΠ°ΠΌΠΎ WAL-G Π½ΡΠΌΠ°ΡΠ΅:
- ΠΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ ΠΎΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°.
- ΠΡΠΌΠ°ΡΠ΅ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ Π°ΡΡ ΠΈΠ²ΠΈ.
- ΠΡΠΌΠ°ΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ Π½Π° WAL-Delta.
- Π Π²ΡΠ΅ ΠΎΡΠ΅ Π»ΠΈΠΏΡΠ²Π°ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ.
ΠΡΠ΅Π· ΡΠ΅Π·ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ WAL-G Π½Π°ΡΠ°ΡΠ½Π° ΠΌΠ½ΠΎΠ³ΠΎ.
Π Π΄ΠΎ 2020 Π³. Π²ΡΠΈΡΠΊΠΎ ΠΏΠΎ-Π³ΠΎΡΠ΅ Π²Π΅ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ. Π ΠΊΡΠΌ ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ΅Π³Π°:
- ΠΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 1 Π·Π²Π΅Π·Π΄ΠΈ Π² GitHub.
- 150 Π²ΠΈΠ»ΠΈΡΠΈ.
- ΠΠΊΠΎΠ»ΠΎ 15 ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ PR.
- Π ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ ΡΡΡΡΡΠ΄Π½ΠΈΡΠΈ.
- Π ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ Π²ΡΠΏΡΠΎΡΠΈ ΠΏΡΠ΅Π· ΡΡΠ»ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅. Π ΡΠΎΠ²Π° Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ°ΠΊΡΠ°, ΡΠ΅ Π½ΠΈΠ΅ Π±ΡΠΊΠ²Π°Π»Π½ΠΎ Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ°ΠΌ Π²ΡΠ΅ΠΊΠΈ Π΄Π΅Π½ ΠΈ ΠΏΡΠ°Π²ΠΈΠΌ Π½Π΅ΡΠΎ ΠΏΠΎ Π²ΡΠΏΡΠΎΡΠ°.
Π ΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ΅ Π΄ΠΎ ΠΈΠ·Π²ΠΎΠ΄Π°, ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π½Π°ΡΠ΅ΡΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π΄ΠΎΡΠΈ ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°ΠΌΠΈΡΠ΅ Π½ΠΈΠ΅ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π²Π½Π΅Π΄ΡΡΠ²Π°ΠΌΠ΅ Π½ΠΈΡΠΎ Π·Π° Π½Π°ΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π° Π·Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π² Yandex.
Π Π½ΡΠΊΡΠ΄Π΅ ΠΏΡΠ΅Π· Π΅ΡΠ΅Π½ΡΠ° Π½Π° 2018 Π³. Π½ΠΈ Ρ ΡΡΠΌΠ½Π° Π΅Π΄Π½Π° ΠΈΠ΄Π΅Ρ. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ΠΊΠΈΠΏΡΡ ΠΈΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½Π°ΡΠΈΠ½Π° Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈ Π½ΡΠΊΠΎΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π΄Π° ΠΏΠΎΠΏΡΠ°Π²ΠΈ Π³ΡΠ΅ΡΠΊΠΈ, Π°ΠΊΠΎ Π½ΡΠΌΠ°ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΡΡΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°Π΅ΠΌΠ΅ΡΠ΅ Π΄ΡΡΠ³ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈ Π΄Π° ΠΌΡ ΠΏΠ»Π°ΡΠΈΡΠ΅ ΠΏΠ°ΡΠΈ. ΠΠ»ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΡΠ΅ ΡΡΠ°ΠΆΠ°Π½Ρ Π·Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ ΡΡΡΠΎ Π΄Π° ΠΌΡ ΠΏΠ»Π°ΡΠ°ΡΠ΅ Π½ΡΠΊΠ°ΠΊΠ²Π° Π·Π°ΠΏΠ»Π°ΡΠ°. ΠΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ ΠΈΠΌΠ° Π΄ΠΎΡΡΠ° Π³ΠΎΠ»ΡΠΌΠ° Π³ΡΡΠΏΠ° Ρ ΠΎΡΠ°, Π½ΡΠΊΠΎΠΈ ΠΎΡ ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠ΅ Π½Π°ΠΈΡΡΠΈΠ½Π° Π·Π½Π°ΡΡ ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΈΡΠ°Ρ ΠΊΠΎΠ΄. ΠΡΠΎΡΡΠΎ Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π΅ ΠΊΠΎΠ΄ΡΡ.
ΠΠ°ΠΌΠΈΡΠ»ΠΈΡ ΠΌΠ΅ ΡΠ΅ ΠΈ ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅ΠΌ ΡΡΡΠ΄Π΅Π½ΡΠΈ. ΠΠΎ ΡΡΠ΅Π½ΠΈΡΠΈΡΠ΅ Π½ΡΠΌΠ° Π΄Π° ΡΡΠ°ΡΡΠ²Π°Ρ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΎ Ρ Π½Π°Ρ. Π’Π΅ ΡΠ΅ ΡΠ²ΡΡΡΠ°Ρ ΡΠ°ΠΌΠΎ ΡΠ°ΡΡ ΠΎΡ ΡΠ°Π±ΠΎΡΠ°ΡΠ°. Π ΡΠ΅ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ ΠΏΠΈΡΠ°Ρ ΡΠ΅ΡΡΠΎΠ²Π΅, ΡΠ΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Ρ Π³ΡΠ΅ΡΠΊΠΈ, ΡΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ Π·Π°ΡΡΠ³Π°Ρ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ. ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π΅ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ ΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π°ΡΡ ΠΈΠ²ΠΈ. ΠΠΊΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ Π³ΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅, ΡΠ΅ ΠΏΡΠ΅ΡΡΡΠΏΠΈΠΌ Π·Π°Π³ΡΠ±Π° Π½Π° Π΄Π°Π½Π½ΠΈ. Π Π½ΠΈΠΊΠΎΠΉ Π½Π΅ ΠΈΡΠΊΠ° ΡΠΎΠ²Π°, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅. ΠΡΠ΅ΠΊΠΈ ΠΈΡΠΊΠ° Π²ΡΠΈΡΠΊΠΎ Π΄Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΠ³ΡΡΠ½ΠΎ. ΠΠ°ΡΠΎΠ²Π°, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, Π½Π΅ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π΄ΠΎΠΏΡΡΠΊΠ°ΠΌΠ΅ ΠΊΠΎΠ΄, Π½Π° ΠΊΠΎΠΉΡΠΎ Π²ΡΡΠ²Π°ΠΌΠ΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ Π½Π°ΡΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½. Π’ΠΎΠ΅ΡΡ, Π²ΡΠ΅ΠΊΠΈ Π½Π΅ΠΊΡΠΈΡΠΈΡΠ΅Π½ ΠΊΠΎΠ΄ Π΅ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ Π±ΠΈΡ ΠΌΠ΅ ΠΈΡΠΊΠ°Π»ΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΡ Π½Π°ΡΠΈΡΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠΈ.
ΠΡΠΈ ΠΊΠ°ΠΊΠ²ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ° ΡΡΡΠ΄Π΅Π½ΡΡΠΊΠΈ PR?
- ΠΡ ΡΡΡ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° Π΄Π° ΠΏΠΎΠΊΡΠΈΡΡ ΡΠ²ΠΎΡ ΠΊΠΎΠ΄ Ρ ΡΠ΅ΡΡΠΎΠ²Π΅. ΠΡΠΈΡΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠ»ΡΡΠΈ Π² CI.
- Π ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΏΡΠ΅Π· 2 ΠΏΡΠ΅Π³Π»Π΅Π΄Π°. ΠΠ΄ΠΈΠ½ ΠΎΡ ΠΠ½Π΄ΡΠ΅ΠΉ ΠΠΎΡΠΎΠ΄ΠΈΠ½ ΠΈ Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΌΠ΅Π½.
- ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π·Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡ Π΄Π°Π»ΠΈ ΡΠΎΠ²Π° Π½ΡΠΌΠ° Π΄Π° ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ Π½Π΅ΡΠΎ Π² Π½Π°ΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π°, ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΊΠ°ΡΠ²Π°ΠΌ ΡΠ±ΠΎΡΠΊΠ°ΡΠ° Ρ ΡΠΎΠ·ΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ. Π Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ Π² ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΠΊΡΠ°ΠΉ Π΄ΠΎ ΠΊΡΠ°ΠΉ, ΡΠ΅ Π½ΠΈΡΠΎ Π½Π΅ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»Ρ.
Π‘ΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΠΊΡΡΡ ΠΏΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄
ΠΠ°Π»ΠΊΠΎ Π·Π° ΡΠΎΠ²Π° Π·Π°ΡΠΎ ΡΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈ Π·Π°ΡΠΎ ΡΠΎΠ²Π°, ΡΡΡΡΠ²Π° ΠΌΠΈ ΡΠ΅, Π΅ ΡΡΡΠ°Ρ ΠΎΡΠ½Π° ΠΈΠ΄Π΅Ρ.
ΠΠ° Π½Π°Ρ ΠΏΠ΅ΡΠ°Π»Π±Π°ΡΠ° Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π°:
- ΠΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΡΡΠ΅.
- Π Π½ΠΈΠ΅ ΡΡΡΡΠΈΠΌ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΈ Π·Π° Π΅ΠΊΠΈΠΏΠ° ΡΡΠ΅Π΄ ΡΠΌΠ½ΠΈ ΡΡΡΠ΄Π΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΈΡΠ°Ρ ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ΅Π½ ΠΊΠΎΠ΄.
ΠΠ°ΠΊΠ²Π° Π΅ ΠΏΠΎΠ»Π·Π°ΡΠ° Π·Π° ΡΡΡΠ΄Π΅Π½ΡΠΈΡΠ΅?
Π’Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΡΡΠ΄Π΅Π½ΡΠΈΡΠ΅ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ ΠΏΠ°ΡΠΈ Π·Π° ΠΊΠΎΠ΄Π°, ΠΊΠΎΠΉΡΠΎ ΠΏΠΈΡΠ°Ρ, Π° ΡΠ°ΠΌΠΎ ΠΎΡΠ΅Π½ΠΊΠΈ Π·Π° ΡΠ²ΠΎΠΈΡΠ΅ ΡΡΡΠ΄Π΅Π½ΡΡΠΊΠΈ Π΄ΠΎΡΠΈΠ΅ΡΠ°.
ΠΠΎΠΏΠΈΡΠ°Ρ Π³ΠΈ Π·Π° ΡΠΎΠ²Π°. Π ΠΏΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ Π΄ΡΠΌΠΈ:
- ΠΠΏΠΈΡ Π½Π° ΡΡΡΡΡΠ΄Π½ΠΈΠΊ Π² Open Source.
- ΠΠ·Π΅ΠΌΠ΅ΡΠ΅ ΡΠ΅Π΄ Π² Π°Π²ΡΠΎΠ±ΠΈΠΎΠ³ΡΠ°ΡΠΈΡΡΠ° ΡΠΈ.
- ΠΠΎΠΊΠ°ΠΆΠ΅ΡΠ΅ ΡΠ΅ ΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²Ρ Π² Yandex.
- Π‘ΡΠ°Π½Π΅ΡΠ΅ ΡΠ»Π΅Π½ Π½Π° GSoC.
- +1 ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΠΊΡΡΡ Π·Π° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΡΠΊΠ°Ρ Π΄Π° ΠΏΠΈΡΠ°Ρ ΠΊΠΎΠ΄.
ΠΡΠΌΠ° Π΄Π° Π³ΠΎΠ²ΠΎΡΡ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Π±Π΅ΡΠ΅ ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ ΠΊΡΡΡΡΡ. Π‘Π°ΠΌΠΎ ΡΠ΅ ΠΊΠ°ΠΆΠ°, ΡΠ΅ WAL-G Π±Π΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ. Π ΡΠΎΠ·ΠΈ ΠΊΡΡΡ Π²ΠΊΠ»ΡΡΠΈΡ ΠΌΠ΅ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΊΠ°ΡΠΎ Odyssey, PostgreSQL ΠΈ ClickHouse.
Π ΡΠ΅ Π΄Π°Π΄ΠΎΡ Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ Π² ΡΠΎΠ·ΠΈ ΠΊΡΡΡ, Π½ΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ°Π·Π΄Π°Π΄ΠΎΡ Π° Π΄ΠΈΠΏΠ»ΠΎΠΌΠΈ ΠΈ ΠΊΡΡΡΠΎΠ²ΠΈ ΡΠ°Π±ΠΎΡΠΈ.
ΠΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΊΠ°ΠΆΠ΅ΡΠ΅ Π·Π° ΠΏΠΎΠ»Π·Π°ΡΠ° Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅?
Π‘Π΅Π³Π° Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΊΡΠΌ ΡΠ°ΡΡΡΠ°, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π° Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ. ΠΠ°ΠΊΠ²Π° Π΅ ΠΏΠΎΠ»Π·Π°ΡΠ° ΠΎΡ ΡΠΎΠ²Π°? ΠΡΠΏΡΠΎΡΡΡ Π΅, ΡΠ΅ ΡΡΠ΅Π½ΠΈΡΠΈΡΠ΅ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡ Π° ΠΌΠ½ΠΎΠ³ΠΎ Π³ΡΠ΅ΡΠΊΠΈ. Π Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠΈΡΠΊΠ°Ρ ΡΠ΅ ΠΎΡ Π½Π°Ρ.
Π Π½Π΅ΠΊΠ° Π²ΠΈ ΡΠ°Π·ΠΊΠ°ΠΆΠ° Π·Π° Π½Π΅ΡΠ°ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ΄Π°Π²Π½Π° ΡΡΠ΅ ΠΈΡΠΊΠ°Π»ΠΈ ΠΈ ΠΊΠΎΠΈΡΠΎ ΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π»ΠΈ.
ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°Π±Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°. ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΡΠ° Π·Π° ΡΠ°Π±Π»ΠΈΡΠΈ Π² WAL-G ΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π°Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ»Π΅Π΄ ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° WAL-G, ΡΡΠΉ ΠΊΠ°ΡΠΎ WAL-G Π΅ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ Π½Π° Π΄ΡΡΠ³ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ WAL-E, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Π°ΡΡ ΠΈΠ²ΠΈ Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π·Π° ΡΠ°Π±Π»ΠΈΡΠΈ.
ΠΠΎΠ·Π²ΠΎΠ»Π΅ΡΠ΅ ΠΌΠΈ Π΄Π° Π²ΠΈ Π½Π°ΠΏΠΎΠΌΠ½Ρ Π½Π°ΠΊΡΠ°ΡΠΊΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° ΠΈ Π·Π°ΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π²ΡΠΈΡΠΊΠΈ Π²Π°ΡΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° Postgres Π·Π°Π΅ΠΌΠ°Ρ Π΅Π΄Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π½Π°ΡΠ΅ΡΠ΅Π½Π° Π±Π°Π·Π°. Π ΡΠ°Π·ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π²Π΅ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ° Π²ΡΠΈΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΏΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈ ΠΎΡ Postgres.
ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΡΠ° Π·Π° ΡΠ°Π±Π»ΠΈΡΠΈ ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Ρ Π΄Π°Π½Π½ΠΈ Π½Π° Postgres, Π½ΠΎ Π½Π΅ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ ΠΈΠ·Π²ΡΠ½ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ. Π‘Π»Π°ΠΉΠ΄ΡΡ ΠΏΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ tablespacs ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ ΠΈΠ·Π²ΡΠ½ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
ΠΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠΎΠ²Π° Π·Π° ΡΠ°ΠΌΠΈΡ Postgres? Π ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈΠΌΠ° ΠΎΡΠ΄Π΅Π»Π½Π° ΠΏΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ pg_tblspc. Π ΡΡΠ΄ΡΡΠΆΠ° ΡΠΈΠΌΠ²ΠΎΠ»Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΊΡΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π²ΡΡΡΠ½ΠΎΡΡ ΡΡΠ΄ΡΡΠΆΠ°Ρ Π΄Π°Π½Π½ΠΈ Π½Π° Postgres ΠΈΠ·Π²ΡΠ½ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
ΠΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°, ΡΠΎΠ³Π°Π²Π° Π·Π° Π²Π°Ρ ΡΠ΅Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ Π½Π΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ. Π’ΠΎΠ΅ΡΡ, Π²ΠΈΠ΅ ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠ° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΡ ΡΠ°Π±Π»ΠΈΡΠΈ ΠΈ Π²ΠΈΠΆΠ΄Π°ΡΠ΅ ΠΊΡΠ΄Π΅ Π΅ ΡΠ΅Π³Π°. Π’ΠΎΠ²Π° ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π΄Π²Π° ΡΠ΅Π΄Π°, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π΄Π²Π΅ ΠΈΠ·Π²ΠΈΠΊΠ°Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. Π ΡΠ°ΠΌ Π΅ ΡΡΠ½ΠΎ, ΡΠ΅ ΠΈΠΌΠ° Π½ΡΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½. ΠΠΎ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΡΠΎΠ²Π° Π½Π΅ Π΅ ΠΈΡΡΠΈΠ½ΡΠΊΠΈΡΡ Π½Π°ΡΠΈΠ½. Π’ΠΎΠ²Π° Π΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΈΡΡ ΠΏΡΡ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄ΠΎ ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. Π ΠΎΡΡΠ°ΠΌ ΡΠ΅ ΡΡΠΏΠΎΡΡΠ°Π²Ρ ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Π½Π° Π²ΡΡΠ·ΠΊΠ°, ΠΊΠΎΡΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π²Π°ΡΠΈΡΠ΅ ΡΠ΅Π°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ.
ΠΠΈΠ΅ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π² Π½Π°ΡΠΈΡ Π΅ΠΊΠΈΠΏ, Π½ΠΎ Π±Π΅ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π½Π° WAL-E, ΠΊΠΎΠΈΡΠΎ Π½ΠΈ ΠΏΠΈΡΠ°Ρ Π°, ΡΠ΅ ΠΈΡΠΊΠ°Ρ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Ρ ΠΊΡΠΌ WAL-G, Π½ΠΎ ΡΠΎΠ²Π° Π³ΠΈ ΡΠΏΠΈΡΠ°ΡΠ΅. Π’ΠΎΠ²Π° Π²Π΅ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°.
ΠΡΡΠ³Π° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°, ΠΊΠΎΡΡΠΎ Π½ΠΈ Π΄ΠΎΠ½Π΅ΡΠ΅ Π½Π°ΡΠΈΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΠΊΡΡΡ, Π΅ Π½Π°Π²Π°ΠΊΡΠ²Π°Π½Π΅ΡΠΎ. Π₯ΠΎΡΠ°ΡΠ°, ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ° ΡΠ°Π±ΠΎΡΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Ρ Oracle, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ Ρ Postgres, Π·Π½Π°ΡΡ Π·Π° Π½Π°Π²Π°ΠΊΡΠ²Π°Π½Π΅ΡΠΎ.
ΠΠ°ΠΊΡΠ°ΡΠΊΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°. Π’ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° Π² Π½Π°ΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½. ΠΠΌΠ°ΠΌΠ΅ ΠΌΠ°ΠΉΡΡΠΎΡ. ΠΠΌΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, ΠΊΠΎΡΡΠΎ ΠΏΡΠ΅Π΄Π°Π²Π° ΠΏΠΎΡΠΎΡΠ½ΠΎ Π»ΠΎΠ³Π° Π·Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ ΠΎΡ Π½Π΅Π³ΠΎ. Π ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ° ΠΊΠ°Π·Π²Π° Π½Π° Π³Π»Π°Π²Π½ΠΈΡ Π½Π° ΠΊΠΎΠΉ LSN Π΅ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°. Π Π½ΡΠΊΡΠ΄Π΅ ΡΡΠΏΠΎΡΠ΅Π΄Π½ΠΎ Ρ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π°ΡΡ ΠΈΠ²ΠΈΡΠ° Π΄Π½Π΅Π²Π½ΠΈΠΊΡΡ. Π Π² Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π΄Π½Π΅Π²Π½ΠΈΠΊΠ°, ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈΡΠ΅ ΠΊΠΎΠΏΠΈΡ ΡΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π² ΠΎΠ±Π»Π°ΠΊΠ°. Π ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π΄Π΅Π»ΡΠ° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ.
ΠΠ°ΠΊΡΠ² ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°? ΠΠΎΠ³Π°ΡΠΎ ΠΈΠΌΠ°ΡΠ΅ Π΄ΠΎΡΡΠ° Π³ΠΎΠ»ΡΠΌΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠΊΠ°ΠΆΠ΅, ΡΠ΅ Π²Π°ΡΠ°ΡΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΠΈΠ·ΠΎΡΡΠ°Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ ΠΊΠ°ΠΏΠΈΡΠ°Π½Π°. Π ΡΡ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΈΠ·ΠΎΡΡΠ°Π²Π°, ΡΠ΅ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΡΡΠΈΠ³Π½Π΅. Π’ΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½.
Π Π½Π°ΠΉ-Π»Π΅ΡΠ½ΠΈΡΡ Π½Π°ΡΠΈΠ½ Π΅ Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ° ΠΈ Π΄Π° Ρ ΠΊΠ°ΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ, Π·Π°ΡΠΎΡΠΎ Π½ΠΈΠΊΠΎΠ³Π° Π½ΡΠΌΠ° Π΄Π° Π½Π°Π²Π°ΠΊΡΠ°, Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΈ. ΠΠΎ ΡΠΎΠ²Π° Π΅ Π΄ΠΎΡΡΠ° Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅, Π·Π°ΡΠΎΡΠΎ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° ΡΡΠ»Π°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ 10 TB Π΅ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-Π±ΡΡΠ·ΠΎ, Π°ΠΊΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. Π ΡΠΎΡΠ½ΠΎ Π·Π° ΡΠΎΠ²Π° Π΅ Π½Π°Π²Π°ΠΊΡΠ²Π°Π½Π΅ΡΠΎ.
Catchup Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π΄Π΅Π»ΡΠ° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² ΠΎΠ±Π»Π°ΠΊΠ° ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½. ΠΠ°Π·Π²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠΉ LSN Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅ ΠΈΠ·ΠΎΡΡΠ°Π²Π°ΡΠ°ΡΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΠΈ Π³ΠΎ ΠΏΠΎΡΠΎΡΠ²Π°ΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° catchup, Π·Π° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ Π΄Π΅Π»ΡΠ° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ·ΠΈ LSN ΠΈ LSN, Π½Π° ΠΊΠΎΠΉΡΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π²Π°ΡΠΈΡΡ ΠΊΠ»ΡΡΡΠ΅Ρ. Π ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°ΡΠ΅ ΡΠΎΠ²Π° Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ°, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΎΡΡΠ°Π²Π°ΡΠ΅.
ΠΡΡΠ³ΠΈ Π±Π°Π·ΠΈ
Π‘ΡΡΠ΄Π΅Π½ΡΠΈΡΠ΅ ΡΡΡΠΎ Π½ΠΈ Π΄ΠΎΠ½Π΅ΡΠΎΡ Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Π²Π΅Π΄Π½ΡΠΆ. Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π² Yandex Π½ΠΈΠ΅ Π³ΠΎΡΠ²ΠΈΠΌ Π½Π΅ ΡΠ°ΠΌΠΎ Postgres, ΠΈΠΌΠ°ΠΌΠ΅ ΠΈ MySQL, MongoDB, Redis, ClickHouse, Π² Π΅Π΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ Ρ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π·Π° MySQL ΠΈ ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° ΠΈΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠ°ΡΠ²Π°Π½Π΅ Π³ΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ°.
Π ΠΈΡΠΊΠ°Ρ ΠΌΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΠΏΠΎ Π½Π°ΡΠΈΠ½, ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° ΡΠΎΠ·ΠΈ, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ°Π²ΠΈ WAL-G. Π ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ°ΠΌΠ΅ ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ ΡΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π²ΡΠΈΡΠΊΠΎ.
Π Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ, Π±Π΅Π· Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΡ ΡΠ°Π·ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΠΎ Π½ΠΈΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½, ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ Π° ΠΊΠΎΠ΄Π° Π²ΡΠ² ΡΠΎΡΠΊΠ°. ΠΠΈΠ΄ΡΡ Π°, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡΠΊΠ°ΠΊΡΠ² ΡΠ°Π±ΠΎΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π» ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π»Π΅ΡΠΈ. Π’ΠΎΠ³Π°Π²Π° ΡΠΈ ΠΏΠΎΠΌΠΈΡΠ»ΠΈΡ ΠΌΠ΅, ΡΠ΅ Π½Π°ΡΠ°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΎΠ±ΡΠ½ΠΎΡΡ Π΅ postgresists, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ WAL-G. Π Π·Π°ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½ Π΄Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ ΡΠ΅Π·ΠΈ ΡΠ°ΡΡΠΈ. Π’ΠΎΠ΅ΡΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΠΌΠ΅ ΠΊΠΎΠ΄ Π·Π° Postgres, Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΡΡΡΠ°Π²Π°ΠΌΠ΅ MySQL; ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΠΌΠ΅ MySQL, Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΡΡΡΠ°Π²Π°ΠΌΠ΅ Postgres.
ΠΡΡΠ²Π°ΡΠ° ΠΈΠ΄Π΅Ρ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈ ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ ΠΈΠ΄Π΅ΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΡΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡΡΠ° Π½Π° PostgreSQL. Π Π²ΡΡΡΠ½ΠΎΡΡ, Π·Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° MySQL, ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π½ΡΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°.
ΠΠΎ ΡΡΠΊ Π²Π΅Π΄Π½Π°Π³Π° ΡΠ΅ Π²ΠΈΠΆΠ΄Π° Π°ΡΠΈΠΌΠ΅ΡΡΠΈΡΡΠ° Π½Π° ΡΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄. ΠΠΎΠ³Π°ΡΠΎ Π°ΡΡ ΠΈΠ²ΠΈΡΠ°ΡΠ΅ Postgres, ΡΠ»Π°Π³Π°ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»Π΅Π½ Π±Π΅ΠΊΡΠΏ Π·Π° Postgres ΠΈ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄. Π Π·Π° MySQL ΡΠ΅ ΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π·Π° Postgres ΠΈ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π° MySQL Π·Π° Π½Π΅Π³ΠΎ. ΠΠ²ΡΡΠΈ Π½ΡΠΊΠ°ΠΊ ΡΡΡΠ°Π½Π½ΠΎ. Π Π½ΠΈΠ΅ ΡΠ°ΠΊΠ° ΡΠΈ ΠΏΠΎΠΌΠΈΡΠ»ΠΈΡ ΠΌΠ΅ ΠΈ ΡΠ΅ΡΠΈΡ ΠΌΠ΅, ΡΠ΅ ΡΠΎΠ²Π° Π½Π΅ Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΎΡ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΠΌ.
Π Π°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈ Π·Π° Postgres, MySQL, MongoDB, Redis
ΠΠΎ ΡΠΎΠ²Π° Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ, ΡΡΡΡΠ²Π° Π½ΠΈ ΡΠ΅, Π΄Π° ΡΡΠΈΠ³Π½Π΅ΠΌ Π΄ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ - Π΄Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²ΡΠ·Π»ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±Π°Π·ΠΈ. Π’ΠΎΠ²Π° Π½Π°ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ°, ΡΠ²ΡΡΠ·Π°Π½Π° Ρ Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΠ±ΡΠΈΡ API, ΠΊΠΎΠΉΡΠΎ WAL-G ΠΏΡΠΈΠ»Π°Π³Π°.
Π’ΠΎΠ²Π° Π΅ ΡΠ°ΡΡΡΠ°, ΠΊΠΎΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ ΠΌΠ΅ ΡΠ°ΠΌΠΈ - ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ Π·Π°Π΄Π°ΡΠΈΡΠ΅ Π½Π° ΡΡΠ΅Π½ΠΈΡΠΈΡΠ΅. Π’ΠΎΠ΅ΡΡ ΡΠΎΡΠ½ΠΎ ΡΠΎΠ²Π° Π΅ ΡΠ°ΡΡΡΠ°, Π² ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΡΡ Π½Π΅ΡΠΎ Π½Π΅ΡΠ΅Π΄Π½ΠΎ, Π·Π°ΡΠΎΠ²Π° ΡΠ΅ΡΠΈΡ ΠΌΠ΅, ΡΠ΅ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ Π½Π΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΈ Π²ΡΠΈΡΠΊΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ Π½Π°ΡΠ΅Π΄.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π°Π΄ΠΎΡ ΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. Π’Π΅ Π²Π΅Π΄Π½Π°Π³Π° Π±ΡΡ Π° Π΄Π΅ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ΠΈ. Π‘ΡΡΠ΄Π΅Π½ΡΠΈΡΠ΅ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΡΠΈ Π±Π°Π·ΠΈ.
Π’ΠΎΠ²Π° Π΅ MySQL, ΠΊΠΎΠΉΡΠΎ Π°ΡΡ ΠΈΠ²ΠΈΡΠ°ΠΌΠ΅ Ρ WAL-G ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π³ΠΎΠ΄ΠΈΠ½Π°.
Π ΡΠ΅Π³Π° MongoDB Π½Π°Π±Π»ΠΈΠΆΠ°Π²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ, ΠΊΡΠ΄Π΅ΡΠΎ Π³ΠΎ Π·Π°Π²ΡΡΡΠ²Π°Ρ Ρ ΡΠ°ΠΉΠ». ΠΡΡΡΠ½ΠΎΡΡ Π½ΠΈΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ ΠΌΠ΅ ΡΠ°ΠΌΠΊΠ°ΡΠ° Π·Π° Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΠ΅Π½ΠΈΡΠΈΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ Π° Π½ΡΠΊΠΎΠΈ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π½Π΅ΡΠ°. Π ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π³ΠΈ Π΄ΠΎΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π΄ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ΅ΠΌ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ.
Π’Π΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ Π° ΡΠ°ΠΊΠ°, ΡΡΠΊΠ°Ρ ΡΡΠ΅Π½ΠΈΡΠΈΡΠ΅ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° Π½Π°ΠΏΠΈΡΠ°Ρ ΠΏΡΠ»Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ Π·Π° Π²ΡΡΠΊΠ° ΠΎΡ ΡΠ΅Π·ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠΈΠ΅ Π½Π΅ ΡΠΌΠ΅ ΠΈΠΌΠ°Π»ΠΈ ΡΠ°ΠΊΡΠ² ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠ°ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π±Π΅ΡΠ΅, ΡΠ΅ ΠΈΡΠΊΠ°Ρ ΠΌΠ΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π² Π΄Π°Π΄Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈ ΠΈΡΠΊΠ°Ρ ΠΌΠ΅ Π΄Π° Π°ΡΡ ΠΈΠ²ΠΈΡΠ°ΠΌΠ΅ Π² ΠΎΠ±Π»Π°ΠΊΠ°. Π ΡΠ΅ ΠΏΠΎΠΌΠΎΠ»ΠΈΡ Π° ΡΡΠ΅Π½ΠΈΡΠΈΡΠ΅ Π΄Π° Π½Π°ΠΏΠΈΡΠ°Ρ Π½ΡΠΊΠ°ΠΊΡΠ² ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠΈ ΡΠΎΠ²Π°. Π‘ΡΡΠ΄Π΅Π½ΡΠΈΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π° Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½ ΠΏΡΠ°Π²ΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ, ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ»Π΅ΠΏΠΈΡ Π° Π²ΡΠΈΡΠΊΠΎ Π·Π°Π΅Π΄Π½ΠΎ Ρ WAL-G, ΠΊΠΎΠΉΡΠΎ Π³ΠΎ ΠΏΡΠ΅ΠΏΡΠ°ΡΠΈ ΠΊΡΠΌ ΠΎΠ±Π»Π°ΠΊΠ°. Π ΡΠ΅ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡ Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π² Π΄Π°Π΄Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΡΠΌ ΡΠΎΠ²Π°.
ΠΠ°ΠΊΠ²ΠΎ ΠΎΡΠ΅ Π΄ΠΎΠ½Π΅ΡΠΎΡ Π° ΡΡΠ΅Π½ΠΈΡΠΈΡΠ΅? Π’Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° Libsodium Π½Π° WAL-G.
ΠΠΌΠ°ΠΌΠ΅ ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π·Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅. Π‘Π΅Π³Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈΡΠ΅ ΠΊΠΎΠΏΠΈΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ΠΈ ΠΊΠ°ΡΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΈ. Π Π½ΡΠΊΠ°ΠΊ ΡΠΈ Π΅ ΠΏΠΎ-ΡΠ΄ΠΎΠ±Π½ΠΎ Π·Π° Π²Π°ΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π° Π΄Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΈΠΌ.
ΠΠ°ΠΊΡΠ² Π±Π΅ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ ΠΎΡ ΡΠΎΠ·ΠΈ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ?
ΠΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 100 Π΄ΡΡΠΈ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Ρ Π° Π·Π° ΠΊΡΡΡΠ°. ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π½Π΅ ΠΊΠ°Π·Π°Ρ , ΡΠ΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΡΡ Π² ΠΠΊΠ°ΡΠ΅ΡΠΈΠ½Π±ΡΡΠ³ Π΅ Π£ΡΠ°Π»ΡΠΊΠΈΡΡ ΡΠ΅Π΄Π΅ΡΠ°Π»Π΅Π½ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ. Π’Π°ΠΌ ΠΎΠ±ΡΠ²ΠΈΡ ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΎ. Π Π΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΡΠ° 100 Π΄ΡΡΠΈ. Π Π΅Π°Π»Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Ρ ΠΎΡΠ° Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π° Π΄Π° ΠΏΡΠ°Π²ΡΡ Π½Π΅ΡΠΎ, ΠΎΠΊΠΎΠ»ΠΎ 30 ΡΠΎΠ²Π΅ΠΊΠ°.
ΠΡΠ΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Ρ ΠΎΡΠ° Π·Π°Π²ΡΡΡΠΈΡ Π° ΠΊΡΡΡΠ°, Π·Π°ΡΠΎΡΠΎ Π±Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° ΠΊΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ. Π ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΠΉΡΠ΅ Π½ΡΠΊΠΎΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΈΠ»ΠΈ Π½Π°ΠΏΡΠ°Π²Π΅ΡΠ΅ Π½ΡΠΊΠ°ΠΊΠ²Π° ΡΡΠ½ΠΊΡΠΈΡ. Π Π½ΡΠΊΠΎΠΈ ΡΡΡΠ΄Π΅Π½ΡΠΈ Π²ΡΠ΅ ΠΏΠ°ΠΊ Π·Π°ΡΠ²ΠΎΡΠΈΡ Π° ΠΊΡΡΡΠ°.
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΊΡΡΡ ΡΡΡΠ΄Π΅Π½ΡΠΈΡΠ΅ ΡΠ° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π»ΠΈ ΠΎΠΊΠΎΠ»ΠΎ 14 ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ ΡΠ° ΡΡΠ·Π΄Π°Π»ΠΈ 10 ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΈ. Π, ΡΡΡΡΠ²Π° ΠΌΠΈ ΡΠ΅, ΡΠΎΠ²Π° Π΅ ΠΏΡΠ»Π½ΠΎΡΠ΅Π½Π½Π° Π·Π°ΠΌΡΠ½Π° Π½Π° Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π°ΠΌΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ.
ΠΡΠ²Π΅Π½ Π²ΡΠΈΡΠΊΠΎ Π΄ΡΡΠ³ΠΎ, ΠΈΠ·Π΄Π°Π΄ΠΎΡ ΠΌΠ΅ Π΄ΠΈΠΏΠ»ΠΎΠΌΠΈ ΠΈ ΠΊΡΡΡΠΎΠ²ΠΈ ΡΠ°Π±ΠΎΡΠΈ. Π 12 ΠΏΠΎΠ»ΡΡΠΈΡ Π° Π΄ΠΈΠΏΠ»ΠΎΠΌΠΈ. 6 ΠΎΡ ΡΡΡ Π²Π΅ΡΠ΅ ΡΠ° ΡΠ΅ Π·Π°ΡΠΈΡΠΈΠ»ΠΈ Π½Π° β5β. Π’Π΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΡΠ°Π½Π°Ρ Π°, ΠΎΡΠ΅ Π½ΡΠΌΠ°Ρ Π° Π·Π°ΡΠΈΡΠ°, Π½ΠΎ ΠΌΠΈΡΠ»Ρ, ΡΠ΅ ΠΈ ΠΏΡΠΈ ΡΡΡ Π²ΡΠΈΡΠΊΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ Π½Π°ΡΠ΅Π΄.
ΠΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° Π±ΡΠ΄Π΅ΡΠ΅ΡΠΎ
ΠΠ°ΠΊΠ²ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π·Π° Π±ΡΠ΄Π΅ΡΠ΅ΡΠΎ?
ΠΠΎΠ½Π΅ ΠΎΠ½Π΅Π·ΠΈ ΠΈΡΠΊΠ°Π½ΠΈΡ Π·Π° ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠ΅ ΡΠΌΠ΅ ΡΡΠ»ΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΈ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ. Π’ΠΎΠ²Π°:
- ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π²Π°ΡΠ° Π»ΠΈΠ½ΠΈΡ Π² Π°ΡΡ ΠΈΠ²Π° Π½Π° HA ΠΊΠ»ΡΡΡΠ΅ΡΠ°. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π° Ρ WAL-G. Π ΠΌΠΈΡΠ»Ρ, ΡΠ΅ ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΡΡΡΠ΄Π΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ΅ Π·Π°Π΅ΠΌΠ°Ρ Ρ ΡΠ°Π·ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΡ.
- ΠΠ΅ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠΎΠ²Π΅ΠΊ, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π·Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ΡΠΎ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ ΠΈ WAL ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±Π»Π°ΡΠΈΡΠ΅.
- Π Π½Π°ΡΠΊΠΎΡΠΎ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ ΠΌΠ΅ ΠΈΠ΄Π΅Ρ, ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΡΠΊΠΎΡΠΈΠΌ ΠΎΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ WAL-G, ΠΊΠ°ΡΠΎ ΡΠ°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°ΠΌΠ΅ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ Π°ΡΡ ΠΈΠ²ΠΈ Π±Π΅Π· ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π°ΡΡ ΠΈΠ²ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΌΠ΅ ΡΠ°ΠΌ.
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΠΈΡΠ΅ ΡΡΠΊ
ΠΠ° ΠΊΠ°ΠΊΠ²ΠΎ Π±Π΅ΡΠ΅ ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄? ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΡΠ΅Π³Π°, ΠΎΡΠ²Π΅Π½ 4-ΠΌΠ°ΡΠ° Π΄ΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΡΡ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΈΠΌΠ°ΠΌΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΡΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π΄ΠΎΡΡΠ°. ΠΡΠΎΠ±Π΅Π½ΠΎ Π°ΠΊΠΎ ΠΈΠΌ ΠΏΠΈΡΠ΅Ρ Π½Π° Π»ΠΈΡΠ½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. Π Π°ΠΊΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Π²Π°ΡΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΈ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° WAL-G ΠΈΠ»ΠΈ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΡΠ΅ ΠΊΡΠΌ WAL-G, ΡΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΡΡΠ° Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΡΠΎΠ±ΡΠ°Π·ΠΈΠΌ Ρ Π²Π°ΡΠΈΡΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΡ.
Π’ΠΎΠ²Π° Π΅ QR ΠΊΠΎΠ΄ ΠΈ Π²ΡΡΠ·ΠΊΠ°. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ ΠΏΡΠ΅Π³Π»Π΅Π΄Π°ΡΠ΅ ΠΈ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠΏΡΠ°Π²ΡΠΌΠ΅ Π½ΡΠΊΠ°ΠΊΡΠ² Π±ΡΠ³. ΠΠ»ΠΈ Π½Π°ΠΈΡΡΠΈΠ½Π° ΠΈΡΠΊΠ°ΡΠ΅ Π½ΡΠΊΠ°ΠΊΠ²Π° ΡΡΠ½ΠΊΡΠΈΡ, Π½ΠΎ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΏΡΠΈΡΠΈΠ½Π° ΡΡ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ Π² Π½ΠΈΡΠΎ Π΅Π΄Π½ΠΎ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΡΠ΅ΡΠΎ. ΠΠ΅ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΠΉΡΠ΅ Π΄Π° ΠΏΠΈΡΠ΅ΡΠ΅ Π·Π° ΡΠΎΠ²Π°.
ΠΡΠΏΡΠΎΡΠΈ
ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅! ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! ΠΡΠΏΡΠΎΡ Π·Π° WAL-G, Π½ΠΎ Π½Π΅ ΠΈ Π·Π° Postgres. WAL-G Π°ΡΡ ΠΈΠ²ΠΈΡΠ° MySQL ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅. ΠΠΊΠΎ Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΈ Π½Π° CentOS ΠΈ Π°ΠΊΠΎ yum ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ MySQL, MariDB ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½. ΠΡ Π²Π΅ΡΡΠΈΡ 10.3 Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° MariDB. ΠΠ°ΠΊ ΡΠ΅ ΡΠΏΡΠ°Π²ΡΡΠ΅ Ρ ΡΠΎΠ²Π°?
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π΅ ΡΠΌΠ΅ ΠΎΠΏΠΈΡΠ²Π°Π»ΠΈ Π΄Π° Π°ΡΡ ΠΈΠ²ΠΈΡΠ°ΠΌΠ΅ MariDB. ΠΠΌΠ°Ρ ΠΌΠ΅ ΠΈΡΠΊΠ°Π½ΠΈΡ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° FoundationDB, Π½ΠΎ ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ, Π°ΠΊΠΎ ΠΈΠΌΠ° ΡΠ°ΠΊΠΎΠ²Π° ΠΈΡΠΊΠ°Π½Π΅, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΠΌ Ρ ΠΎΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΡΡ. ΠΠ΅ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π΄ΡΠ»Π³ΠΎ, Π½ΠΈΡΠΎ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΡΡΡΠ΄Π½ΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΡΠΈ ΠΌΠΈΡΠ»Ρ.
ΠΠΎΠ±ΡΡ Π΄Π΅Π½ ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! ΠΡΠΏΡΠΎΡ ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΈ Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΡΠΎΠ²ΠΈ Π»ΠΈ ΡΡΠ΅ Π΄Π° Π½Π°ΠΊΠ°ΡΠ°ΡΠ΅ WAL-G Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Ρ Π»Π΅Π½ΡΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π°ΡΡ ΠΈΠ²ΠΈΡΠ°ΡΠ΅ Π½Π° Π»Π΅Π½ΡΠΈ?
ΠΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π»Π΅Π½ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°?
ΠΠ°.
ΠΠΌΠ° ΠΠ½Π΄ΡΠ΅ΠΉ ΠΠΎΡΠΎΠ΄ΠΈΠ½, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ ΠΎΡ ΠΌΠ΅Π½ Π½Π° ΡΠΎΠ·ΠΈ Π²ΡΠΏΡΠΎΡ.
(ΠΠ½Π΄ΡΠ΅ΠΉ) ΠΠ°, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π²ΡΠΏΡΠΎΡΠ°! ΠΠΌΠ°Ρ
ΠΌΠ΅ Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΏΡΠ΅Ρ
Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Π»Π΅Π½ΡΠ° ΠΎΡ ΠΎΠ±Π»Π°ΡΠ½ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. Π Π·Π° ΡΠΎΠ²Π°
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! ΠΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅. ΠΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π΅ ΡΠ΅ΡΠΈΠΎΠ·Π½Π° ΡΠ°ΡΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ°, ΠΊΠΎΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π΄ΠΎΠ±ΡΠ΅ ΠΏΠΎΠΊΡΠΈΡΠ° ΠΎΡ ΡΠ΅ΡΡΠΎΠ²Π΅. ΠΠΎΠ³Π°ΡΠΎ Π²Π½Π΅Π΄ΡΠΈΡ ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π·Π° Π½ΠΎΠ²ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΡΡΡΠ΄Π΅Π½ΡΠΈΡΠ΅ ΡΡΡΠΎ Π»ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ Π° ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅, ΠΈΠ»ΠΈ Π²ΠΈΠ΅ ΡΠ°ΠΌΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ ΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ ΡΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ΄Π΅Π½ΡΠΈΡΠ΅?
Π£ΡΠ΅Π½ΠΈΡΠΈΡΠ΅ ΠΏΠΈΡΠ°Ρ Π° ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ. ΠΠΎ ΡΡΠ΅Π½ΠΈΡΠΈΡΠ΅ ΠΏΠΈΡΠ°Ρ Π° ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΡΠΎ Π½ΠΎΠ²ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠ°ΠΏΠΈΡΠ°Ρ Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅. Π ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅. ΠΠΊΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΡΠ° ΠΌΠΈΠ½Π΅, ΡΠΎΠ΅ΡΡ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΡΠΎΠ²Π° Π΅ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ ΡΡΡΠ½ΠΎ ΠΈΠ»ΠΈ ΠΈΠΌΠ°ΡΠ΅ cron Π΄Π° Π³ΠΎ ΠΏΡΠ°Π²ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ. Π’ΠΎΠ΅ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΡΠ°ΠΌ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½.
Π‘ΡΡΠ΄Π΅Π½ΡΠΈΡΠ΅ Π½ΡΠΌΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡ. ΠΡΠ΅Π³Π»Π΅Π΄ΡΡ ΠΎΡΠ½Π΅ΠΌΠ° Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅?
ΠΠ°, ΠΏΡΠ΅Π³Π»Π΅Π΄ΠΈΡΠ΅ ΠΎΡΠ½Π΅ΠΌΠ°Ρ Π΄ΠΎΡΡΠ° Π²ΡΠ΅ΠΌΠ΅. Π’ΠΎΠ²Π° Π΅, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠ° ΠΈΠ΄Π²Π°Ρ Π½Π°Π²Π΅Π΄Π½ΡΠΆ ΠΈ ΠΊΠ°Π·Π²Π°Ρ, ΡΠ΅ ΡΡΠΌ Π½Π°ΠΏΡΠ°Π²ΠΈΠ» ΡΠΎΠ²Π°, Π°Π· ΡΡΠΌ Π½Π°ΠΏΡΠ°Π²ΠΈΠ» ΡΠΎΠ²Π°, ΡΠΎΠ³Π°Π²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠΌΠΈΡΠ»ΠΈΡΠ΅ ΠΈ Π΄Π° ΠΎΡΠ΄Π΅Π»ΠΈΡΠ΅ ΠΎΠΊΠΎΠ»ΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ Π΄Π΅Π½, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΠ°ΠΌ. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΊΠΎΠ΄ΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠ΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ. ΠΠ΅ ΡΠ° ΠΈΠΌΠ°Π»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Ρ. ΠΠ΅ Π³ΠΈ ΠΏΠΎΠ·Π½Π°Π²Π°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΠ΅, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΎΡΠ½Π΅ΠΌΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! ΠΠΎ-ΡΠ°Π½ΠΎ ΠΠ½Π΄ΡΠ΅ΠΉ ΠΠΎΡΠΎΠ΄ΠΈΠ½ Π·Π°ΡΠ²ΠΈ, ΡΠ΅ archive_command Π² WAL-G ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ. ΠΠΎ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π½ΡΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄ ΠΊΠ»ΡΡΡΠ΅ΡΠ½Π° ΠΊΠ°ΡΠ΅ΡΠ°, ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°, Π·Π° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ Π²ΡΠ·Π΅Π»Π°, ΠΎΡ ΠΊΠΎΠΉΡΠΎ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈΠΌ Π²Π°Π»ΠΎΠ²Π΅ΡΠ΅. ΠΠ°ΠΊ Π²ΠΈΠ΅ ΡΠ°ΠΌΠΈ ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ?
ΠΠ°ΠΊΡΠ² ΡΠΈ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΠΊ? ΠΠ° ΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, Ρ ΠΊΠΎΡΡΠΎ ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅? ΠΠ»ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ?
(ΠΠ½Π΄ΡΠ΅ΠΉ) Π€Π°ΠΊΡ Π΅, ΡΠ΅ Π½Π°ΠΈΡΡΠΈΠ½Π° WAL-G Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±Π΅Π· ΡΠ΅Π» ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅. ΠΠΊΠΎ Π½Π΅ΡΠΎ Π»ΠΈΠΏΡΠ²Π°, ΡΠΎΠ³Π°Π²Π° Π½Π΅ΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ°, ΠΊΠΎΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π²ΡΡΡΠ΅ Π² WAL-G. Π©ΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ ΡΠΎΠ²Π° ΠΎΡΠΊΡΠ΄Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ΄Π²Π° Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ, Π½ΠΈΠ΅ Π²ΡΡΠ²Π°ΠΌΠ΅, ΡΠ΅ Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π΅ ΠΎΡ ΡΠ΅ΠΊΡΡΠΈΡ Π³Π»Π°Π²Π΅Π½ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°. ΠΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΎΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° Π΅ Π»ΠΎΡΠ° ΠΈΠ΄Π΅Ρ. ΠΠΌΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. ΠΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ Π»ΠΈΠ½ΠΈΠΈ ΠΈ Π²ΡΡΠΊΠ°ΠΊΠ²Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π²ΡΠΏΡΠΎΡΠ°!
(ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅: ΠΡΡΡΠ²Π°Ρ
ΠΌΠ΅ ΡΠ΅ ΠΎΡ shell ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅
ΠΠΎΠ±ΡΡ Π²Π΅ΡΠ΅Ρ! ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! ΠΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°ΠΌ ΡΠ΅ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° Π΄ΠΎΠ³ΠΎΠ½Π²Π°Π½Π΅, Π·Π° ΠΊΠΎΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΡΠ΅. ΠΡΡ ΠΌΠ΅ ΠΈΠ·ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΏΡΠ΅Π΄ ΡΠΈΡΡΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΡΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΠΈΠ·ΠΎΡΡΠ°Π²Π°ΡΠ΅ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΡΡΠΈΠ³Π½Π΅. Π Π½Π΅ Π½Π°ΠΌΠ΅ΡΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° WAL-G.
Catchup ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π±ΡΠΊΠ²Π°Π»Π½ΠΎ Π½Π° 20 ΡΠ½ΡΠ°ΡΠΈ 2020 Π³. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ ΠΎΡ ΠΎΡΠ΅ ΡΠ°Π±ΠΎΡΠ°. ΠΠΈΠ΅ Π³ΠΎ ΠΏΠΈΡΠ΅ΠΌ ΡΠ°ΠΌΠΈ ΠΈ Π½Π΅ Π³ΠΎ ΠΏΠΈΡΠ΅ΠΌ ΡΡΠΏΠ΅Ρ Π΄ΠΎΠ±ΡΠ΅. Π ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Π΄Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°ΠΌΠ΅ ΠΎΡ ΡΡΠ΅Π½ΠΈΡΠΈΡΠ΅ Π΄Π° Π³ΠΎ ΠΏΠΈΡΠ°Ρ.
ΠΡΡΠ½Π°ΡΠΎ Π»ΠΈ Π΅ Π²Π΅ΡΠ΅?
ΠΠ°ΡΠ²ΠΊΠ°ΡΠ° Π·Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π²Π΅ΡΠ΅ Π΅ ΠΌΡΡΡΠ²Π°, Ρ.Π΅. ΠΏΡΠΎΠ²Π΅ΡΠΈΡ Ρ. ΠΠΏΠΈΡΠ°Ρ ΡΠΎΠ²Π° Π½Π° ΡΠ΅ΡΡΠΎΠ² ΠΊΠ»ΡΡΡΠ΅Ρ. ΠΠΎΡΠ΅Π³Π° Π½Π΅ ΡΠΌΠ΅ ΠΈΠΌΠ°Π»ΠΈ ΡΠΈΡΡΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΡΠΎ Π΄Π° ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅ ΡΠΎΠ²Π° Π² Π±ΠΎΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ.
ΠΠΎΠ³Π° Π΄Π° ΠΎΡΠ°ΠΊΠ²Π°ΠΌΠ΅?
ΠΠ΅ Π·Π½Π°ΠΌ. ΠΠ·ΡΠ°ΠΊΠ°ΠΉΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΌΠ΅ΡΠ΅Ρ, ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com