ΠΠΎΡΠΊΠΎΡΠΎ Π² Odnoklassniki ΠΎΠΊΠΎΠ»ΠΎ 50 TB Π΄Π°Π½Π½ΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Π½ΠΈ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΠ΅ ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Ρ
Π° Π² SQL Server. ΠΠ° ΡΠ°ΠΊΡΠ² ΠΎΠ±Π΅ΠΌ Π΅ ΠΏΠΎΡΡΠΈ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ Π±ΡΡΠ· ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΈ Π΄ΠΎΡΠΈ ΡΡΡΠΎΠΉΡΠΈΠ² Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ΅Π½ΡΡΡΠ° Π·Π° Π΄Π°Π½Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° SQL Π‘Π£ΠΠ. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π² ΡΠ°ΠΊΠΈΠ²Π° ΡΠ»ΡΡΠ°ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Π΄Π½ΠΎ ΠΎΡ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΡΠ° Π½Π° NoSQL, Π½ΠΎ Π½Π΅ Π²ΡΠΈΡΠΊΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅Ρ
Π²ΡΡΠ»Π΅Π½ΠΎ ΠΊΡΠΌ NoSQL: Π½ΡΠΊΠΎΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π³Π°ΡΠ°Π½ΡΠΈΠΈ Π·Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π° ACID.
Π’ΠΎΠ²Π° Π½ΠΈ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° NewSQL ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, ΡΠΎΠ΅ΡΡ Π‘Π£ΠΠ, ΠΊΠΎΡΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠ½ΠΎΡΡ ΠΊΡΠΌ Π³ΡΠ΅ΡΠΊΠΈ, ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° NoSQL ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅, Π½ΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π°ΠΏΠ°Π·Π²Π° ACID Π³Π°ΡΠ°Π½ΡΠΈΠΈΡΠ΅, ΠΏΠΎΠ·Π½Π°ΡΠΈ Π½Π° ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠΌΠ° ΠΌΠ°Π»ΠΊΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΈΠ½Π΄ΡΡΡΡΠΈΠ°Π»Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΡ ΡΠΎΠ·ΠΈ Π½ΠΎΠ² ΠΊΠ»Π°Ρ, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ°ΠΌΠΈ Π²Π½Π΅Π΄ΡΠΈΡ ΠΌΠ΅ ΡΠ°ΠΊΠ°Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ Ρ ΠΏΡΡΠ½Π°Ρ ΠΌΠ΅ Π² ΡΡΡΠ³ΠΎΠ²ΡΠΊΠ° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠΈ - ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄ ΡΠ°Π·ΡΠ΅Π·Π°.
ΠΠ½Π΅Ρ ΠΌΠ΅ΡΠ΅ΡΠ½Π°ΡΠ° Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ Π½Π° Odnoklassniki Π΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 70 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»ΠΈ. ΠΠΈΠ΅
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Cassandra ΠΎΡ 2010 Π³., Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ Π²Π΅ΡΡΠΈΡ 0.6. ΠΠ½Π΅Ρ ΡΠ°Π±ΠΎΡΡΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΠΊΠ»ΡΡΡΠ΅ΡΠ°. ΠΠ°ΠΉ-Π±ΡΡΠ·ΠΈΡΡ ΠΊΠ»ΡΡΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Π½Π°Π΄ 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, Π΄ΠΎΠΊΠ°ΡΠΎ Π½Π°ΠΉ-Π³ΠΎΠ»Π΅ΠΌΠΈΡΡ ΡΡΡ ΡΠ°Π½ΡΠ²Π° 260 TB.
Π’ΠΎΠ²Π° ΠΎΠ±Π°ΡΠ΅ ΡΠ° Π²ΡΠΈΡΠΊΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ NoSQL ΠΊΠ»ΡΡΡΠ΅ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅
ΠΠ° Π΄Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ·Π»ΠΈΡΠ΅ Π½Π° SQL Server, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ
ΠΌΠ΅ ΠΊΠ°ΠΊΡΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»Π½ΠΈ, ΡΠ°ΠΊΠ° ΠΈ Ρ
ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΈ
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΡΠ΄ΠΈΠ½Π³Π° ΠΈ Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° SQL:
- ΠΠΈΠ΅ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π²ΡΠ½ΡΠ΅Π½ ΠΊΠ»ΡΡ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠΈ ΡΠ°ΡΠ΄ΠΈΠ½Π³ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΡ Π½ΠΎΠΌΠ΅Ρ Π½Π° ΠΎΠ±Π΅ΠΊΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π½Π° Π΄ΡΡΠ³ ΡΡΡΠ²ΡΡ.
- ΠΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π·Π°ΠΏΠΎΠΌΠ½Π΅Π½ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΈ ΠΈ ΡΡΠΈΠ³Π΅ΡΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π½Π° Π‘Π£ΠΠ.
- ΠΠΈΠ΅ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ JOIN ΠΏΠΎΡΠ°Π΄ΠΈ Π²ΡΠΈΡΠΊΠΎ ΠΏΠΎ-Π³ΠΎΡΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡ Π΄ΠΈΡΠΊ.
- ΠΠ·Π²ΡΠ½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Read Uncommitted, Π·Π° Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ΠΈΡΡΠ°.
- ΠΠΈΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅ ΡΠ°ΠΌΠΎ ΠΊΡΠ°ΡΠΊΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ (ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ 100ms ΡΡΠ΅Π΄Π½ΠΎ).
- ΠΠΈΠ΅ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ΅Π΄ΠΎΠ²ΠΈ UPDATE ΠΈ DELETE ΠΏΠΎΡΠ°Π΄ΠΈ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ΠΈΡ - Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ Π·Π°ΠΏΠΈΡ Π½Π°Π²Π΅Π΄Π½ΡΠΆ.
- ΠΠ°ΡΠ²ΠΊΠΈΡΠ΅ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΡΠ°ΠΌΠΎ ΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ - Π·Π°ΡΠ²ΠΊΠ° Ρ ΠΏΡΠ»Π΅Π½ ΠΏΠ»Π°Π½ Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ° ΠΎΠ·Π½Π°ΡΠ°Π²Π° Π·Π° Π½Π°Ρ ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ Π½Π΅ΠΉΠ½ΠΈΡ ΠΎΡΠΊΠ°Π·.
Π’Π΅Π·ΠΈ ΡΡΡΠΏΠΊΠΈ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π° Π΄Π° ΠΈΠ·ΡΡΠΈΡΠΊΠ°ΠΌΠ΅ ΠΏΠΎΡΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΎΡ SQL ΡΡΡΠ²ΡΡΠΈΡΠ΅. ΠΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ ΠΎΠ±Π°ΡΠ΅ ΡΡΠ°Π²Π°Ρ Π° Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅. ΠΠ΅ΠΊΠ° Π΄Π° Π³ΠΈ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅.
ΠΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΡ SQL
- Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ ΡΠ°ΠΌΠΎΠ½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΡΠ°ΡΠ΄ΠΈΠ½Π³, Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΡΠ°ΡΠ΄ΠΎΠ²Π΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΡΡΡΠ½ΠΎ ΠΎΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅. ΠΡΠ΅Π· ΡΡΠ»ΠΎΡΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π΅ ΡΠ° ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π»ΠΈ Π·Π°ΡΠ²ΠΊΠΈ.
- Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π±ΡΠΎΡΡ Π½Π° Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° ΡΠ°ΡΡΠ΅, ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π°ΠΌΠ°Π»ΡΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΊΡΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ°, ΡΠΊΠΎΡΠΎΡΡΡΠ° ΠΏΠ°Π΄Π° ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΡΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΎΡΠ½Π΅ΠΌΠ° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠ΅ΡΡΠΎΠΉ.
- ΠΠ°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠ°Π»ΠΊΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Windows Π·Π° SQL Server Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°
ΠΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π΅
ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ
ΠΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡΡ SQL Server ΠΈΠΌΠ° Π»ΠΎΡΠ° ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠ½ΠΎΡΡ ΠΊΡΠΌ Π³ΡΠ΅ΡΠΊΠΈ. ΠΠ° ΠΏΡΠΈΠ΅ΠΌΠ΅ΠΌ, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ ΡΡΡΠ²ΡΡ Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠΎΠΉ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»Ρ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΡΡΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. ΠΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΡΠ°ΠΉΡΡΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ Π·Π° 20 ΠΌΠΈΠ½ΡΡΠΈ, ΡΠΎΠ²Π° Π΅ ΠΏΡΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ. ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ 64 ΡΡΡΠ²ΡΡΠ°, ΡΠΎΠ³Π°Π²Π° ΡΠ°ΠΉΡΡΡ ΡΠΏΠΈΡΠ° Π²Π΅Π΄Π½ΡΠΆ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΡΡΠΈ ΡΠ΅Π΄ΠΌΠΈΡΠΈ. Π Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ 200 ΡΡΡΠ²ΡΡΠ°, ΡΠΎΠ³Π°Π²Π° ΡΠ°ΠΉΡΡΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ Π²ΡΡΠΊΠ° ΡΠ΅Π΄ΠΌΠΈΡΠ°. Π’ΠΎΠ²Π° Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ, Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° SQL ΡΡΡΠ²ΡΡΠ°? Π£ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ Π½ΠΈ ΠΊΠ°Π½ΠΈ Π΄Π° ΡΡΡΠΎΠΈΠΌ
Π’ΠΎΠ²Π° ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ»ΠΎΡ ΠΎΡ ΡΠΊΡΠΏΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅: ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΠ±Π»ΠΈΡΠ°Π½ΠΈ, ΠΎΠΏΡΠΈΡΠ½ΠΈ Π²Π»Π°ΠΊΠ½Π°, ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΎ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π° Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ: ΠΎΠΊΠΎΠ»ΠΎ 10% ΠΎΡ Π²ΠΊΠ»ΡΡΠ²Π°Π½ΠΈΡΡΠ° Π·Π°Π²ΡΡΡΠ²Π°Ρ Ρ ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈΡ Π²ΡΠ·Π΅Π» Ρ Π²Π»Π°ΠΊ Π·Π°Π΄ Π³Π»Π°Π²Π½ΠΈΡ Π²ΡΠ·Π΅Π».
ΠΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΊ Π½Π° ΡΠ°ΠΊΡΠ² ΠΊΠ»ΡΡΡΠ΅Ρ Ρ Π²ΠΈΡΠΎΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ Π΅ Π½ΡΠ»Π΅Π²Π°ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΡΠ΅Π½ΡΡΡΠ° Π·Π° Π΄Π°Π½Π½ΠΈ, Π² ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°. Odnoklassniki ΠΈΠΌΠ° ΡΠ΅ΡΠΈΡΠΈ ΡΠ΅Π½ΡΡΡΠ° Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π½ΠΈΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠ° Π² Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΡΡ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΡΠ»Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π°.
ΠΠ° ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°
ΠΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π° ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½ΠΈΠ΅ ΠΏΡΠΈΡΡΡΠΏΠΈΡ ΠΌΠ΅ ΠΊΡΠΌ ΡΠ΅Ρ Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π΅Π½ Π°Π½Π°Π»ΠΈΠ·. Π’ΡΠΊ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ Ρ ΡΠΎΠ²Π° ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎ ΠΏΡΠ°Π²ΠΈ SQL Server β ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅.
ΠΡΠΎΡΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ
ΠΠΎΠΌΠΈΡΠ»Π΅ΡΠ΅ Π·Π° Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠ°ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ SQL ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡ: Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΊΡΠΌ Π°Π»Π±ΡΠΌ. ΠΠ»Π±ΡΠΌΠΈΡΠ΅ ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈΡΠ΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°Π±Π΅Π»ΠΈ. ΠΠ»Π±ΡΠΌΡΡ ΠΈΠΌΠ° ΠΏΡΠ±Π»ΠΈΡΠ΅Π½ Π±ΡΠΎΡΡ Π½Π° ΡΠ½ΠΈΠΌΠΊΠΈ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ°ΠΊΠ°Π²Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΡΡΠΏΠΊΠΈ:
- ΠΠ»ΠΎΠΊΠΈΡΠ°ΠΌΠ΅ Π°Π»Π±ΡΠΌΠ° ΠΏΠΎ ΠΊΠ»ΡΡ.
- Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ Π·Π°ΠΏΠΈΡ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° ΡΡΡ ΡΠ½ΠΈΠΌΠΊΠΈ.
- ΠΠΊΠΎ ΡΠ½ΠΈΠΌΠΊΠ°ΡΠ° ΠΈΠΌΠ° ΠΏΡΠ±Π»ΠΈΡΠ΅Π½ ΡΡΠ°ΡΡΡ, ΡΠΎΠ³Π°Π²Π° Π·Π°ΡΠ²Π°ΡΡΠΌΠ΅ Π±ΡΠΎΡΡΠ° Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ Π² Π°Π»Π±ΡΠΌΠ°, Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π·Π°ΠΏΠΈΡΠ° ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΠΌΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°.
ΠΠ»ΠΈ Π² ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄:
TX.start("Albums", id);
Album album = albums.lock(id);
Photo photo = photos.create(β¦);
if (photo.status == PUBLIC ) {
album.incPublicPhotosCount();
}
album.update();
TX.commit();
ΠΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ Π½Π°ΠΉ-ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π·Π° Π±ΠΈΠ·Π½Π΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π΅ Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ°Ρ Π΄Π°Π½Π½ΠΈ ΠΎΡ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π½Π΅ΡΠΎ ΠΈ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΈΡΠ°Ρ Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΏΡΠΈ ΡΠ°ΠΊΠ°Π²Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°ΠΌΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΎΠ±Π΅ΠΊΡΠ°, Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°Π±Π»ΠΈΡΠΈ.
ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΡΡΡΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΎΡ Π΄ΡΡΠ³Π° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Antispam ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΡΠΈ, ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»Π΅Π½ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½ ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π²Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈ, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ Π·Π° ΠΌΠΎΠ΄Π΅ΡΠΈΡΠ°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° photo.status Π½Π° Π΄ΡΡΠ³Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ Π±ΡΠΎΡΡΠΈ. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π°ΠΊΠΎ ΡΠ°Π·ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ΅ ΡΠ΅ ΡΠ»ΡΡΠΈ Π±Π΅Π· Π³Π°ΡΠ°Π½ΡΠΈΠΈ Π·Π° Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΡΠΈΡΠ°ΡΠΈ ΡΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΊΡΠΎ Π²
ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Odnoklassniki Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠ² ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±ΠΈΠ·Π½Π΅Ρ ΠΎΠ±Π΅ΠΊΡΠΈ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ. Π‘ΠΏΠΎΡΠ΅Π΄ ΠΎΠΏΠΈΡΠ° ΠΎΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° ΠΊΡΠΌ NoSQL Ρ
ΠΡΡΠ³ΠΈ ΡΡΡΠΎ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π±ΡΡ Π°:
- Π ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π² ΡΠ΅Π½ΡΡΡΠ° Π·Π° Π΄Π°Π½Π½ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° Π΄ΠΎΡΡΡΠΏ ΠΊΠ°ΠΊΡΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅, ΡΠ°ΠΊΠ° ΠΈ Π·Π° Π·Π°ΠΏΠΈΡ Π² Π½ΠΎΠ²ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
- ΠΠ°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π³Π°ΡΠ½Π°ΡΠ° ΡΠΊΠΎΡΠΎΡΡ Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅. Π’ΠΎΠ΅ΡΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Ρ Π½ΠΎΠ²ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ ΠΊΠΎΠ΄ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ ΡΡΡΠΎΡΠΎ, Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° Π½ΡΠΆΠ΄Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π½Π΅ΡΠΎ ΠΊΡΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ, Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° Π²ΡΠΎΡΠΈΡΠ½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΈ Ρ.Π½.
- Π‘ΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° Π½ΠΎΠ²ΠΎΡΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π²ΠΈΡΠΎΠΊΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, ΡΠ°ΠΊΠ° ΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ½ΠΎ ΡΡΡΠΎΠ³ΠΈ, Ρ ΠΎΠ±ΡΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π±Π°Π²Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡ.
Π΄Π²ΡΡΠ°Π·ΠΎΠ²ΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ . - ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅.
- ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ Π΅Π²ΡΠΈΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ, Π±Π΅Π· Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΊΡΠΏΡΠ²Π°ΡΠ΅ Π΅ΠΊΠ·ΠΎΡΠΈΡΠ½ΠΈ ΠΆΠ΅Π»Π΅Π·Π°.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ°. Π‘ Π΄ΡΡΠ³ΠΈ Π΄ΡΠΌΠΈ, Π±Π΅ΡΠ΅ Π΄Π°Π΄Π΅Π½ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π° ΠΏΠ°ΡΠ΅Π½ΡΠΎΠ²Π°Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄, Π·Π° ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½Π΅ Π² Java.
Π Π΅ΡΠ΅Π½ΠΈΡ, ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΠΊΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ΅ Π΄ΠΎ Π΄Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°:
ΠΡΡΠ²ΠΈΡΡ Π΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ SQL ΡΡΡΠ²ΡΡ ΠΈ Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠ½ΠΎΡΡ ΠΊΡΠΌ Π³ΡΠ΅ΡΠΊΠΈ, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅, ΠΊΠ»ΡΡΡΠ΅ΡΠΈΡΠ°Π½Π΅ ΠΏΡΠΈ ΠΎΡΠΊΠ°Π·, ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ, Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΠΈ Π±ΡΡΠ·ΠΈ ACID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ ΡΠ°Π·ΠΈ ΠΎΠΏΡΠΈΡ ΠΊΠ°ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΡΡΠΈΠ²ΠΈΠ°Π»Π½Π° ΠΈ ΠΎΡΠ½Π΅ΠΌΠ°ΡΠ° Π²ΡΠ΅ΠΌΠ΅.
ΠΡΠΎΡΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ Π΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ NoSQL Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅, failover clustering, ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ ΠΈ ΡΠ°ΠΌΠΈ Π΄Π° Π²Π½Π΅Π΄ΡΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ SQL. ΠΠ° ΠΏΡΡΠ² ΠΏΠΎΠ³Π»Π΅Π΄ Π΄ΠΎΡΠΈ Π·Π°Π΄Π°ΡΠ°ΡΠ° Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° SQL, Π΄Π° Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° ACID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ Π·Π°Π΄Π°ΡΠ° ΠΎΡ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. ΠΠΎ ΡΠΎΠ³Π°Π²Π° ΠΎΡΡΠ·Π½Π°Ρ
ΠΌΠ΅, ΡΠ΅ Π½Π°Π±ΠΎΡΡΡ ΠΎΡ SQL ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π΄Π°Π»Π΅Ρ ΠΎΡ ANSI SQL
ΠΠ°ΡΠ°Π½Π΄ΡΠ° ΠΈ CQL
Π ΡΠ°ΠΊΠ°, ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π·Π° ΠΠ°ΡΠ°Π½Π΄ΡΠ°, ΠΊΠ°ΠΊΠ²ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΈΠΌΠ°?
ΠΡΡΠ²ΠΎ, ΡΡΠΊ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ SELECT ΠΈΠ»ΠΈ UPDATE ΡΡΠ΅Π· ΠΏΡΡΠ²ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡ.
CREATE TABLE photos (id bigint KEY, owner bigint,β¦);
SELECT * FROM photos WHERE id=?;
UPDATE photos SET β¦ WHERE id=?;
ΠΠ° Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈ ΡΡΠ³Π»Π°ΡΡΠ²Π°Π½ΠΎΡΡ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, Cassandra ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°
ΠΠ·Π²ΠΈΠΊΠ²Π° ΡΠ΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΠΈ Π²ΡΠ·Π΅Π»Π° ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΠΎΡ Π΄Π²Π°
ΠΡΡΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²ΠΎ Π½Π° Cassandra Π΅ Batchlog, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ, ΠΊΠΎΠΉΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ°Π²ΠΈΡΠ΅, ΡΠ° Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Π½Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈ ΠΊΡΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°. Π’ΠΎΠ²Π° Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ΡΠΈΠΌ Π Π² ACID - Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡ ΠΈΠ·Π²ΡΠ½ ΠΊΡΡΠΈΡΡΠ°.
ΠΠ°ΠΉ-Π±Π»ΠΈΠ·ΠΊΠΎΡΠΎ Π½Π΅ΡΠΎ Π΄ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ Π² ΠΠ°ΡΠ°Π½Π΄ΡΠ° Π΅ Ρ.Π½Π°Ρ. "
ΠΠ°ΠΊΠ²ΠΎ ΠΏΡΠΎΠΏΡΡΠ½Π°Ρ ΠΌΠ΅ Π² ΠΠ°ΡΠ°Π½Π΄ΡΠ°
Π ΡΠ°ΠΊΠ°, ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° Π²Π½Π΅Π΄ΡΠΈΠΌ ΠΈΡΡΠΈΠ½ΡΠΊΠΈ ACID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² Cassandra. Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΈΡΠΎ Π±ΠΈΡ ΠΌΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π²Π½Π΅Π΄ΡΠΈΠΌ Π΄Π²Π΅ Π΄ΡΡΠ³ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠ°ΡΠ° Π‘Π£ΠΠ: ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΈ Π±ΡΡΠ·ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π±ΠΈΡ Π° Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·Π±ΠΈΡΠ°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ ΡΡΠ΅Π· ΠΏΡΡΠ²ΠΈΡΠ½ΠΈΡ ΠΊΠ»ΡΡ, ΠΈ ΠΎΠ±ΠΈΡΠ°ΠΉΠ½ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π° ΠΌΠΎΠ½ΠΎΡΠΎΠ½Π½ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π½Π°ΡΠ°ΡΡΠ²Π°Π½Π΅.
C*One
Π’Π°ΠΊΠ° ΡΠ΅ ΡΠΎΠ΄ΠΈ Π½ΠΎΠ²Π°ΡΠ° Π‘Π£ΠΠ C*One, ΡΡΡΡΠΎΡΡ ΡΠ΅ ΠΎΡ ΡΡΠΈ ΡΠΈΠΏΠ° ΡΡΡΠ²ΡΡΠ½ΠΈ Π²ΡΠ·Π»ΠΈ:
- Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΡΠ° ΡΠ° (ΠΏΠΎΡΡΠΈ) ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ Π½Π° Cassandra, ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΈ Π·Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈ Π΄ΠΈΡΠΊΠΎΠ²Π΅. Π‘ Π½Π°ΡΠ°ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ ΠΎΠ±Π΅ΠΌΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΡ Π±ΡΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ Π΄ΠΎ Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΠΈ ΡΡΠΎΡΠΈΡΠΈ.
- Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΈ β ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅.
- ΠΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΠ° ΡΡΡΠ²ΡΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π±ΠΈΠ·Π½Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΈΠ½ΠΈΡΠΈΠΈΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Ρ ΠΈΠ»ΡΠ΄ΠΈ ΡΠ°ΠΊΠΈΠ²Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ.
Π‘ΡΡΠ²ΡΡΠΈ ΠΎΡ Π²ΡΠΈΡΠΊΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ ΡΠ° Π² ΠΎΠ±Ρ ΠΊΠ»ΡΡΡΠ΅Ρ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π²ΡΡΡΠ΅ΡΠ½ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° Cassandra, Π·Π° Π΄Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠΈΡΠ°Ρ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ ΠΈ
ΠΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ΠΆΠΈΠΌ Fat Client. Π’Π°ΠΊΡΠ² Π²ΡΠ·Π΅Π» Π½Π΅ ΡΡΡ
ΡΠ°Π½ΡΠ²Π° Π΄Π°Π½Π½ΠΈ, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π΅ΠΉΡΡΠ²Π° ΠΊΠ°ΡΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ°, Ρ.Π΅. ΡΠ°ΠΌΠΈΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄Π΅ΠΉΡΡΠ²Π° ΠΊΠ°ΡΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ Π½Π° ΡΠ²ΠΎΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ: ΡΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ. Π’ΠΎΠ²Π° Π΅ Π½Π΅ ΡΠ°ΠΌΠΎ ΠΏΠΎ-Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ ΠΈ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ Ρ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ, Π½ΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ. ΠΠ·Π²ΡΠ½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΠΎΡΠ²ΠΎΡΠ΅Π½Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π΄ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΡΠ°. ΠΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ Π΅ ΠΎΡΠ²ΠΎΡΠΈΠ» ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΡΠΎΠ³Π°Π²Π° Π²ΡΠΈΡΠΊΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π΄ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°.
C*One Transaction Coordinator
ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡΡ Π΅ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ Π²Π½Π΅Π΄ΡΠΈΡ ΠΌΠ΅ Π·Π° C*One ΠΎΡ Π½ΡΠ»Π°ΡΠ°. Π’ΠΎΠΉ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½ΠΈΡΡΠ° ΠΈ ΡΠ΅Π΄Π°, Π² ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅.
ΠΠ° Π²ΡΡΠΊΠ° ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π²ΡΠ΅ΠΌΠ΅Π²Π° ΠΌΠ°ΡΠΊΠ°: Π²ΡΡΠΊΠ° ΡΠ»Π΅Π΄Π²Π°ΡΠ° Π΅ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ° ΠΎΡ ΡΠ°Π·ΠΈ Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ Π² Cassandra ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΠΊΠ»Π΅ΠΉΠΌΠ° (Π½Π° Π΄Π²Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΠΈ Π·Π°ΠΏΠΈΡΠ°, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΡ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΠΊΠ»Π΅ΠΉΠΌΠΎ ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ΅Π½), ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ Π² ΠΏΠΎΠ»Π·Π° Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ. Π’Π°ΠΊΠ° Π²Π½Π΅Π΄ΡΠΈΡ
ΠΌΠ΅
ΠΡΠ°Π²ΠΈ
ΠΠ° Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈΠΌ ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ, ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½Π°ΠΉ-Π»Π΅ΡΠ½ΠΈΡ Π½Π°ΡΠΈΠ½ - ΠΏΠ΅ΡΠΈΠΌΠΈΡΡΠΈΡΠ½ΠΈ ΠΊΠ»ΡΡΠ°Π»ΠΊΠΈ Π½Π° ΠΏΡΡΠ²ΠΈΡΠ½ΠΈΡ ΠΊΠ»ΡΡ Π½Π° Π·Π°ΠΏΠΈΡΠ°. Π‘ Π΄ΡΡΠ³ΠΈ Π΄ΡΠΌΠΈ, ΠΏΡΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π·Π°ΠΏΠΈΡΡΡ ΡΡΡΠ±Π²Π° ΠΏΡΡΠ²ΠΎ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°ΠΊΠ»ΡΡΠ΅Π½, Π΅Π΄Π²Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΡΠΎΡΠ΅ΡΠ΅Π½, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ ΠΈ Π·Π°ΠΏΠ°Π·Π΅Π½. Π‘Π°ΠΌΠΎ ΡΠ»Π΅Π΄ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΠΏΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΡΠΊΠ»ΡΡΠ΅Π½, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π΄Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ.
ΠΠ½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΊΠΎΠ²Π° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π΅ Π»Π΅ΡΠ½ΠΎ Π² Π½Π΅ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡΠ΅Π΄Π°. Π Π΅Π΄Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠΌΠ° Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π½Π°ΡΠΈΠ½Π°: ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅Ρ, ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, Π²ΠΊΠ»ΡΡΠ²Π°ΡΠΈ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡΠΈ Π·Π°ΠΏΠΈΡ, Π²ΠΈΠ½Π°Π³ΠΈ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Ρ ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ.
Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π² Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ Π΄Π°Π½Π½ΠΈΡΠ΅ Π²Π΅ΡΠ΅ ΡΠ° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π³ΡΡΠΏΠΈ ΠΎΡ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² SQL, Π±Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΈΡΠ²ΠΎΡΡ Π³ΡΡΠΏΠΈ ΠΎΡ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΈΡΠ΅: Π΅Π΄ΠΈΠ½ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΠΈΠ·Π²ΡΡΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Ρ ΡΠΎΠΊΠ΅Π½ ΠΎΡ 0 Π΄ΠΎ 9, Π²ΡΠΎΡΠΈΡΡ - Ρ ΡΠΎΠΊΠ΅Π½ ΠΎΡ 10 Π΄ΠΎ 19 ΠΈ Ρ.Π½. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° Π²ΡΠ΅ΠΊΠΈ ΠΎΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ° ΡΡΠ°Π²Π° Π³Π»Π°Π²Π΅Π½ Π½Π° Π³ΡΡΠΏΠ°ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
Π’ΠΎΠ³Π°Π²Π° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½ΠΈΡΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΊΠ°ΡΠΎ Π±Π°Π½Π°Π»Π½Π° HashMap Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°.
ΠΡΠΊΠ°Π·ΠΈ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΈ
Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π΅Π΄ΠΈΠ½ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π° ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π³ΡΡΠΏΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ Π±ΡΡΠ·ΠΎ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΡΠ°ΠΊΡΡΡ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡ Π½Π΅ΡΡΠΏΠ΅Ρ , ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈΡΡ ΠΎΠΏΠΈΡ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° Π΄Π° Π΅ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅. ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π° Π±ΡΡΠ·ΠΎ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ²ΡΡΠ·Π°Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΡΠ»ΡΡΠ°Π½Π΅ Π½Π° ΠΊΠ²ΠΎΡΡΠΌ:
ΠΡΠ΅ΠΊΠΈ ΡΠ΅Π½ΡΡΡ Π·Π° Π΄Π°Π½Π½ΠΈ Ρ ΠΎΡΡΠ²Π° ΠΏΠΎΠ½Π΅ Π΄Π²Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΠΎΠ½Π½ΠΈ Π²ΡΠ·Π΅Π»Π°. ΠΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΡΡΠ΄Π΅ΡΠ½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎ Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΈ ΠΈ Π³ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠ° Π·Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΊΠΎΠ³Π° Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π΅Π½ ΠΏΡΡ Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΡΡΠ΄Π΅ΡΠ½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ΠΊΠΎΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΈ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°.
ΠΠΎΠ»ΡΡΠ°Π²Π°ΠΉΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ ΡΡΡΠ΄Π΅ΡΠ½ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΡΠ΅ΡΠ°Π²Π° Π·Π° ΡΠ΅Π±Π΅ ΡΠΈ ΠΊΠΎΠΈ Π²ΡΠ·Π»ΠΈ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Ρ ΠΈ ΠΊΠΎΠΈ Π½Π΅, ΡΡΠΊΠΎΠ²ΠΎΠ΄Π΅ΠΉΠΊΠΈ ΡΠ΅ ΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Π½Π° ΠΊΠ²ΠΎΡΡΠΌΠ°: Π°ΠΊΠΎ Π²ΡΠ·Π΅Π» X ΠΏΠΎΠ»ΡΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΡΠ°ΡΡ ΠΎΡ Π²ΡΠ·Π»ΠΈΡΠ΅ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ° Π·Π° Π½ΠΎΡΠΌΠ°Π»Π½ΠΎΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ Π²ΡΠ·Π΅Π» Y, ΡΠΎΠ³Π°Π²Π° , Y ΡΠ°Π±ΠΎΡΠΈ. ΠΠ±ΡΠ°ΡΠ½ΠΎ, Π²Π΅Π΄Π½Π°Π³Π° ΡΠΎΠΌ ΠΌΠ½ΠΎΠ·ΠΈΠ½ΡΡΠ²ΠΎΡΠΎ ΡΡΠΎΠ±ΡΠΈ Π·Π° Π»ΠΈΠΏΡΠ²Π°ΡΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ Π²ΡΠ·Π΅Π» Y, ΡΠΎΠ³Π°Π²Π° Y Π΅ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎ. ΠΡΠ±ΠΎΠΏΠΈΡΠ½ΠΎ Π΅, ΡΠ΅ Π°ΠΊΠΎ ΠΊΠ²ΠΎΡΡΠΌΡΡ ΠΊΠ°ΠΆΠ΅ Π½Π° Π²ΡΠ·Π΅Π» X, ΡΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ Π½Π΅Π³ΠΎ, ΡΠΎΠ³Π°Π²Π° ΡΠ°ΠΌΠΈΡΡ Π²ΡΠ·Π΅Π» X ΡΠ΅ ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° Π½Π΅ΡΡΠΏΠ΅ΡΠ΅Π½.
Π‘ΡΡΠ΄Π΅ΡΠ½ΠΈΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Ρ Π²ΠΈΡΠΎΠΊΠ° ΡΠ΅ΡΡΠΎΡΠ°, ΠΎΠΊΠΎΠ»ΠΎ 20 ΠΏΡΡΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΎΡ 50 ms. Π Java Π΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° 50 ms ΠΏΠΎΡΠ°Π΄ΠΈ ΡΡΠ°Π²Π½ΠΈΠΌΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π° Π½Π° ΠΏΠ°ΡΠ·Π°, ΠΏΡΠΈΡΠΈΠ½Π΅Π½ΠΈ ΠΎΡ ΡΡΠ±ΠΈΡΠ°ΡΠ° Π½Π° ΠΎΡΠΏΠ°Π΄ΡΡΠΈ. Π£ΡΠΏΡΡ ΠΌΠ΅ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΠΌ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΡΠ΅Π°ΠΊΡΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ G1 ΡΡΠ±ΠΈΡΠ°ΡΠ° Π½Π° ΠΎΡΠΏΠ°Π΄ΡΡΠΈ, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ ΡΠ΅Π» Π·Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° GC ΠΏΠ°ΡΠ·ΠΈΡΠ΅. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π°, Π΄ΠΎΡΡΠ° ΡΡΠ΄ΠΊΠΎ, ΠΏΠ°ΡΠ·ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΎΡΠ° Π½Π°Π΄Ρ Π²ΡΡΠ»ΡΡ 50 ms, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΡΠ°Π»ΡΠΈΠ²ΠΎ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π°. ΠΠ° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π΅ ΡΠΎΠ²Π°, ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡΡ Π½Π΅ ΡΡΠΎΠ±ΡΠ°Π²Π° Π·Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ·Π΅Π», ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΡΠ²ΠΎΡΠΎ ΡΡΡΠ΄Π΅ΡΠ½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ Π½Π΅Π³ΠΎ Π΅ Π·Π°Π³ΡΠ±Π΅Π½ΠΎ, ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ Π»ΠΈΠΏΡΠ²Π°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΠ΄ΡΠ΅Π΄.Π’Π°ΠΊΠ° ΡΡΠΏΡΡ ΠΌΠ΅ Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ΠΌ ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΠΎΠ½Π½ΠΈΡ Π²ΡΠ·Π΅Π» Π·Π° 200 ms.
ΠΠΎ Π½Π΅ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π±ΡΡΠ·ΠΎ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠΉ Π²ΡΠ·Π΅Π» Π΅ ΠΏΡΠ΅ΡΡΠ°Π½Π°Π» Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°. Π’ΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Π½Π΅ΡΠΎ ΠΏΠΎ Π²ΡΠΏΡΠΎΡΠ°.
Π Π΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½Π΅
ΠΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠ°ΡΠ° ΡΡ
Π΅ΠΌΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°, ΡΠ΅ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΠΊΠ°ΠΏΠΈΡΠ°Π½Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ° ΠΈΠ·Π±ΠΎΡΠ° Π½Π° Π½ΠΎΠ², ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π΅Π΄ΠΈΠ½ ΠΎΡ
ΠΠ° ΠΏΡΠΈΠ΅ΠΌΠ΅ΠΌ, ΡΠ΅ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π² Π³ΡΡΠΏΠ° 50. ΠΠ΅ΠΊΠ° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΠΌΠ΅ ΡΡ
Π΅ΠΌΠ° Π·Π° Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½Π΅, ΡΠΎΠ΅ΡΡ ΠΊΠΎΠΈ Π²ΡΠ·Π»ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΡ Π³ΡΡΠΏΠ° 50 Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° Π³Π»Π°Π²Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ. ΠΠ°ΡΠ°ΡΠ° ΡΠ΅Π» Π΅ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠ΅ΡΠ° Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π² ΡΠ΅Π½ΡΡΡΠ° Π·Π° Π΄Π°Π½Π½ΠΈ. ΠΠ΅ΠΊΠ° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΠΌΠ΅, ΡΠ΅ ΠΏΡΡΠ²ΠΈΡΡ ΡΠ΅Π·Π΅ΡΠ² ΡΠ΅ Π±ΡΠ΄Π΅ Π²ΡΠ·Π΅Π» ΠΎΡ Π΄ΡΡΠ³ ΡΠ΅Π½ΡΡΡ Π·Π° Π΄Π°Π½Π½ΠΈ, Π° Π²ΡΠΎΡΠΈΡΡ ΡΠ΅Π·Π΅ΡΠ² ΡΠ΅ Π±ΡΠ΄Π΅ Π²ΡΠ·Π΅Π» ΠΎΡ ΡΡΠ΅ΡΠΈΡ. Π’Π°Π·ΠΈ ΡΡ
Π΅ΠΌΠ° ΡΠ΅ ΠΈΠ·Π±ΠΈΡΠ° Π²Π΅Π΄Π½ΡΠΆ ΠΈ Π½Π΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° Π½Π΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΡΠΎΠ΅ΡΡ Π΄ΠΎΠΊΠ°ΡΠΎ Π² Π½Π΅Π³ΠΎ Π½Π΅ Π²Π»ΡΠ·Π°Ρ Π½ΠΎΠ²ΠΈ Π²ΡΠ·Π»ΠΈ (ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠΎ). Π Π΅Π΄ΡΡ Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° Π½ΠΎΠ² Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΌΠ°ΡΡΠ΅Ρ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΡΡΠ°ΡΠΈΡ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ»Π΅Π΄Π½ΠΈΡΡ: ΠΏΡΡΠ²ΠΈΡΡ ΡΠ΅Π·Π΅ΡΠ² ΡΠ΅ ΡΡΠ°Π½Π΅ Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΌΠ°ΡΡΠ΅Ρ, Π° Π°ΠΊΠΎ ΡΠΎΠΉ Π΅ ΠΏΡΠ΅ΡΡΠ°Π½Π°Π» Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°, ΡΠ΅ ΡΡΠ°Π½Π΅ Π²ΡΠΎΡΠΈΡΡ ΡΠ΅Π·Π΅ΡΠ².
Π’Π°ΠΊΠ°Π²Π° ΡΡ Π΅ΠΌΠ° Π΅ ΠΏΠΎ-Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° ΠΎΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π΅Π½ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΎΠ² ΠΊΠ°ΠΏΠΈΡΠ°Π½ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΡΠ°ΠΊΡΡΡ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΡΡΠ°ΡΠΈΡ.
ΠΠΎ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ°Ρ ΠΊΠΎΠΉ ΠΎΡ ΠΌΠ°ΠΉΡΡΠΎΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°? ΠΠ΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄ΠΎ Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π·Π° 50 ms. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈ Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΎΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, Π±Π΅Π· Π²ΡΠ΅ ΠΎΡΠ΅ Π΄Π° Π·Π½Π°Π΅, ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° ΠΈ Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΡΠ΅ ΠΎΡΡΠ°Π½Π΅ Π² ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅. ΠΠ° Π΄Π° Π½Π΅ ΡΠ΅ ΡΠ»ΡΡΠΈ ΡΠΎΠ²Π°, ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΎΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΊΡΠΌ ΠΊΠ°ΠΏΠΈΡΠ°Π½Π° Π½Π° Π³ΡΡΠΏΠ°ΡΠ° ΠΈ Π΄Π²Π°ΡΠ° ΠΉ ΡΠ΅Π·Π΅ΡΠ²Π° Π½Π°Π²Π΅Π΄Π½ΡΠΆ, Π½ΠΎ ΡΠ°ΠΌΠΎ ΡΠΎΠ·ΠΈ, ΠΊΠΎΠΉΡΠΎ Π΅ Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΊΠ°ΠΏΠΈΡΠ°Π½ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Π½Π° ΡΠ°Π·ΠΈ Π·Π°ΡΠ²ΠΊΠ°. Π¦ΡΠ»Π°ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠ° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΠ°ΠΌΠΎ Ρ Π°ΠΊΡΠΈΠ²Π½ΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ.
ΠΠ»Π°Π²Π½ΠΈΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ ΠΏΠΎΡΡΠ°Π²ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΡΠ΅Ρ Π½ΠΈ, Π² ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° ΠΎΡ Π½Π΅ΡΠΎΠ΄Π΅Π½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΠΊΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΈΡΡ ΠΌΠ°ΡΡΠ΅Ρ ΡΠΌΡΠ΅, Π½ΠΎΠ²ΠΈΡΡ Π³Π»Π°Π²Π΅Π½ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΠΎΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΡ ΡΠ²ΠΎΡΡΠ° ΠΎΠΏΠ°ΡΠΊΠ° ΠΈ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ Π²Π΅ΡΠ΅ Π΅ ΠΎΡΠ²ΠΎΡΠΈΠ» ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΡΡ ΡΡΠ°ΡΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ, ΡΠΎΠ³Π°Π²Π° Π²ΡΠΎΡΠΈΡΡ ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΡΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠ° (ΠΈ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΠ°ΠΊΠ°Π²Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½ΡΠΌΠ° Π΄Π° Π·Π°Π²ΡΡΡΠΈ ΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½Π° ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°).
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°
ΠΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠΈΠ» Π·Π°ΡΠ²ΠΊΠ° Π΄ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ° Π·Π° ΠΎΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π·Π° ΡΠ°ΠΊΡΠ² ΠΈ ΡΠ°ΠΊΡΠ² ΠΎΠ±Π΅ΠΊΡ Ρ ΡΠ°ΠΊΡΠ² ΠΈ ΡΠ°ΠΊΡΠ² ΠΏΡΡΠ²ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡ. ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ²Π° ΡΠΎΠ·ΠΈ ΠΎΠ±Π΅ΠΊΡ ΠΈ Π³ΠΎ ΠΏΠΎΡΡΠ°Π²Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π·Π° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡΡ ΡΠ΅ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΎΠ±Π΅ΠΊΡ ΠΎΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΠΈ Π·Π°ΠΏΠΈΡΠ²Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°.
ΠΠΎΠ³Π°ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈΡΠΊΠ° Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΡΠΎΠΉ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° Π΄ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ° Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΎΠ±Π΅ΠΊΡΠ°, Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡΡ ΠΏΠΎΡΡΠ°Π²Ρ Π½ΠΎΠ²ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° ΡΡΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°. Π’ΠΎΠ²Π° Π·Π°Π²ΡΡΡΠ²Π° Π·Π°ΠΏΠΈΡΠ° - ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π΅ ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°.
ΠΠΎΠ³Π°ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ Π°ΠΊΡΠΈΠ²Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²Π° ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½:
- Π°ΠΊΠΎ ID Π²Π΅ΡΠ΅ Π΅ Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°, ΡΠΎΠ³Π°Π²Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ°;
- Π°ΠΊΠΎ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½ΡΠΌΠ° ID, ΡΠΎΠ³Π°Π²Π° Π»ΠΈΠΏΡΠ²Π°ΡΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΡΠ΅ΡΠ°Ρ ΠΎΡ Π²ΡΠ·Π»ΠΈΡΠ΅ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½ΠΈ Ρ ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠ΅ ΡΠ° Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ ΡΠ΅ Π²ΡΡΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΡΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π° Π΄ΡΡΠ³ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π½Π΅ Π²ΠΈΠΆΠ΄Π°Ρ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΡΠ°ΠΌΠΎ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°, ΡΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° Π² Π²ΡΠ·Π»ΠΈΡΠ΅ Π½Π° ΠΠ°ΡΠ°Π½Π΄ΡΠ°.
ΠΠΎΠ³Π°ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΠΈΠ·ΠΏΡΠ°ΡΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ, ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ»ΡΠ³Π°ΡΠ° Π΅ ΠΈΠΌΠ°Π»Π° Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΡΠ΅ ΡΡΡ
ΡΠ°Π½ΡΠ²Π° ΠΎΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ° Π² ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ ΠΏΠ°ΠΊΠ΅Ρ ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π΄ΠΎ ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΈΡΠ΅ Π½Π° Cassandra ΠΊΠ°ΡΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ ΠΏΠ°ΠΊΠ΅Ρ. Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈΡΠ΅ ΠΏΡΠ°Π²ΡΡ Π²ΡΠΈΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·ΠΈ ΠΏΠ°ΠΊΠ΅Ρ Π΄Π° Π±ΡΠ΄Π΅ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎ (Π½Π°ΠΏΡΠ»Π½ΠΎ) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ ΠΈ Π²ΡΡΡΠ°Ρ ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π° ΠΊΠ»ΡΡΠ°Π»ΠΊΠΈΡΠ΅ ΠΈ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π°Π²Π° ΡΡΠΏΠ΅Ρ
Π° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
Π Π·Π° Π²ΡΡΡΠ°Π½Π΅ Π½Π°Π·Π°Π΄ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡΡ ΡΡΡΠ±Π²Π° ΡΠ°ΠΌΠΎ Π΄Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π·Π°Π΅ΡΠ° ΠΎΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°.
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ°, ΠΎΠΏΠΈΡΠ°Π½ΠΈ ΠΏΠΎ-Π³ΠΎΡΠ΅, Π½ΠΈΠ΅ Π²Π½Π΅Π΄ΡΠΈΡ ΠΌΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΡΠ΅ Π½Π° ACID:
- ΠΡΠΎΠΌΠ½ΠΎΡΡ. Π’ΠΎΠ²Π° Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡ, ΡΠ΅ Π½ΠΈΡΠΎ Π΅Π΄Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π΅ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΠΈΠΊΡΠΈΡΠ°Π½Π° Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΈΠ»ΠΈ Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΉΠ½ΠΈ ΠΏΠΎΠ΄ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈ, ΠΈΠ»ΠΈ Π½ΠΈΡΠΎ Π΅Π΄Π½Π° ΠΎΡ ΡΡΡ Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½Π°. Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ΅ ΡΠΏΠ°Π·Π²Π° ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π°ΡΠ° ΠΏΠ°ΡΡΠΈΠ΄Π° Π² Cassandra.
- ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ. ΠΡΡΠΊΠ° ΡΡΠΏΠ΅ΡΠ½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΠΏΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠΈΡ, Π°Π½Π³Π°ΠΆΠΈΡΠ° ΡΠ°ΠΌΠΎ Π²Π°Π»ΠΈΠ΄Π½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ. ΠΠΊΠΎ ΡΠ»Π΅Π΄ ΠΎΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠΈ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈ, ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ Π΅ Π½Π΅Π²Π°Π»ΠΈΠ΄Π΅Π½, ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π²ΡΡΡΠ°Π½Π΅ Π½Π°Π·Π°Π΄.
- ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ. ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π²Π»ΠΈΡΡΡ Π½Π° Π½Π΅ΠΉΠ½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ. ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Ρ ΠΏΠ΅ΡΠΈΠΌΠΈΡΡΠΈΡΠ½ΠΈ ΠΊΠ»ΡΡΠ°Π»ΠΊΠΈ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°. ΠΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·Π²ΡΠ½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΠ΅ ΡΠΏΠ°Π·Π²Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΡΡ Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π½Π° Π½ΠΈΠ²ΠΎ Read Committed.
- ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΡ. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Π½Π° ΠΏΠΎ-Π½ΠΈΡΠΊΠΈΡΠ΅ Π½ΠΈΠ²Π° - Π·Π°ΡΡΠΌΠ½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Ρ Π°ΡΠ΄ΡΠ΅ΡΠ΅Π½ ΡΡΠΈΠ² - ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°Π²ΡΡΡΠ΅Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΡΠ°Π½Π°Ρ Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ ΡΠ»Π΅Π΄ Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ.
Π§Π΅ΡΠ΅Π½Π΅ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ
ΠΠ° Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΏΡΠΎΡΡΠ° ΡΠ°Π±Π»ΠΈΡΠ°:
CREATE TABLE photos (
id bigint primary key,
owner bigint,
modified timestamp,
β¦)
ΠΠΌΠ° ID (ΠΏΡΡΠ²ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡ), ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊ ΠΈ Π΄Π°ΡΠ° Π½Π° ΠΏΡΠΎΠΌΡΠ½Π°. Π’ΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠ° Π·Π°ΡΠ²ΠΊΠ° - ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊΠ° Ρ Π΄Π°ΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° "Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π΄Π΅Π½".
SELECT *
WHERE owner=?
AND modified>?
ΠΠ° Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Π±ΡΡΠ·ΠΎ ΡΠ°ΠΊΠ°Π²Π° Π·Π°ΡΠ²ΠΊΠ°, Π² ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠ° SQL Π‘Π£ΠΠ, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡ Π²ΡΡΡ Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΠ΅ (ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊ, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½). ΠΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π° ΡΡΠ²ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π²Π΅ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΠΈ ΠΎΡ ACID!
ΠΠ½Π΄Π΅ΠΊΡΠΈ Π² C*One
ΠΠΌΠ° Π½Π°ΡΠ°Π»Π½Π° ΡΠ°Π±Π»ΠΈΡΠ° ΡΡΡ ΡΠ½ΠΈΠΌΠΊΠΈ, Π² ΠΊΠΎΡΡΠΎ ID Π½Π° Π·Π°ΠΏΠΈΡΠ° Π΅ ΠΏΡΡΠ²ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡ.
ΠΠ° ΠΈΠ½Π΄Π΅ΠΊΡ C*One ΡΡΠ·Π΄Π°Π²Π° Π½ΠΎΠ²Π° ΡΠ°Π±Π»ΠΈΡΠ°, ΠΊΠΎΡΡΠΎ Π΅ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ°. ΠΠ»ΡΡΡΡ Π΅ ΡΡΡΠΈΡΡ ΠΊΠ°ΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΈΡ ΠΈΠ·ΡΠ°Π·, Π½ΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΈ ΠΏΡΡΠ²ΠΈΡΠ½ΠΈΡ ΠΊΠ»ΡΡ Π½Π° Π·Π°ΠΏΠΈΡΠ° ΠΎΡ ΠΈΠ·Ρ
ΠΎΠ΄Π½Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ°:
Π‘Π΅Π³Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π·Π° βΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊ ΠΏΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ XNUMX ΡΠ°ΡΠ°β ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΊΠ°ΡΠΎ ΠΈΠ·Π±ΠΎΡ ΠΎΡ Π΄ΡΡΠ³Π° ΡΠ°Π±Π»ΠΈΡΠ°:
SELECT * FROM i1_test
WHERE owner=?
AND modified>?
Π‘ΡΠ³Π»Π°ΡΡΠ²Π°Π½ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ½ΠΈΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ i1 ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°. ΠΡΠ· ΠΎΡΠ½ΠΎΠ²Π° ΡΠ°ΠΌΠΎ Π½Π° ΡΡ Π΅ΠΌΠ°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ ΠΏΡΠΎΠΌΡΠ½Π°, ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΈ Π·Π°ΠΏΠΎΠΌΠ½Ρ ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ°, Π½ΠΎ ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΏΠΈΡΡΠ°. ΠΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ½Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ°, ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π΅ ΡΠ΅ ΡΠ΅ΡΠ°Ρ, Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½ΠΈΡΡΠ° Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΏΠΎΡΡΠΈ Π½Π΅ ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° ΡΠ΅ΡΡΡΡΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π²Π»ΠΈΡΠ΅ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ACID ΡΡΠΏΡΡ ΠΌΠ΅ Π΄Π° Π²Π½Π΅Π΄ΡΠΈΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ "ΠΊΠ°ΡΠΎ Π² SQL". Π’Π΅ ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΈ, ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΈ, Π±ΡΡΠ·ΠΈ, ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΡΠ΅ΠΌΠΈ ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ Π² Π΅Π·ΠΈΠΊΠ° Π·Π° Π·Π°ΡΠ²ΠΊΠΈ CQL. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ΄Π° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. ΠΡΠΈΡΠΊΠΎ Π΅ ΠΏΡΠΎΡΡΠΎ, ΠΊΠ°ΠΊΡΠΎ Π² SQL. Π Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎΡΠΎ Π΅, ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ Π½Π΅ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅.
ΠΠ°ΠΊΠ²ΠΎ ΡΡΠ°Π½Π°
Π Π°Π·ΡΠ°Π±ΠΎΡΠΈΡ ΠΌΠ΅ C*One ΠΏΡΠ΅Π΄ΠΈ ΡΡΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ Π³ΠΎ ΠΏΡΡΠ½Π°Ρ ΠΌΠ΅ Π² ΡΡΡΠ³ΠΎΠ²ΡΠΊΠ° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ.
ΠΠ°ΠΊΠ²ΠΎ Π·Π°Π²ΡΡΡΠΈΡ ΠΌΠ΅? ΠΠ΅ΠΊΠ° Π΄Π° ΠΎΡΠ΅Π½ΠΈΠΌ ΡΠΎΠ²Π° Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ½ΠΈΠΌΠΊΠΈ, Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΈΡΠ΅ Π²ΠΈΠ΄ΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ Π² ΡΠΎΡΠΈΠ°Π»Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. ΠΠ΅ ΡΡΠ°Π²Π° Π΄ΡΠΌΠ° Π·Π° ΡΠ΅Π»Π°ΡΠ° Π½Π° ΡΠ°ΠΌΠΈΡΠ΅ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ, Π° Π·Π° Π²ΡΡΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄ ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π‘Π΅Π³Π° Π² Odnoklassniki ΠΈΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ 20 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄Π° ΡΠ°ΠΊΠΈΠ²Π° Π·Π°ΠΏΠΈΡΠΈ, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° 80 Ρ ΠΈΠ»ΡΠ΄ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, Π΄ΠΎ 8 Ρ ΠΈΠ»ΡΠ΄ΠΈ ACID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ.
ΠΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ SQL Ρ ΠΊΠΎΠ΅ΡΠΈΡΠΈΠ΅Π½Ρ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ = 1 (Π½ΠΎ Π² RAID 10), ΠΌΠ΅ΡΠ°-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠ½ΠΈΠΌΠΊΠ°ΡΠ° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΈΠ»Π½ΠΎ Π½Π°Π»ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡΡΠ΅Ρ ΠΎΡ 32 ΠΌΠ°ΡΠΈΠ½ΠΈ Π½Π° Microsoft SQL Server (ΠΏΠ»ΡΡ 11 ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ). Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π±ΡΡ Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ 10 ΡΡΡΠ²ΡΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ. ΠΠ±ΡΠΎ 50 ΡΠΊΡΠΏΠΈ ΠΊΠΎΠ»ΠΈ. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠΈ Π½ΠΎΠΌΠΈΠ½Π°Π»Π½ΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅, Π±Π΅Π· ΠΌΠ°ΡΠΆ.
Π‘Π»Π΅Π΄ ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ ΠΊΡΠΌ Π½ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΊΡΠΎΡ = 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 Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π² Π½Π°ΡΠΈΡ ΠΎΠ±Π»Π°ΠΊ
Π‘Π΅Π³Π° ΡΠ°Π±ΠΎΡΠΈΠΌ Π²ΡΡΡ
Ρ ΠΏΡΠ΅Ρ
Π²ΡΡΠ»ΡΠ½Π΅ΡΠΎ Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅ Π½ΠΈ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π² ΠΎΠ±Π»Π°ΠΊΠ° - Π½ΠΎ ΡΠΎΠ²Π° Π΅ ΡΡΠ²ΡΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½Π° ΠΈΡΡΠΎΡΠΈΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com