
ΠΠΎ Π½Π΅ΠΎΡΠ΄Π°Π²Π½Π° Π² ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ
ΠΈΠΌΠ°ΡΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 50 Π’Π Π΄Π°Π½Π½ΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Π½ΠΈ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Π½ΠΈ Π² SQL Server. ΠΠ° ΡΠ°ΠΊΡΠ² ΠΎΠ±Π΅ΠΌ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π±ΡΡΠ· ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈ ΡΡΡΠΎΠΉΡΠΈΠ² Π½Π° ΠΎΡΠΊΠ°Π· ΡΠ΅Π½ΡΡΡ Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ SQL Π‘Π£ΠΠ, Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π² ΡΠ°ΠΊΠΈΠ²Π° ΡΠ»ΡΡΠ°ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Π΄Π½ΠΎ ΠΎΡ NoSQL Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΡΠ°, Π½ΠΎ Π½Π΅ Π²ΡΠΈΡΠΊΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π½Π΅ΡΠ΅Π½ΠΎ Π² NoSQL: Π½ΡΠΊΠΎΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π³Π°ΡΠ°Π½ΡΠΈΠΈ Π·Π° ACID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
Π’ΠΎΠ²Π° Π½ΠΈ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° NewSQL Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Ρ.Π΅. Π‘Π£ΠΠ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ, ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ ΠΈ Π±ΡΡΠ·ΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π° NoSQL ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅, Π½ΠΎ ΡΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΠ°Π·Π²Π°ΡΠ° ΠΏΡΠΈΠ²ΠΈΡΠ½ΠΈΡΠ΅ Π·Π° ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ACID Π³Π°ΡΠ°Π½ΡΠΈΠΈ. Π Π°Π±ΠΎΡΠ΅ΡΠΈΡΠ΅ ΠΈΠ½Π΄ΡΡΡΡΠΈΠ°Π»Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΡ ΡΠΎΠ·ΠΈ Π½ΠΎΠ² ΠΊΠ»Π°Ρ ΡΠ° ΠΌΠ°Π»ΠΊΠΎ, Π·Π°ΡΠΎΠ²Π° ΡΡΠ·Π΄Π°Π΄ΠΎΡ ΠΌΠ΅ ΡΠ°ΠΊΠ°Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°ΠΌΠΈ ΠΈ Ρ ΠΏΡΡΠ½Π°Ρ ΠΌΠ΅ Π² ΠΈΠ½Π΄ΡΡΡΡΠΈΠ°Π»Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΠΎΡΡΠΈΠ³Π½Π°Ρ
ΠΌΠ΅ β ΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄ ΠΊΠ°ΡΠΎΡΠΎ.
ΠΠ½Π΅Ρ ΠΌΠ΅ΡΠ΅ΡΠ½Π°ΡΠ° Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ Π½Π° βΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΈβ Π½Π°Π΄Π²ΠΈΡΠ°Π²Π° 70 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»ΠΈ. ΠΠΈΠ΅ Π½Π°ΠΉ-Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠΎΡΠΈΠ°Π»Π½ΠΈ ΠΌΡΠ΅ΠΆΠΈ Π² ΡΠ²Π΅ΡΠ° ΠΈ Π²ΡΠΎΡΠ°ΡΠ° Π² ΡΠΏΠΈΡΡΠΊΠ° Π½Π° ΡΠ°ΠΉΡΠΎΠ²Π΅ΡΠ΅, Π½Π° ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΏΡΠ΅ΠΊΠ°ΡΠ²Π°Ρ Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° βΠΠβ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΡΠΎΠΊΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ: Π½Π°Π΄ ΠΌΠΈΠ»ΠΈΠΎΠ½ HTTP Π·Π°ΡΠ²ΠΊΠΈ/ΡΠ΅ΠΊΡΠ½Π΄Π° Π½Π° ΡΡΠΎΠ½ΡΠΎΠ²Π΅ΡΠ΅. Π§Π°ΡΡΠΈ ΠΎΡ ΡΡΡΠ²ΡΡΠ½ΠΈΡ ΠΏΠ°ΡΠΊ Π² ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 8000 ΠΌΠ°ΡΠΈΠ½ΠΊΠΈ ΡΠ° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π±Π»ΠΈΠ·ΠΎ Π΅Π΄Π½Π° Π΄ΠΎ Π΄ΡΡΠ³Π° β Π² ΡΠ΅ΡΠΈΡΠΈ ΠΌΠΎΡΠΊΠΎΠ²ΡΠΊΠΈ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²Π° Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΎΡ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ 1 ms ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡ
.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Cassandra ΠΎΡ 2010 Π³ΠΎΠ΄ΠΈΠ½Π°, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ Π²Π΅ΡΡΠΈΡ 0.6. ΠΠ½Π΅Ρ Π² Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ ΡΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΠΊΠ»ΡΡΡΠ΅ΡΠ°. ΠΠ°ΠΉ-Π±ΡΡΠ·ΠΈΡΡ ΠΊΠ»ΡΡΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Π½Π°Π΄ 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, Π° Π½Π°ΠΉ-Π³ΠΎΠ»ΡΠΌΠΎΡΠΎ ΡΡΡ ΡΠ°Π½ΡΠ²Π° 260 Π’Π±.
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΡΠ° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ NoSQL ΠΊΠ»ΡΡΡΠ΅ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ. Π Π½ΠΈΠ΅ ΠΈΡΠΊΠ°Ρ ΠΌΠ΅ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Microsoft SQL Server, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π±ΠΈΠ»ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ ΠΎΡ ΡΠ°ΠΌΠΎΡΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° βΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΈβ. Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΡΠ΅ ΡΡΡΡΠΎΠ΅ΡΠ΅ ΠΎΡ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 300 ΠΌΠ°ΡΠΈΠ½ΠΈ Ρ SQL Server Standard Edition, Π½Π° ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π° 50 Π’Π± Π΄Π°Π½Π½ΠΈ β Π±ΠΈΠ·Π½Π΅Ρ-ΡΡΡΠ½ΠΎΡΡΠΈ. Π’Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Ρ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ACID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ .
ΠΠ° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΏΠΎ Π½ΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅ Π² SQL Server ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ ΠΊΠ°ΠΊΡΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»Π½ΠΎ, ΡΠ°ΠΊΠ° ΠΈ Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ (ΡΠ°ΡΠ΄ΠΈΡΠ°Π½Π΅). ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ ΠΏΡΠΎΡΡΠ° ΡΡ Π΅ΠΌΠ° Π·Π° ΡΠ°ΡΠ΄ΠΈΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ: Π²ΡΡΠΊΠ° Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ ΡΠΎΠΊΠ΅Π½ β ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡ ID Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΡΠ°. ΠΠ΄ΠΈΠ½ΠΈΡΠΈΡΠ΅ Ρ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ ΡΠΎΠΊΠ΅Π½ ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΡΡ Π° Π½Π° Π΅Π΄ΠΈΠ½ SQL ΡΡΡΠ²ΡΡ. ΠΡΡΠ·ΠΊΠ°ΡΠ° ΡΠΈΠΏ master-detail ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΊΠ°, ΡΠ΅ ΡΠΎΠΊΠ΅Π½ΠΈΡΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΈ ΠΏΡΠΎΠΈΠ·ΡΠΈΡΠ°ΡΠ°ΡΠ° Π·Π°ΠΏΠΈΡΠΈ Π²ΠΈΠ½Π°Π³ΠΈ Π΄Π° ΡΡΠ²ΠΏΠ°Π΄Π°Ρ ΠΈ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ ΡΡΡΠ²ΡΡ. Π ΡΠΎΡΠΈΠ°Π»Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° ΠΏΠΎΡΡΠΈ Π²ΡΠΈΡΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΎΡ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ β ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, Π²ΡΠΈΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π½Π° Π΅Π΄ΠΈΠ½ ΡΡΡΠ²ΡΡ. Π’ΠΎΠ΅ΡΡ, Π² Π±ΠΈΠ·Π½Π΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΏΠΎΡΡΠΈ Π²ΠΈΠ½Π°Π³ΠΈ ΡΡΠ°ΡΡΠ²Π°Ρ Π° ΡΠ°Π±Π»ΠΈΡΠΈ Π½Π° Π΅Π΄ΠΈΠ½ SQL ΡΡΡΠ²ΡΡ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈ ACID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ACID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΡΠ΄ΠΈΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° SQL:
- ΠΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Foreign key constraints, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠΈ ΡΠ°ΡΠ΄ΠΈΡΠ²Π°Π½Π΅ΡΠΎ ID Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π½Π° Π΄ΡΡΠ³ ΡΡΡΠ²ΡΡ.
- ΠΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ ΡΠ°Π½ΠΈΠΌΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΈ ΠΈ ΡΡΠΈΠ³Π΅ΡΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π°ΡΠ° Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΎΡΡ Π½Π° CPU Π½Π° Π‘Π£ΠΠ.
- ΠΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ JOINs ΠΏΠΎΡΠ°Π΄ΠΈ Π²ΡΠΈΡΠΊΠΎ ΠΈΠ·Π±ΡΠΎΠ΅Π½ΠΎ ΠΏΠΎ-Π³ΠΎΡΠ΅ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡ Π΄ΠΈΡΠΊΠ°.
- ΠΠ·Π²ΡΠ½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°, Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½ΠΈΠ²ΠΎ Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Read Uncommitted.
- ΠΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅ ΡΠ°ΠΌΠΎ ΠΊΡΠ°ΡΠΊΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ (Π² ΡΡΠ΅Π΄Π½ΠΎ ΠΏΠΎ-ΠΊΡΠ°ΡΠΊΠΈ ΠΎΡ 100 ΠΌΡ).
- ΠΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ΅Π΄ΠΎΠ²ΠΈ UPDATE ΠΈ DELETE ΠΏΠΎΡΠ°Π΄ΠΈ Π³ΠΎΠ»ΡΠΌΠΎΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ β ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°ΠΌΠ΅ ΡΠ°ΠΌΠΎ ΠΏΠΎ Π΅Π΄Π½Π° Π·Π°ΠΏΠΈΡ.
- ΠΠ°ΠΏΠΈΡΠ²Π°Π½ΠΈΡΡΠ° Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ β Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Ρ ΠΏΠ»Π°Π½ Π·Π° ΠΏΡΠ»Π½ΠΎ ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π·Π° Π½Π°Ρ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° ΠΠ ΠΈ ΠΎΡΠΊΠ°Π· ΠΎΡ Π½Π΅Ρ.
Π’Π΅Π·ΠΈ ΡΡΡΠΏΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π° Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ΠΌ ΠΏΠΎΡΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΎΡ SQL ΡΡΡΠ²ΡΡΠΈΡΠ΅. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ ΡΡΠ°Π²Π°Ρ Π° Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅. ΠΠ΅ΠΊΠ° Π³ΠΈ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅.
ΠΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΡ SQL
- Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ ΡΠ°ΠΌΠΎΠΏΠΈΡΠ°Π½ ΡΠ°ΡΠ΄, Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΡΠ°ΡΠ΄ΠΎΠ²Π΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΡΡΡΠ½ΠΎ ΠΎΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅. ΠΡΠ΅Π· Π²ΡΠΈΡΠΊΠΎΡΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π΅ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Ρ Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ.
- Π‘ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π±ΡΠΎΡ Π½Π° Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π°ΠΌΠ°Π»ΡΠ²Π°, ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΊΡΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΊΠΎΡΠΎΡΡΡΠ° ΡΠΏΠ°Π΄Π° ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ ΠΈ ΠΏΡΠ΅ΠΎΡΠ½ΠΎΠ²Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ ΡΡΠ°Π²Π° Ρ ΠΏΡΠ΅ΡΡΠΎΠΉ.
- ΠΠ°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠ°Π»ΡΠΊ Π±ΡΠΎΠΉ Windows Π·Π° SQL Server Π² production Π·Π°ΡΡΡΠ΄Π½ΡΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°.
ΠΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ β
ΠΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ
ΠΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡΡ SQL ΡΡΡΠ²ΡΡ ΠΈΠΌΠ° Π»ΠΎΡΠ° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ. ΠΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ ΡΡΡΠ²ΡΡ Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠΎΠΉ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»Ρ Π²Π΅Π΄Π½ΡΠΆ Π½Π° ΡΡΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. ΠΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΡΠ°ΠΉΡΡΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ 20 ΠΌΠΈΠ½ΡΡΠΈ β ΡΠΎΠ²Π° Π΅ ΠΏΡΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ. ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ 64 ΡΡΡΠ²ΡΡΠ°, ΡΠ°ΠΉΡΡΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ Π²Π΅Π΄Π½ΡΠΆ Π½Π° ΡΡΠΈ ΡΠ΅Π΄ΠΌΠΈΡΠΈ. Π Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ 200 ΡΡΡΠ²ΡΡΠ°, ΡΠ°ΠΉΡΡΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ Π²ΡΡΠΊΠ° ΡΠ΅Π΄ΠΌΠΈΡΠ°. Π’ΠΎΠ²Π° Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Π·Π° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡΠ° Π½Π° SQL ΡΡΡΠ²ΡΡ? Π£ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ : ΠΊΡΠ΄Π΅ΡΠΎ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΎΡΠΊΠ°Π· Π½Π° ΠΊΠΎΠΉΡΠΎ ΠΈ Π΄Π° Π΅ ΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ ΠΈΠΌΠ° Π΄ΡΠ±Π»ΠΈΡΠ°ΡΠ°.
Π’ΠΎΠ²Π° ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΠ°ΡΠΊ ΠΎΡ ΡΠΊΡΠΏΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅: ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΠ±Π»ΠΈΡΠ°Π½ΠΈΡ, ΠΎΠΏΡΠΈΡΠ΅Π½ ΠΊΠ°Π±Π΅Π», ΠΎΠ±ΡΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, Π° ΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΡΠΎ Ρ ΡΠ°Π½Π΅Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ: ΠΎΠΊΠΎΠ»ΠΎ 10% ΠΎΡ Π²ΠΊΠ»ΡΡΠ²Π°Π½ΠΈΡΡΠ° Π·Π°Π²ΡΡΡΠ²Π°Ρ Ρ ΠΎΡΠΊΠ°Π· Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½Π°ΡΠ° Π½ΠΎΠ΄Π°, ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΠΉΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ°.
ΠΠΎ Π³Π»Π°Π²Π½ΠΈΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΊ Π½Π° ΡΠ°ΠΊΡΠ² Π²ΠΈΡΠΎΠΊΠΎΠ΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΊΠ»Π°ΡΡΠ΅Ρ Π΅ Π½ΡΠ»Π΅Π²Π°ΡΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ ΠΏΡΠΈ ΠΎΡΠΊΠ°Π· Π½Π° Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΡΠ°, Π² ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°. βΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΈβ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π° Ρ ΡΠ΅ΡΠΈΡΠΈ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΡΠ°, ΠΈ Π½ΠΈΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΈ ΠΏΡΠ»Π΅Π½ ΡΡΠΈΠ² Π² Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΡΡ .
ΠΠ° ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ, Π²Π³ΡΠ°Π΄Π΅Π½Π° Π² SQL Server. Π’ΠΎΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-ΡΠΊΡΠΏΠΎ Π·Π°ΡΠ°Π΄ΠΈ ΡΠ΅Π½Π°ΡΠ° Π½Π° ΡΠΎΡΡΡΠ΅ΡΠ° ΠΈ ΡΡΡΠ°Π΄Π° ΠΎΡ Π΄ΠΎΠ±ΡΠ΅ ΠΏΠΎΠ·Π½Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° β Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΈ Π·Π°Π±Π°Π²ΡΠ½ΠΈΡ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΠΏΡΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΠΈ Π·Π°Π±Π°Π²ΡΠ½ΠΈΡ Π² ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ (ΠΈ, Π² ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, Π·Π°Π³ΡΠ±Π΅Π½ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ) ΠΏΡΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΠΎΡΠΎ ΡΠ΅ ΠΏΡΠ°Π²ΠΈ ΡΠΎΠ·ΠΈ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π°ΠΏΡΠ»Π½ΠΎ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»ΠΈΠ² Π·Π° Π½Π°Ρ.
ΠΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π° ΡΠ°Π΄ΠΈΠΊΠ°Π»Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ ΠΌΠ΅ Π΄Π΅ΡΠ°Π»Π΅Π½ Π°Π½Π°Π»ΠΈΠ·. Π’ΡΠΊ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ Ρ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎ ΠΏΡΠ°Π²ΠΈ SQL Server β ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
ΠΡΠΎΡΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ
ΠΠ΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠ°ΡΠ°, ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ½ΠΈΡ SQL ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡ, ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ: Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ½ΠΈΠΌΠΊΠ° Π² Π°Π»Π±ΡΠΌ. ΠΠ»Π±ΡΠΌΠΈΡΠ΅ ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈΡΠ΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ. ΠΠ»Π±ΡΠΌΡΡ ΠΈΠΌΠ° Π±ΡΠΎΡΡ Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ. Π’ΠΎΠ³Π°Π²Π° ΡΠ°ΠΊΠ°Π²Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΠ΅ ΡΠ°Π·Π±ΠΈΠ²Π° Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΡΡΠΏΠΊΠΈ:
- ΠΠ°ΠΊΠ»ΡΡΠ²Π°ΠΌΠ΅ Π°Π»Π±ΡΠΌΠ° ΠΏΠΎ ΠΊΠ»ΡΡ.
- Π‘ΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ Π·Π°ΠΏΠΈc Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π½Π° ΡΠ½ΠΈΠΌΠΊΠΈΡΠ΅.
- ΠΠΊΠΎ ΡΠ½ΠΈΠΌΠΊΠ°ΡΠ° Π΅ Ρ ΠΏΡΠ±Π»ΠΈΡΠ΅Π½ ΡΡΠ°ΡΡΡ, ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°ΠΌΠ΅ Π² Π°Π»Π±ΡΠΌΠ° Π±ΡΠΎΡΡΠ° Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ, Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π·Π°ΠΏΠΈΡΠ° ΠΈ ΠΏΠΎΡΠ²ΡΡΠ΄ΡΠ²Π°ΠΌΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°.
ΠΠ»ΠΈ Π² Π²ΠΈΠ΄ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄:
TX.start("Albums", id);
Album album = albums.lock(id);
Photo photo = photos.create(β¦);
if (photo.status == PUBLIC) {
album.incPublicPhotosCount();
}
album.update();
TX.commit();ΠΠΈΠ΅ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ Π½Π°ΠΉ-ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π·Π° Π±ΠΈΠ·Π½Π΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π΅ Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ°Ρ Π΄Π°Π½Π½ΠΈ ΠΎΡ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ ΡΡΡΠ²ΡΡ, Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΡΡ Π½ΡΠΊΠΎΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΈ Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΈΡΠ°Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π² ΡΠ°ΠΊΠ°Π²Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°ΠΌΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΅Π΄ΠΈΠ½ΠΈΡΠΈ, Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°Π±Π»ΠΈΡΠΈ.
ΠΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ»ΡΡΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΎΡ Π΄ΡΡΠ³Π° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΠ½ΡΠΈΡΠΏΠ°ΠΌΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΡΠΈ, ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»Π΅Π½ ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈ, ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ Π½Π° ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΡ, Π° ΡΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ photo.status Π½Π° Π½ΡΠΊΠ°ΠΊΠ²Π° Π΄ΡΡΠ³Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ ΠΈ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Ρ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ Π±ΡΠΎΡΡΠΈ. Π―ΡΠ½ΠΎ Π΅, ΡΠ΅ Π°ΠΊΠΎ ΡΠ°Π·ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π±Π΅Π· Π³Π°ΡΠ°Π½ΡΠΈΠΈ Π·Π° Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡ ΠΈ ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΡΠΈΡΠ°ΡΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΊΡΠΎ Π² , ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π΅ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ β ΠΈΠ»ΠΈ Π±ΡΠΎΡΡΡΡ Π½Π° ΡΠ½ΠΈΠΌΠΊΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΠΈΠ»ΠΈ Π½Π΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ Π½Π° ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΡ.
Π’Π°ΠΊΡΠ² ΠΊΠΎΠ΄, ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±ΠΈΠ·Π½Π΅Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠΈ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π· Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΠ½ΠΈΡΠΈ. ΠΡ ΠΎΠΏΠΈΡΠ° Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈΡΠ΅ ΠΊΡΠΌ NoSQL Ρ Π·Π½Π°Π΅ΠΌ, ΡΠ΅ Π½Π°ΠΉ-Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΡ (ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ) ΠΈΠ΄Π²Π°Ρ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΊΠΎΠ΄, Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° ΡΡΠ³Π»Π°ΡΡΠ²Π°Π½ΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅. ΠΠ°ΡΠΎΠ²Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ ΠΊΡΠΌ Π½ΠΎΠ²ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π±Π΅ΡΠ΅ Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈΡΡΠΈΠ½ΡΠΊΠΈ ACID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
ΠΡΡΠ³ΠΈ, Π½Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π²Π°ΠΆΠ½ΠΈ, ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π±ΡΡ Π°:
- ΠΡΠΈ ΠΎΡΠΊΠ°Π· Π½Π° Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΠΈ ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ, ΠΈ Π·Π°ΠΏΠΈΡΡΡ Π² Π½ΠΎΠ²ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
- ΠΠ°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΡΠΊΠΎΡΠΎΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. Π’ΠΎΠ΅ΡΡ, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Π½ΠΎΠ²ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ ΠΊΠΎΠ΄ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ ΡΡΡΠΎΡΠΎ, Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ Π΄ΠΎΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° Π½Π΅ΡΠΎ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° Π²ΡΠΎΡΠΈΡΠ½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΈ Ρ.Π½.
- Π‘ΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° Π½ΠΎΠ²ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π²ΠΈΡΠΎΠΊΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ, ΡΠ°ΠΊΠ° ΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π° Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎΡΡ Π½Π° Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ½ΠΎ ΡΡΡΠΎΠ³ΠΈ, ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΈ, Π½ΠΎ Π±Π°Π²Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, .
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠΊΠ°Π»ΠΈΡΠ°Π½Π΅ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅.
- ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ Π΅Π²ΡΠΈΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΠΏΠΎΠΊΡΠΏΠΊΠ° Π½Π° Π΅ΠΊΠ·ΠΎΡΠΈΡΠ½ΠΈ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ°. Π‘ Π΄ΡΡΠ³ΠΈ Π΄ΡΠΌΠΈ, ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²ΠΎ ΡΠ΅ Π΄Π°Π²Π° Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΈΠ»ΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π·Π° ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½Π΅ Π½Π° Java.
Π Π΅ΡΠ΅Π½ΠΈΡ, ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΠΊΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ΅ Π΄ΠΎ Π΄Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ ΠΈΠ·Π±ΠΎΡΠ° Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°:
ΠΡΡΠ²ΠΈΡΡ β Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ SQL ΡΡΡΠ²ΡΡ ΠΈ Π΄Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ Π½Π° ΠΎΡΠΊΠ°Π·ΠΈ, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠΊΠ°Π»ΠΈΡΠ°Π½Π΅, ΡΡΡΠΎΠΉΡΠΈΠ² ΠΊΠ»ΡΡΡΠ΅Ρ, ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ, Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΠΈ Π±ΡΡΠ·ΠΈ ACID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΡΠ΅Π½ΠΈΡ ΠΌΠ΅ ΡΠΎΠ·ΠΈ Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠ°ΡΠΎ Π΄ΠΎΡΡΠ° Π½Π΅ΡΡΠΈΠ²ΠΈΠ°Π»Π΅Π½ ΠΈ ΡΡΡΠ΄ΠΎΠ΅ΠΌΡΠΊ.
ΠΡΠΎΡΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ β Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ Π³ΠΎΡΠΎΠ²ΠΎ NoSQL Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΠΊΠ°Π»ΠΈΡΠ°Π½Π΅, ΡΡΡΠΎΠΉΡΠΈΠ² ΠΊΠ»ΡΡΡΠ΅Ρ, ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ ΠΈ Π΄Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΠΈ SQL ΡΠ°ΠΌΠΈ. ΠΠ° ΠΏΡΡΠ² ΠΏΠΎΠ³Π»Π΅Π΄ Π·Π°Π΄Π°ΡΠ°ΡΠ° Π·Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° SQL, Π΄Π° Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° ACID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ Π·Π°Π΄Π°ΡΠ° Π·Π° Π³ΠΎΠ΄ΠΈΠ½ΠΈ. ΠΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·Π±ΡΠ°Ρ ΠΌΠ΅, ΡΠ΅ Π½Π°Π±ΠΎΡΡΡ ΠΎΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ SQL, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, Π΅ Π΄Π°Π»Π΅Ρ ΠΎΡ ANSI SQL ΡΠΎΠ»ΠΊΠΎΠ²Π°, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π΄Π°Π»Π΅Ρ ΠΎΡ ANSI SQL. ΠΠΎΠ³Π°ΡΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π°Ρ ΠΌΠ΅ ΠΏΠΎ-Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ CQL, ΠΎΡΡΠ·Π½Π°Ρ ΠΌΠ΅, ΡΠ΅ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ ΡΠΎΠ²Π°, ΠΎΡ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΠΌ.
Cassandra ΠΈ CQL
Π ΡΠ°ΠΊΠ°, ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π² Cassandra, ΠΊΠ°ΠΊΠ²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°?
ΠΠ° ΠΏΡΡΠ²ΠΎ ΠΌΡΡΡΠΎ, ΡΡΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ ΡΠ°Π±Π»ΠΈΡΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ°Π²ΠΈ SELECT ΠΈΠ»ΠΈ UPDATE ΠΏΠΎ ΠΏΡΡΠ²ΠΈΡΠ½ΠΈΡ ΠΊΠ»ΡΡ.
CREATE TABLE photos (id bigint KEY, owner bigint,β¦);
SELECT * FROM photos WHERE id=?;
UPDATE photos SET β¦ WHERE id=?;ΠΠ° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ³Π»Π°ΡΡΠ²Π°Π½ΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ΅, Cassandra ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° . Π Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΡΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΏΡΠΈ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡΠΈ ΡΠ΅Π΄ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²ΡΠ·Π»ΠΈ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°, Π·Π°ΠΏΠΈΡΡΡ ΡΠ΅ ΡΡΠΈΡΠ° ΡΡΠΏΠ΅ΡΠ΅Π½, Π°ΠΊΠΎ ΠΌΠ½ΠΎΠ·ΠΈΠ½ΡΡΠ²ΠΎΡΠΎ ΠΎΡ Π²ΡΠ·Π»ΠΈΡΠ΅ (Ρ.Π΅. Π΄Π²Π΅ ΠΎΡ ΡΡΠΈΡΠ΅) ΠΏΠΎΡΠ²ΡΡΠ΄ΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° ΠΏΠΎ Π·Π°ΠΏΠΈΡ. ΠΠ°Π½Π½ΠΈΡΠ΅ ΠΎΡ ΡΠ΅Π΄Π° ΡΠ΅ ΡΡΠΈΡΠ°Ρ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΈ, Π°ΠΊΠΎ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π΅ ΠΌΠ½ΠΎΠ·ΠΈΠ½ΡΡΠ²ΠΎΡΠΎ ΠΎΡ Π²ΡΠ·Π»ΠΈΡΠ΅ ΡΠ° Π±ΠΈΠ»ΠΈ ΠΎΠΏΠΈΡΠ²Π°Π½ΠΈ ΠΈ ΠΏΠΎΡΠ²ΡΡΠ΄ΠΈΠ»ΠΈ ΡΠ΅Ρ Π½ΠΈΡ ΡΡΠ°ΡΡΡ. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ, Π³Π°ΡΠ°Π½ΡΠΈΡΠ° ΡΠ΅ ΠΏΡΠ»Π½Π° ΠΈ ΠΌΠΈΠ³Π½ΠΎΠ²Π΅Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΏΡΠΈ ΠΎΡΠΊΠ°Π· Π½Π° Π΅Π΄ΠΈΠ½ Π²ΡΠ·Π΅Π». Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΠΎΡΠ΅ ΠΏΠΎ-Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° ΡΡ Π΅ΠΌΠ°: Π²ΠΈΠ½Π°Π³ΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΌΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ Π΄ΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ, ΠΈΠ·ΡΠ°ΠΊΠ²Π°ΠΉΠΊΠΈ ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΠΎΡ Π΄Π²Π΅ΡΠ΅ Π½Π°ΠΉ-Π±ΡΡΠ·ΠΈ. ΠΠ°Π±Π°Π²Π΅Π½ΠΈΡΡ ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΠΎΡ ΡΡΠ΅ΡΠ°ΡΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° Π² ΡΠ°ΠΊΡΠ² ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ ΠΎΡΡ Π²ΡΡΠ»Ρ. Π£ Π·Π°Π±Π°Π²Π΅Π½ΠΈΡ Π² ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ° Π²ΡΠ·Π΅Π» ΠΏΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠΌΠ°Ρ ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ β Π·Π°Π±Π°Π²ΡΠ½ΠΈΡ, ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° Π±ΠΎΠΊΠ»ΡΠΊ Π² JVM, Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux, ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° Ρ Π°ΡΠ΄ΡΠ΅Ρ, ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ²ΡΡΠ·Π°Π½ΠΎΡΡΡΠ°. ΠΠΎ ΡΠΎΠ²Π° Π½Π΅ Π²Π»ΠΈΡΠ΅ ΠΏΠΎ Π½ΠΈΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅.
ΠΠΎΠ΄Ρ ΠΎΠ΄ΡΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΎΠ±ΡΡΡΠ°ΠΌΠ΅ ΠΊΡΠΌ ΡΡΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ, Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΠΎΡ Π΄Π²Π°ΠΌΠ°, ΡΠ΅ Π½Π°ΡΠΈΡΠ° : Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π·Π° ΠΈΠ·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΎΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ Π΄Π° βΠΎΡΠΏΠ°Π΄Π½Π΅β.
ΠΡΠ΅ Π΅Π΄Π½ΠΎ ΠΎΡ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°ΡΠ° Π½Π° Cassandra Π΅ Batchlog β ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ, ΠΊΠΎΠΉΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠ»Π½ΠΎΡΠΎ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅, ΠΈΠ»ΠΈ ΠΏΡΠ»Π½ΠΎΡΠΎ Π½Π΅ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ°Π²ΠΈΡΠ΅. Π’ΠΎΠ²Π° Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ΡΠΈΠΌ A Π² ACID β Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅.
ΠΠ°ΠΉ-Π±Π»ΠΈΠ·ΠΊΠΎΡΠΎ Π΄ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² Cassandra Π΅ ΡΠ°ΠΊΠ° Π½Π°ΡΠ΅ΡΠ΅Π½ΠΎΡΠΎ ββ. ΠΠΎ ΠΎΡ βΠΈΡΡΠΈΠ½ΡΠΊΠΈΡΠ΅β ACID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ΅ ΡΠ° Π΄Π°Π»Π΅Ρ: Π²ΡΡΡΠ½ΠΎΡΡ, ΡΠΎΠ²Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ°ΠΌΠΎ Π½Π° Π΅Π΄ΠΈΠ½ Π·Π°ΠΏΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ ΠΏΠΎ ΡΠ΅ΠΆΡΠΊ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Paxos. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΡΠ΅Π·ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π΅ Π΅ Π²ΠΈΡΠΎΠΊΠ°.
ΠΠ°ΠΊΠ²ΠΎ Π½ΠΈ Π»ΠΈΠΏΡΠ²Π°ΡΠ΅ Π² Cassandra
Π’Π°ΠΊΠ° ΡΠ΅, ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΠΈΡΡΠΈΠ½ΡΠΊΠΈ ACID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² Cassandra. Π‘ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΈΡΠΎ Π»Π΅ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π΄Π²Π΅ Π΄ΡΡΠ³ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π‘Π£ΠΠ: ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΈ Π±ΡΡΠ·ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π±ΠΈΡ Π° Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΠΌΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° Π΄Π°Π½Π½ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΠΏΡΡΠ²ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡ ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π° ΠΌΠΎΠ½ΠΎΡΠΎΠ½Π½ΠΈ Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΠΈ ID.
C*One
Π’Π°ΠΊΠ° ΡΠ΅ ΡΠΎΠ΄ΠΈ Π½ΠΎΠ²Π°ΡΠ° Π‘Π£ΠΠ C*One, ΡΡΡΡΠΎΡΡΠ° ΡΠ΅ ΠΎΡ ΡΡΠΈ ΡΠΈΠΏΠ° ΡΡΡΠ²ΡΡΠ½ΠΈ Π²ΡΠ·Π»ΠΈ:
- Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° β (ΠΏΠΎΡΡΠΈ) ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ Cassandra, ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈΡΠ΅ Π΄ΠΈΡΠΊΠΎΠ²Π΅. Π‘ Π½Π°ΡΠ°ΡΡΠ²Π°ΡΠΎΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ ΠΈ ΠΎΠ±Π΅ΠΌΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΡΡΡ Π½ΠΎΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½ΠΎ Π΄ΠΎ Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΠΈ ΡΡΠΎΡΠΈΡΠΈ.
- ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΈΡΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
- ΠΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΠ° ΡΡΡΠ²ΡΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ Π±ΠΈΠ·Π½Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΈΠ½ΠΈΡΠΈΠΈΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π’Π°ΠΊΠΈΠ²Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Ρ ΠΈΠ»ΡΠ΄ΠΈ.

Π‘ΡΡΠ²ΡΡΠΈΡΠ΅ ΠΎΡ Π²ΡΡΠΊΠ°ΠΊΡΠ² ΡΠΈΠΏ ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΎΠ±Ρ ΠΊΠ»ΡΡΡΠ΅Ρ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π²ΡΡΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Cassandra, Π·Π° Π΄Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠΈΡΠ°Ρ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ ΠΈ Π·Π° ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°. Π§ΡΠ΅Π· Heartbeat ΡΡΡΠ²ΡΡΠΈΡΠ΅ Π½Π°ΡΡΠ°Π²Π°Ρ Π·Π° Π²Π·Π°ΠΈΠΌΠ½ΠΈΡΠ΅ ΠΎΡΠΊΠ°Π·ΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Π΅Π΄ΠΈΠ½Π½Π° ΡΡ
Π΅ΠΌΠ° Π½Π° Π΄Π°Π½Π½ΠΈ β ΡΠ°Π±Π»ΠΈΡΠΈ, ΡΡΡ
Π½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ; ΡΡ
Π΅ΠΌΠ° Π·Π° ΠΏΠ°ΡΡΠΈΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅, ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΠΈ Ρ.Π½.
ΠΠ»ΠΈΠ΅Π½ΡΠΈ

ΠΠΌΠ΅ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ΠΆΠΈΠΌ Fat Client. Π’Π°Π·ΠΈ Π½ΠΎΠ΄Π° Π½Π΅ ΡΡΡ
ΡΠ°Π½ΡΠ²Π° Π΄Π°Π½Π½ΠΈ, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ³ΡΠ°Π΅ ΡΠΎΠ»ΡΡΠ° Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ, ΡΠΎΠ΅ΡΡ ΠΠ»ΠΈΠ΅Π½ΡΡΡ ΡΠ°ΠΌ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ Π½Π° ΡΠ²ΠΎΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ: Π·Π°ΠΏΠΈΡΠ²Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ΅ Π½Π° Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ. Π’ΠΎΠ²Π° Π΅ Π½Π΅ ΡΠ°ΠΌΠΎ ΠΏΠΎ-Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ ΠΈ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ Ρ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ, Π½ΠΎ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ. ΠΠ·Π²ΡΠ½ ΠΎΡΠ²ΠΎΡΠ΅Π½Π°ΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π΄ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΡΠ°. ΠΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ Π΅ ΠΎΡΠ²ΠΎΡΠΈΠ» ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΡΠΎ Π²ΡΠΈΡΠΊΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° ΡΠ΅ Π½Π°ΡΠΎΡΠ²Π°Ρ ΠΊΡΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.

ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ C*One
ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡΡ Π΅ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΌΠ΅ Π·Π° C*One ΠΎΡ Π½ΡΠ»Π°ΡΠ°. Π’ΠΎΠΉ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΡΠ΅Π΄Π° Π½Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
ΠΠ° Π²ΡΡΠΊΠ° ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π²ΡΠ΅ΠΌΠ΅Π²Π° ΠΌΠ°ΡΠΊΠ°: Π²ΡΡΠΊΠ° ΡΠ»Π΅Π΄Π²Π°ΡΠ° Π΅ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ° ΠΎΡ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ. ΠΠΎΠ½Π΅ΠΆΠ΅ Π² Cassandra ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ Π΅ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΠΌΠ°ΡΠΊΠΈ (ΠΎΡ Π΄Π²Π΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π°ΠΊΡΡΠ°Π»Π½Π°ΡΠ° ΡΠ΅ ΡΡΠΈΡΠ° Ρ ΠΏΠΎ-ΠΊΡΡΠ½Π° Π²ΡΠ΅ΠΌΠ΅Π²Π° ΠΌΠ°ΡΠΊΠ°), ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½ Π² ΠΏΠΎΠ»Π·Π° Π½Π° ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΌΠ΅ β ΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ Π² ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ
ΠΠ° Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈΠΌ ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ, ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠΈΡ Π½Π°ΡΠΈΠ½ β ΠΏΠ΅ΡΠΈΠΌΠΈΡΡΠΈΡΠ½ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΎ ΠΏΡΡΠ²ΠΈΡΠ½ΠΈΡ ΠΊΠ»ΡΡ Π½Π° Π·Π°ΠΏΠΈΡΠ°. Π‘ Π΄ΡΡΠ³ΠΈ Π΄ΡΠΌΠΈ, Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° Π·Π°ΠΏΠΈΡΠ° ΡΡΡΠ±Π²Π° ΠΏΡΡΠ²ΠΎ Π΄Π° Π±ΡΠ΄Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΡΠΎΡΠ΅ΡΠ΅Π½, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ ΠΈ Π·Π°ΠΏΠ°Π·Π΅Π½. Π‘Π°ΠΌΠΎ ΡΠ»Π΅Π΄ ΡΡΠΏΠ΅ΡΠ΅Π½ ΠΊΠΎΠΌΠΈΡ Π·Π°ΠΏΠΈΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΡΠΊΠ»ΡΡΠ΅Π½, Π·Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΠ°ΡΠΈΡΠ΅ ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ°ΠΊΠ°Π²Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π΅ ΠΏΡΠΎΡΡΠ° Π² Π½Π΅ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡΠ΅Π΄Π°. Π ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠΌΠ° Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΡΠΈΡΠ°: ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ°ΠΊΠ°, ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, Π²ΠΊΠ»ΡΡΠ²Π°ΡΠΈ Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° Π·Π°ΠΏΠΈΡ, Π²ΠΈΠ½Π°Π³ΠΈ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Ρ ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ.
Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π² Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ Π΄Π°Π½Π½ΠΈΡΠ΅ Π²Π΅ΡΠ΅ ΡΠ° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΠΎ Π³ΡΡΠΏΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² SQL, Π±Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΎ Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π΄Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΈ Π½Π° Π³ΡΡΠΏΠΈΡΠ΅ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ: Π΅Π΄ΠΈΠ½ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Ρ ΡΠΎΠΊΠ΅Π½ ΠΎΡ 0 Π΄ΠΎ 9, Π²ΡΠΎΡΠΈΡΡ β Ρ ΡΠΎΠΊΠ΅Π½ ΠΎΡ 10 Π΄ΠΎ 19 ΠΈ ΡΠ°ΠΊΠ° Π½Π°ΡΠ°ΡΡΠΊ. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° Π²ΡΠ΅ΠΊΠΈ ΠΎΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ° ΡΡΠ°Π²Π° ΠΌΠ°ΡΡΡΡ Π½Π° Π³ΡΡΠΏΠ°ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
Π’ΠΎΠ³Π°Π²Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ HashMap Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°.
ΠΡΠΊΠ°Π·ΠΈ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΈΡΠ΅
Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π΅Π΄ΠΈΠ½ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π° ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π³ΡΡΠΏΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ Π±ΡΡΠ·ΠΎ Π΄Π° ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈ ΡΠ°ΠΊΡΡΡ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡ ΠΎΡΠΊΠ°Π·, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½Π°ΡΠ° ΠΎΠΏΠΈΡ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈ Π² ΡΠ°ΠΉΠΌΠ°ΡΡΠ°. ΠΠ° Π΄Π° Π±ΡΠ΄Π΅ ΡΠΎΠ²Π° Π±ΡΡΠ·ΠΎ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ, ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΠΌΠ΅ ΠΏΡΠ»Π½ΠΎΡΠ²ΡΡΠ·Π°Π½ ΠΊΠ²ΠΎΡΡΠΌΠ΅Π½ heartbeat ΠΏΡΠΎΡΠΎΠΊΠΎΠ»:
ΠΡΠ² Π²ΡΠ΅ΠΊΠΈ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΡ ΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Ρ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΏΠΎ Π΄Π²Π΅ Π½ΠΎΠ΄ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°. ΠΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΠΈΠ·ΠΏΡΠ°ΡΠ° heartbeat-ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΈ ΠΈ ΠΈΠΌ ΡΡΠΎΠ±ΡΠ°Π²Π° Π·Π° ΡΠ²ΠΎΠ΅ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π·Π° ΡΠΎΠ²Π°, ΠΎΡ ΠΊΠΎΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΈ Π΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π» heartbeat-ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎ.

ΠΠΎΠ»ΡΡΠ°Π²Π°ΠΉΠΊΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ Π² ΡΠ΅Ρ
Π½ΠΈΡΠ΅ heartbeat-ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΡΠ΅ΡΠ°Π²Π° Π·Π° ΡΠ΅Π±Π΅ ΡΠΈ, ΠΊΠΎΠΈ Π½ΠΎΠ΄ΠΈ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Ρ, Π° ΠΊΠΎΠΈ Π½Π΅, ΡΡΠΊΠΎΠ²ΠΎΠ΄Π΅ΠΉΠΊΠΈ ΡΠ΅ ΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Π½Π° ΠΊΠ²ΠΎΡΡΠΌΠ°: Π°ΠΊΠΎ Π½ΠΎΠ΄Π° Π₯ Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΠΎΡ ΠΌΠ½ΠΎΠ·ΠΈΠ½ΡΡΠ²ΠΎΡΠΎ Π½Π° Π½ΠΎΠ΄ΠΈΡΠ΅ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π½ΠΎΡΠΌΠ°Π»Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ Π½ΠΎΠ΄Π° Y, Π·Π½Π°ΡΠΈ Y ΡΠ°Π±ΠΎΡΠΈ. Π ΠΎΠ±ΡΠ°ΡΠ½ΠΎΡΠΎ, Π²Π΅Π΄Π½Π°Π³Π° ΡΠΎΠΌ ΠΌΠ½ΠΎΠ·ΠΈΠ½ΡΡΠ²ΠΎΡΠΎ ΡΡΠΎΠ±ΡΠΈ Π·Π° Π»ΠΈΠΏΡΠ° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ Π½ΠΎΠ΄Π° Y, Π·Π½Π°ΡΠΈ Y Π΅ ΠΎΡΠΊΠ°Π·Π°Π»Π°. ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π΅, ΡΠ΅ Π°ΠΊΠΎ ΠΊΠ²ΠΎΡΡΠΌΡΡ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠ° Π½ΠΎΠ΄Π° Π₯, ΡΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΎΡ Π½Π΅Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΠΎ ΡΠ°ΠΌΠ°ΡΠ° Π½ΠΎΠ΄Π° X ΡΠ΅ ΡΠΌΡΡΠ° ΡΠ΅Π±Π΅ ΡΠΈ Π·Π° ΠΎΡΠΊΠ°Π·Π°Π»Π°.
Heartbeat ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Ρ Ρ Π³ΠΎΠ»ΡΠΌΠ° ΡΠ΅ΡΡΠΎΡΠ°, ΠΎΠΊΠΎΠ»ΠΎ 20 ΠΏΡΡΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΎΡ 50 ms. Π Java Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° 50 ms ΠΏΠΎΡΠ°Π΄ΠΈ ΡΡΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠ°ΡΠ° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° ΠΏΠ°ΡΠ·ΠΈΡΠ΅, ΠΏΡΠΈΡΠΈΠ½Π΅Π½ΠΈ ΠΎΡ ΡΡΠ±ΠΈΡΠ°ΡΠ΅Π»Ρ Π½Π° Π±ΠΎΠΊΠ»ΡΠΊ. Π£ΡΠΏΡΡ ΠΌΠ΅ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΠΌ ΡΠ°ΠΊΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΡΠ±ΠΈΡΠ°ΡΠ΅Π»Ρ Π½Π° Π±ΠΎΠΊΠ»ΡΠΊ G1, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π΄Π΅ ΡΠ΅Π» Π·Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΠ°ΡΠ·ΠΈΡΠ΅ Π½Π° GC. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π°, Π΄ΠΎΡΡΠ° ΡΡΠ΄ΠΊΠΎ, ΠΏΠ°ΡΠ·ΠΈΡΠ΅ Π½Π° ΡΡΠ±ΠΈΡΠ°ΡΠ΅Π»Ρ Π½Π°Π΄Ρ Π²ΡΡΠ»ΡΡ 50 ms, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΡΠ°Π»ΡΠΈΠ²ΠΎ ΠΎΡΠΊΡΠΈΡΠΈΠ΅ Π½Π° ΠΎΡΠΊΠ°Π·. ΠΠ° Π΄Π° Π½Π΅ ΡΠ΅ ΡΠ»ΡΡΠΈ ΡΠΎΠ²Π°, ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡΡ Π½Π΅ Π΄ΠΎΠΊΠ»Π°Π΄Π²Π° Π·Π° ΠΎΡΠΊΠ°Π· Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ Π²ΡΠ·Π΅Π» ΠΏΡΠΈ Π·Π°Π³ΡΠ±Π° Π½Π° ΠΏΡΡΠ²ΠΎΡΠΎ heartbeat ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ Π½Π΅Π³ΠΎ, Π° ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ ΡΠ° Π·Π°Π³ΡΠ±Π΅Π½ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΠ΄ΡΠ΅Π΄. Π’Π°ΠΊΠ° ΡΡΠΏΡΡ ΠΌΠ΅ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΠΌ ΠΎΡΠΊΡΠΈΡΠΈΠ΅ Π½Π° ΠΎΡΠΊΠ°Π· Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ° Π·Π° 200 ms.
ΠΠΎ Π΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π±ΡΡΠ·ΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ ΠΊΠΎΡ Π½ΠΎΠ΄Π° Π΅ ΡΠΏΡΡΠ»ΠΎ Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅ Π½Π΅ΡΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π²ΡΠΏΡΠΎΡ.
Π Π΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½Π΅
ΠΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠ°ΡΠ° ΡΡ Π΅ΠΌΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π° Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΎΡΠΊΠ°Π· Π½Π° Π³Π»Π°Π²Π½ΠΈΡ ΡΡΡΠ²ΡΡ Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ ΠΈΠ·Π±ΠΎΡΠΈ Π·Π° Π½ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΠΈΠΌΠ°Ρ Π΄ΠΎΠ±ΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΡ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ Π²ΡΠ² Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΈ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ°ΠΌΠΈΡ ΠΈΠ·Π±ΠΎΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ. Π’Π°ΠΊΠΈΠ²Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ ΡΡΠΏΡΡ ΠΌΠ΅ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΡ Π΅ΠΌΠ°ΡΠ° Π·Π° Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΈΡΠ΅ Π² Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ²ΡΡΠ·Π°Π½Π° ΠΌΡΠ΅ΠΆΠ°:

ΠΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΠ΅ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π² Π³ΡΡΠΏΠ° 50. ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΡ
Π΅ΠΌΠ°ΡΠ° Π·Π° Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½Π΅, ΡΠΎΠ΅ΡΡ ΠΊΠΎΠΈ Π½ΠΎΠ΄ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π° Π³ΡΡΠΏΠ° 50 Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΎΡΠΊΠ°Π· Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ. ΠΠ°ΡΠ°ΡΠ° ΡΠ΅Π» Π΅ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΠΌ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΏΡΠΈ ΠΎΡΠΊΠ°Π· Π½Π° Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΡ. Π©Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ, ΡΠ΅ ΠΏΡΡΠ²ΠΈΡΡ ΡΠ΅Π·Π΅ΡΠ² ΡΠ΅ Π±ΡΠ΄Π΅ Π½ΠΎΠ΄Π° ΠΎΡ Π΄ΡΡΠ³ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΡ, Π° Π²ΡΠΎΡΠΈΡΡ ΡΠ΅Π·Π΅ΡΠ² β Π½ΠΎΠ΄Π° ΠΎΡ ΡΡΠ΅ΡΠΈ. Π’Π°Π·ΠΈ ΡΡ
Π΅ΠΌΠ° ΡΠ΅ ΠΈΠ·Π±ΠΈΡΠ° Π²Π΅Π΄Π½ΡΠΆ ΠΈ Π½Π΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ, Π΄ΠΎΠΊΠ°ΡΠΎ Π½Π΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, ΡΠΎΠ΅ΡΡ, Π΄ΠΎΠΊΠ°ΡΠΎ Π² Π½Π΅Π³ΠΎ Π½Π΅ Π²Π»ΡΠ·Π°Ρ Π½ΠΎΠ²ΠΈ Π½ΠΎΠ΄ΠΈ (ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠΎ). ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΈΠ·Π±ΠΎΡΠ° Π½Π° Π½ΠΎΠ² Π°ΠΊΡΠΈΠ²Π΅Π½ Π³Π»Π°Π²Π΅Π½ ΡΡΡΠ²ΡΡ ΠΏΡΠΈ ΠΎΡΠΊΠ°Π· Π½Π° ΡΡΠ°ΡΠΈΡ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ°ΠΊΠ°Π²Π°: Π°ΠΊΡΠΈΠ²Π΅Π½ Π³Π»Π°Π²Π΅Π½ ΡΡΡΠ²ΡΡ ΡΠ΅ ΡΡΠ°Π½Π΅ ΠΏΡΡΠ²ΠΈΡΡ ΡΠ΅Π·Π΅ΡΠ², Π° Π°ΠΊΠΎ ΠΈ ΡΠΎΠΉ Π΅ ΠΏΡΠ΅ΡΡΠ°Π½Π°Π» Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° β Π²ΡΠΎΡΠΈΡΡ ΡΠ΅Π·Π΅ΡΠ².
Π’Π°Π·ΠΈ ΡΡ Π΅ΠΌΠ° Π΅ ΠΏΠΎ-Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° ΠΎΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΎΠ² Π³Π»Π°Π²Π΅Π½ ΡΡΡΠ²ΡΡ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΡΠ°ΠΊΡΠ° Π½Π° ΠΎΡΠΊΠ°Π· Π½Π° ΡΡΠ°ΡΠΈΡ.
ΠΠΎ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ°Ρ ΠΊΠΎΠΉ ΠΎΡ ΠΌΠ°ΠΉΡΡΠΎΡΠΈΡΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΠΈ? ΠΠ° 50 ΠΌΡ Π΅ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π·ΠΏΡΠ°ΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ. ΠΡΠ·ΠΌΠΎΠΆΠ½Π° Π΅ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, Π±Π΅Π· Π΄Π° Π·Π½Π°Π΅, ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΌΠ°ΠΉΡΡΠΎΡ Π²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°, ΠΈ Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΠΎΡΡΠ°Π²Π° Π½Π° ΡΠ°ΠΉΠΌΠ°ΡΡ. ΠΠ° Π΄Π° Π½Π΅ ΡΠ΅ ΡΠ»ΡΡΠΈ ΡΠΎΠ²Π°, ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° ΠΌΠ°ΠΉΡΡΠΎΡΠ° ΠΎΡ Π³ΡΡΠΏΠ°ΡΠ° ΠΈ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²ΠΈ, Π½ΠΎ ΡΠ°ΠΌΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΈΡΡ ΠΌΠ°ΠΉΡΡΠΎΡ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Π½Π° ΡΠ°Π·ΠΈ Π·Π°ΡΠ²ΠΊΠ°. ΠΡΠΈΡΠΊΠ°ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠ° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΡΠ΅ Π²ΠΎΠ΄ΠΈ ΡΠ°ΠΌΠΎ Ρ Π°ΠΊΡΠΈΠ²Π½ΠΈΡ ΠΌΠ°ΠΉΡΡΠΎΡ.
Π Π΅Π·Π΅ΡΠ²Π½ΠΈΡΠ΅ ΠΌΠ°ΠΉΡΡΠΎΡΠΈ ΠΏΠΎΡΡΠ°Π²ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° Π½Π΅ ΡΠ²ΠΎΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΠΎΠΏΠ°ΡΠΊΠ° Π½Π° Π½Π΅ΡΠΎΠ΄Π΅Π½ΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ ΠΎΡΡΠ°Π²Π°Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΠΊΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΈΡΡ ΠΌΠ°ΠΉΡΡΠΎΡ ΡΠΌΡΠ΅, Π½ΠΎΠ²ΠΈΡΡ ΠΌΠ°ΠΉΡΡΠΎΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½ΠΈΡ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΡ ΡΠ²ΠΎΡΡΠ° ΠΎΠΏΠ°ΡΠΊΠ° ΠΈ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ Π²Π΅ΡΠ΅ Π΅ ΡΡΠΏΡΠ» Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΡΡ ΡΡΠ°ΡΠΈΡ ΠΌΠ°ΠΉΡΡΠΎΡ, Π²ΡΠΎΡΠΈΡΡ ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΡΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠ° (ΠΈ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΠ°ΠΊΠ°Π²Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½ΡΠΌΠ° Π΄Π° Π·Π°Π²ΡΡΡΠΈ ΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½Π° ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°).
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°
ΠΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ° Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ° Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΏΡΡΠ²ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡ. ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡΡ Π±Π»ΠΎΠΊΠΈΡΠ° ΡΠ°Π·ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΠΈ Ρ ΠΏΠΎΡΡΠ°Π²Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π·Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡΡ ΠΏΡΠΎΡΠΈΡΠ° ΡΠ°Π·ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΠΎΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΠΈ Π·Π°ΠΏΠ°Π·Π²Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π² ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°.

ΠΠΎΠ³Π°ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΠΈΡΠΊΠ° Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°, ΡΠΎΠΉ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ° Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΡΠ°, Π° ΡΠΎΠΉ ΠΏΠΎΡΡΠ°Π²Ρ Π½ΠΎΠ²ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π·Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΠ° ΡΠΎΠ·ΠΈ Π΅ΡΠ°ΠΏ Π·Π°ΠΏΠΈΡΡΡ ΠΏΡΠΈΠΊΠ»ΡΡΠ²Π° β Π·Π°ΠΏΠΈΡ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°.

ΠΠΎΠ³Π°ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ Π·Π°ΠΏΠΈΡΠ²Π° Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π°ΠΊΡΠΈΠ²Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΡΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²Π° ΡΠ°ΠΊΠ°:
- Π°ΠΊΠΎ ID Π²Π΅ΡΠ΅ Π΅ Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°, Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ Π²Π·ΠΈΠΌΠ°Ρ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ°;
- Π°ΠΊΠΎ ID Π½Π΅ Π΅ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π½Π΅Π΄ΠΎΡΡΠΈΠ³Π°ΡΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°Ρ ΠΎΡ Π½ΠΎΠ΄ΠΎΠ²ΠΈΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Ρ ΡΠ΅ Ρ ΡΠΆΠ΅ Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
Π’Π°ΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π° Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π½Π΅ Π²ΠΈΠΆΠ΄Π°Ρ ΡΠ΅Π·ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π·Π°ΡΠΎΡΠΎ ΡΠ΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΡΠ°ΠΌΠΎ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°, Π² Π½ΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅ Π½Π° Cassandra Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ.

ΠΠΎΠ³Π°ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΠΈΠ·ΠΏΡΠ°ΡΠΈ commit, ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ, Π½Π°Π»ΠΈΡΠ½ΠΎ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, ΡΠ΅ Π·Π°ΠΏΠ°Π·Π²Π° ΠΎΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ° Π² logged batch ΠΈ Π²Π΅ΡΠ΅ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° logged batch ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΊΡΠΌ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΡΠ° Cassandra. Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΡΠ° ΠΏΡΠ°Π²ΡΡ Π²ΡΠΈΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, Π·Π° Π΄Π° ΡΠΎΠ·ΠΈ ΠΏΠ°ΠΊΠ΅Ρ Π±ΡΠ΄Π΅ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎ (Π½Π°ΠΏΡΠ»Π½ΠΎ) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½, ΠΈ Π²ΡΡΡΠ°Ρ ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°, Π° ΡΠΎΠΉ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈΡΠ΅ ΠΈ ΠΏΠΎΡΠ²ΡΡΠ΄ΠΆΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.

Π Π·Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ° ΠΌΡ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΡΠ°ΠΌΠΎ Π΄Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π·Π°Π΅ΡΠ° ΠΎΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°.
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΠΎ-Π³ΠΎΡΠ΅ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΌΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΡΠ΅ ACID:
- ΠΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡ. Π’ΠΎΠ²Π° Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡ, ΡΠ΅ Π½ΠΈΡΠΎ Π΅Π΄Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π΅ ΡΠΈΠΊΡΠΈΡΠ°Π½Π° Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ°ΡΡΠΈΡΠ½ΠΎ, Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΉΠ½ΠΈ ΠΏΠΎΠ΄ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ»ΠΈ ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈ, ΠΈΠ»ΠΈ Π½ΠΈΡΠΎ Π΅Π΄Π½Π° Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½Π°. ΠΡΠΈ Π½Π°Ρ ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ΅ ΡΠΏΠ°Π·Π²Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° logged batch Π² Cassandra.
- Π‘ΡΠ³Π»Π°ΡΡΠ²Π°Π½ΠΎΡΡ. ΠΡΡΠΊΠ° ΡΡΠΏΠ΅ΡΠ½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠΈΡΠ° ΡΠ°ΠΌΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ. ΠΠΊΠΎ ΡΠ»Π΅Π΄ ΠΎΡΠ²Π°ΡΡΠ½Π΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΡΡ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈ, ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ Π΅ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌ, ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅.
- ΠΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΎΡΡ. ΠΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π²Π»ΠΈΡΡΡ Π½Π° Π½Π΅ΠΉΠ½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ. Π‘ΡΠΏΠ΅ΡΠ½ΠΈΡΠ΅ΡΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΠ΅ΡΠΈΠΌΠΈΡΡΠΈΡΠ½ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°. ΠΠ° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈΠ·Π²ΡΠ½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° ΡΠ΅ ΡΠΏΠ°Π·Π²Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Π½Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΎΡΡ Π½Π° Π½ΠΈΠ²ΠΎ Read Committed.
- Π£ΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Π½Π° ΠΏΠΎ-Π½ΠΈΡΠΊΠΈΡΠ΅ Π½ΠΈΠ²Π° β ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΏΡΠΎΠ²Π°Π» Π½Π° ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ΡΠΎ β ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°Π²ΡΡΡΠ΅Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΡΠ°Π½Π°Ρ Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ ΡΠ»Π΅Π΄ Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ.
Π§Π΅ΡΠ΅Π½Π΅ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ
ΠΠ° Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΏΡΠΎΡΡΠ° ΡΠ°Π±Π»ΠΈΡΠ°:
CREATE TABLE photos (
id bigint primary key,
owner bigint,
modified timestamp,
β¦)Π’Ρ ΠΈΠΌΠ° ID (ΠΏΡΡΠ²ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡ), ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊ ΠΈ Π΄Π°ΡΠ° Π½Π° ΠΏΡΠΎΠΌΡΠ½Π°. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ β Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅ΡΠ°Ρ Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΏΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊ Ρ Π΄Π°ΡΠ° Π½Π° ΠΏΡΠΎΠΌΡΠ½Π° βΠ·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ 24 ΡΠ°ΡΠ°.β
SELECT *
WHERE owner=?
AND modified>?ΠΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π±ΡΡΠ·ΠΎ, Π² ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠ° SQL Π‘Π£ΠΠ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΠ΅ (owner, modified). ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠΎΡΡΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅Π³Π° ΠΈΠΌΠ°ΠΌΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΠΈ ACID!
ΠΠ½Π΄Π΅ΠΊΡΠΈ Π² C*One
ΠΠΌΠ° ΠΈΠ·Ρ ΠΎΠ΄Π½Π° ΡΠ°Π±Π»ΠΈΡΠ° Ρ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ, Π² ΠΊΠΎΡΡΠΎ ID Π½Π° Π·Π°ΠΏΠΈΡΠ° Π΅ ΠΏΡΡΠ²ΠΈΡΠ½ΠΈΡΡ ΠΊΠ»ΡΡ.

ΠΠ° ΠΈΠ½Π΄Π΅ΠΊΡΠ° C*One ΡΡΠ·Π΄Π°Π²Π° Π½ΠΎΠ²Π° ΡΠ°Π±Π»ΠΈΡΠ°, ΠΊΠΎΡΡΠΎ Π΅ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° ΠΈΠ·Ρ
ΠΎΠ΄Π½Π°ΡΠ°. ΠΠ»ΡΡΡΡ ΡΡΠ²ΠΏΠ°Π΄Π° Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΈΡ ΠΈΠ·ΡΠ°Π·, ΠΊΠ°ΡΠΎ Π² Π½Π΅Π³ΠΎ Π²Π»ΠΈΠ·Π° ΠΈ ΠΏΡΡΠ²ΠΈΡΠ½ΠΈΡΡ ΠΊΠ»ΡΡ Π½Π° Π·Π°ΠΏΠΈΡΠ° ΠΎΡ ΠΈΠ·Ρ
ΠΎΠ΄Π½Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ°:

Π‘Π΅Π³Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π·Π° βΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ 24 ΡΠ°ΡΠ°β ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΊΠ°ΡΠΎ select ΠΎΡ Π΄ΡΡΠ³Π° ΡΠ°Π±Π»ΠΈΡΠ°:
SELECT * FROM i1_test
WHERE owner=?
AND modified>?Π‘ΡΠ³Π»Π°ΡΡΠ²Π°Π½ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° photos ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ½Π°ΡΠ° i1 ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°. ΠΠ° Π±Π°Π·Π°ΡΠ° ΡΠ°ΠΌΠΎ Π½Π° ΡΡ Π΅ΠΌΠ°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΡΠ½Π°, ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΈ Π·Π°ΠΏΠΎΠΌΠ½Ρ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ°, Π½ΠΎ ΠΈ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΠΊΠΎΠΏΠΈΡΡΠ°. ΠΠΈΠΊΠ°ΠΊΠ²ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ½Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° Π½Π΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ, Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ ΡΠ΅ΡΠ°Ρ, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ. Π’ΠΎΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΏΠΎΡΡΠΈ Π½Π΅ ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° ΡΠ΅ΡΡΡΡΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π²Π»ΠΈΡΠ΅ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ACID ΡΡΠΏΡΡ ΠΌΠ΅ Π΄Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ βΠΊΠ°ΠΊΡΠΎ Π² SQLβ. Π’Π΅ ΠΏΡΠΈΡΠ΅ΠΆΠ°Π²Π°Ρ ΡΡΠ³Π»Π°ΡΡΠ²Π°Π½ΠΎΡΡ, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Ρ, ΡΠ°Π±ΠΎΡΡΡ Π±ΡΡΠ·ΠΎ, ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΡΡΡΠ°Π²Π½ΠΈ ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ Π² Π΅Π·ΠΈΠΊΠ° Π·Π° Π·Π°ΡΠ²ΠΊΠΈ CQL. ΠΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ Π²Π½Π°ΡΡΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ½ΠΈΡ ΠΊΠΎΠ΄. ΠΡΠΈΡΠΊΠΎ Π΅ ΠΏΡΠΎΡΡΠΎ, ΠΊΠ°ΠΊΡΠΎ Π² SQL. Π Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎΡΠΎ, ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ Π½Π΅ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅.
ΠΠ°ΠΊΠ²ΠΎ ΠΏΠΎΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ΅
Π Π°Π·ΡΠ°Π±ΠΎΡΠΈΡ ΠΌΠ΅ C*One ΠΏΡΠ΅Π΄ΠΈ ΡΡΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ Π³ΠΎ ΠΏΡΡΠ½Π°Ρ ΠΌΠ΅ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ.
ΠΠ°ΠΊΠ²ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ°? ΠΠ΅ΠΊΠ° ΠΎΡΠ΅Π½ΠΈΠΌ ΡΠΎΠ²Π° Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ½ΠΈΠΌΠΊΠΈ, Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ Π² ΡΠΎΡΠΈΠ°Π»Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. Π‘ΡΠ°Π²Π° Π΄ΡΠΌΠ° Π½Π΅ Π·Π° ΡΠ°ΠΌΠΈΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ, Π° Π·Π° ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½Π°ΡΠ° ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π² βΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ β ΠΈΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ 20 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄Π° ΡΠ°ΠΊΠΈΠ²Π° Π·Π°ΠΏΠΈΡΠ°, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° 80 Ρ ΠΈΠ»ΡΠ΄ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° ΠΈ Π΄ΠΎ 8 Ρ ΠΈΠ»ΡΠ΄ΠΈ ACID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ.
ΠΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ SQL Ρ replication factor = 1 (Π½ΠΎ Π² RAID 10), ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠ½ΠΈΠΌΠΊΠΈΡΠ΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΡΠ΅ Π½Π° Π²ΠΈΡΠΎΠΊΠΎ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΎΡ 32 ΠΌΠ°ΡΠΈΠ½ΠΈ Ρ Microsoft SQL Server (ΠΏΠ»ΡΡ 11 ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ). ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π±ΡΡ Π° ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈ 10 ΡΡΡΠ²ΡΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ. Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° 50 ΡΠΊΡΠΏΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ. ΠΡΠΈ ΡΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠΈΠ½Π°Π»Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΎΡΡ, Π±Π΅Π· ΡΠ΅Π·Π΅ΡΠ².
Π‘Π»Π΅Π΄ ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΊΡΠΌ Π½ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ replication factor = 3 β ΠΏΠΎ Π΅Π΄Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π²ΡΠ² Π²ΡΠ΅ΠΊΠΈ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΡ. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ 63 Π²ΡΠ·Π»ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Cassandra ΠΈ 6 ΠΌΠ°ΡΠΈΠ½ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΈ, ΠΎΠ±ΡΠΎ 69 ΡΡΡΠ²ΡΡΠ°. ΠΠΎ ΡΠ΅Π·ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΡΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-Π΅Π²ΡΠΈΠ½ΠΈ, ΠΎΠ±ΡΠ°ΡΠ° ΠΈΠΌ ΡΡΠΎΠΉΠ½ΠΎΡΡ Π΅ ΠΎΠΊΠΎΠ»ΠΎ 30 % ΠΎΡ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° SQL. ΠΡΠΈ ΡΠΎΠ²Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ ΠΎΡΡΠ°Π²Π° Π½Π° Π½ΠΈΠ²ΠΎ 30 %.
Π‘ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΠΌ C*One Π±Π΅ΡΠ΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π·Π°Π±Π°Π²ΡΠ½Π΅: Π² SQL ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Π·Π° Π·Π°ΠΏΠΈΡ ΠΎΡΠ½Π΅ΠΌΠ°ΡΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 4.5 ms. Π C*One β ΠΎΠΊΠΎΠ»ΠΎ 1.6 ms. Π‘ΡΠ΅Π΄Π½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ 40 ms, ΠΊΠΎΠΌΠΈΡΡΡ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π·Π° 2 ms, Π° ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ ΠΈ Π·Π°ΠΏΠΈΡΡΡ ΠΎΡΠ½Π΅ΠΌΠ°Ρ ΡΡΠ΅Π΄Π½ΠΎ 2 ms. 99-ΡΡ ΠΏΠ΅ΡΡΠ΅Π½ΡΠΈΠ» Π΅ ΡΠ°ΠΌΠΎ 3-3.1 ms ΠΈ Π±ΡΠΎΡΡ Π½Π° ΡΠ°ΠΉΠΌΠ°ΡΡΠΈΡΠ΅ Π΅ Π½Π°ΠΌΠ°Π»ΡΠ» 100 ΠΏΡΡΠΈ β Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠΈ.
ΠΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΎΡ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ Π΅ ΠΈΠ·Π²Π΅Π΄Π΅Π½Π° Π³ΠΎΠ»ΡΠΌΠ° ΡΠ°ΡΡ ΠΎΡ Π²ΡΠ·Π»ΠΈΡΠ΅ Π½Π° SQL Server, Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΡΠ°ΠΌΠΎ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° C*One. ΠΠ΄Π°ΠΏΡΠΈΡΠ°Ρ ΠΌΠ΅ C*One Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π² Π½Π°ΡΠ΅ΡΠΎ ΠΎΠ±Π»Π°ΠΊΠΎ. , ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΡΡΠΊΠΎΡΠΈΠΌ ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ, Π΄Π° ΠΎΠΏΡΠΎΡΡΠΈΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° ΠΈ Π΄Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ°. ΠΠ΅Π· ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ ΡΠ΅ΡΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈ Ρ ΡΠΎΠΌΠ°Π²ΠΎ.
Π‘Π΅Π³Π° ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΏΠΎ ΡΡΠ°Π½ΡΡΠ΅ΡΠ° Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅ Π½ΠΈ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π² ΠΎΠ±Π»Π°ΠΊ β Π½ΠΎ ΡΠΎΠ²Π° Π΅ ΡΡΠ²ΡΠ΅ΠΌ Π΄ΡΡΠ³Π° ΠΈΡΡΠΎΡΠΈΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
