ΠΠΎ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ
ΠΎΠΊΠΎΠ»ΠΎ 50 Π’Π Π΄Π°Π½Π½ΡΡ
, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ
Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Ρ
ΡΠ°Π½ΠΈΠ»ΠΎΡΡ Π² SQL Server. ΠΠ»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π±ΡΡΡΡΡΠΉ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ, Π΄Π° Π΅ΡΠ΅ ΠΈ ΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΉ ΠΊ ΠΎΡΠΊΠ°Π·Ρ Π¦ΠΠ Π΄ΠΎΡΡΡΠΏ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ SQL Π‘Π£ΠΠ, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΠ±ΡΡΠ½ΠΎ Π² ΡΠ°ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· NoSQL-Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡ, Π½ΠΎ Π½Π΅ Π²ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π² NoSQL: Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ ΡΡΠ΅Π±ΡΡΡ Π³Π°ΡΠ°Π½ΡΠΈΠΉ ACID-ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.
ΠΡΠΎ ΠΏΠΎΠ΄Π²Π΅Π»ΠΎ Π½Π°Ρ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ NewSQL-Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΡΠΎ Π΅ΡΡΡ Π‘Π£ΠΠ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ ΠΈ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ NoSQL-ΡΠΈΡΡΠ΅ΠΌ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΡ ΡΠ°Π½ΡΡΡΠ΅ΠΉ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ACID-Π³Π°ΡΠ°Π½ΡΠΈΠΈ. Π Π°Π±ΠΎΡΠ°ΡΡΠΈΡ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠ°ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΠΌΠΈ ΠΈ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ Π΅Π΅ Π² ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ.
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ β ΡΠΈΡΠ°ΠΉ ΠΏΠΎΠ΄ ΠΊΠ°ΡΠΎΠΌ.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π΅ΠΆΠ΅ΠΌΠ΅ΡΡΡΠ½Π°Ρ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ Β«ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΎΠ²Β» ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ 70 ΠΌΠ»Π½ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Π΅ΠΉ. ΠΡ
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Cassandra Ρ 2010 Π³ΠΎΠ΄Π°, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 0.6. Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π² ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΡΡΡΠΊΠΎΠ² ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ². Π‘Π°ΠΌΡΠΉ Π±ΡΡΡΡΡΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ 4 ΠΌΠ»Π½ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ, Π° ΠΊΡΡΠΏΠ½Π΅ΠΉΡΠΈΠΉ Ρ ΡΠ°Π½ΠΈΡ 260 Π’Π±.
ΠΠ΄Π½Π°ΠΊΠΎ Π²ΡΡ ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠ΅ NoSQL-ΠΊΠ»Π°ΡΡΠ΅ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ΡΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ
ΠΠ»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΏΠΎ Π½ΠΎΠ΄Π°ΠΌ SQL Server ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠ°ΠΊ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅, ΡΠ°ΠΊ ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ°ΡΠ΄ΠΈΠ½Π³Ρ ΠΈ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ SQL:
- ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Foreign key constraints, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ID ΡΡΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅.
- ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠΈΠ³Π³Π΅ΡΡ ΠΈΠ·-Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° Π¦ΠΠ£ Π‘Π£ΠΠ.
- ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ JOINs ΠΈΠ·-Π·Π° Π²ΡΠ΅Π³ΠΎ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΡΠ΅Π½ΠΈΠΉ Ρ Π΄ΠΈΡΠΊΠ°.
- ΠΠ½Π΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ Read Uncommitted.
- ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ (Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ ΠΊΠΎΡΠΎΡΠ΅ 100 ΠΌΡ).
- ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ΄Π½ΡΠ΅ UPDATE ΠΈ DELETE ΠΈΠ·-Π·Π° Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ β ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ.
- ΠΠ°ΠΏΡΠΎΡΡ Π²ΡΠ΅Π³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌ β Π·Π°ΠΏΡΠΎΡ Ρ ΠΏΠ»Π°Π½ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ Π½Π°Ρ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΡ ΠΠ ΠΈ Π΅Π΅ ΠΎΡΠΊΠ°Π·.
ΠΡΠΈ ΡΠ°Π³ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ Π²ΡΠΆΠ°ΡΡ ΠΈΠ· SQL-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΏΠΎΡΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡ Π²ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ Π±ΠΎΠ»ΡΡΠ΅. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΈΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ.
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ SQL
- ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠ°ΠΌΠΎΠΏΠΈΡΠ½ΡΠΉ ΡΠ°ΡΠ΄ΠΈΠ½Π³, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ ΡΠ°ΡΠ΄ΠΎΠ² Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌΠΈ Π²ΡΡΡΠ½ΡΡ. ΠΡΡ ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π½Π΅ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π»ΠΈ Π·Π°ΠΏΡΠΎΡΡ.
- ΠΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΡΡΠ° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠ½ΠΈΠΆΠ°Π΅ΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΡΡΠ°Π²ΠΊΠΈ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠ°Π΄Π°Π΅Ρ ΠΊΡΠ°ΡΠ½ΠΎ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈΠ΄ΡΡ Ρ Π΄Π°ΡΠ½ΡΠ°ΠΉΠΌΠΎΠΌ.
- ΠΠ°Π»ΠΈΡΠΈΠ΅ Π² production Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Windows Π΄Π»Ρ SQL Server Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ
ΠΠΎ Π³Π»Π°Π²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β
ΠΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ
Π£ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ SQL-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΠ»ΠΎΡ Π°Ρ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ. ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π²Π°Ρ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΈ ΠΎΠ½ ΠΎΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°Π· Π² ΡΡΠΈ Π³ΠΎΠ΄Π°. Π ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°ΠΉΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ 20 ΠΌΠΈΠ½ΡΡ, ΡΡΠΎ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ 64 ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠΎ ΡΠ°ΠΉΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΆΠ΅ ΡΠ°Π· Π² ΡΡΠΈ Π½Π΅Π΄Π΅Π»ΠΈ. Π Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ 200 ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΡΠΎ ΡΠ°ΠΉΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΡ Π½Π΅Π΄Π΅Π»Ρ. ΠΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
Π§ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ SQL-ΡΠ΅ΡΠ²Π΅ΡΠ°? ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π½Π°ΠΌ ΠΏΠΎΡΡΡΠΎΠΈΡΡ
ΠΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠ°ΡΠΊΠ° Π΄ΠΎΡΠΎΠ³ΠΎΡΡΠΎΡΡΠ΅Π³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ: ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠΏΡΠΎΠ²ΠΎΠ»ΠΎΠΊΠ½ΠΎ, Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΎΠ±ΡΠ΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°, Π΄Π° ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΠΎ: ΠΎΠΊΠΎΠ»ΠΎ 10% Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ ΠΎΡΠΊΠ°Π·ΠΎΠΌ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΉ Π½ΠΎΠ΄Ρ ΠΏΠ°ΡΠΎΠ²ΠΎΠ·ΠΈΠΊΠΎΠΌ Π·Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π½ΠΎΠ΄ΠΎΠΉ.
ΠΠΎ Π³Π»Π°Π²Π½ΡΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²ΡΡΠΎΠΊΠΎΠ΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° β Π½ΡΠ»Π΅Π²Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΏΡΠΈ ΠΎΡΠΊΠ°Π·Π΅ Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ ΡΡΠΎΠΈΡ. Π£ Β«ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΎΠ²Β» ΡΠ΅ΡΡΡΠ΅ Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠ°, ΠΈ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ Π°Π²Π°ΡΠΈΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ .
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ
ΠΡΠ΅ ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΈ ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΌΡ ΠΏΡΠΈΡΡΡΠΏΠΈΠ»ΠΈ ΠΊ ΠΈΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠΌΡ Π°Π½Π°Π»ΠΈΠ·Ρ. ΠΠ΄Π΅ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π΄Π΅Π»Π°Π΅Ρ 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();
ΠΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΌΡΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π±ΠΈΠ·Π½Π΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ β ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΠ Π² ΠΏΠ°ΠΌΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠΎ-ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΠ. ΠΠ±ΡΡΠ½ΠΎ Π² ΡΠ°ΠΊΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΌΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π±Π»ΠΈΡ.
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Ρ
ΠΆΠ΅ ΡΠ°ΠΌΡΡ
Π΄Π°Π½Π½ΡΡ
ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΠ½ΡΠΈΡΠΏΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌΠΈ, ΠΈΡ
Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π° ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΡ, Π° Π·Π½Π°ΡΠΈΡ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ photo.status Π½Π° ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π΄ΡΡΠ³ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΊΡΡΡΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠΈ. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π΄Π°Π½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡΡ Π±Π΅Π· Π³Π°ΡΠ°Π½ΡΠΈΠΉ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡΠΈΡ
ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ, ΠΊΠ°ΠΊ Π²
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΡΡΡΠ΅Π³ΠΎ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π±ΠΈΠ·Π½Π΅Ρ-ΡΡΡΠ½ΠΎΡΡΡΠΌΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π·Π° Π²ΡΡ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΎΠ² Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ. ΠΠΎ ΠΎΠΏΡΡΡ ΠΆΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ Π½Π° NoSQL Ρ
ΠΡΡΠ³ΠΈΠΌΠΈ, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΡΠΌΠΈ, ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ Π±ΡΠ»ΠΈ:
- ΠΡΠΈ ΠΎΡΠΊΠ°Π·Π΅ Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈ ΡΡΠ΅Π½ΠΈΠ΅, ΠΈ Π·Π°ΠΏΠΈΡΡ Π² Π½ΠΎΠ²ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
- Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π’ΠΎ Π΅ΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π½ΠΎΠ²ΡΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠ°ΠΌΡΠΌ, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΡ Π²ΡΠΎΡΠΈΡΠ½ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈ Ρ.ΠΏ.
- Π‘ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠΎΠΉ, ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ
, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΡΡΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π»ΠΎ Π½Π΅ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΡΡΡ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠΎΠ³ΠΈΡ
, ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ
, Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
Π΄Π²ΡΡ ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² . - ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π»Π΅ΡΡ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΡΡ Π΄Π΅ΡΡΠ²ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠΊΡΠΏΠΊΠΈ ΡΠΊΠ·ΠΎΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΆΠ΅Π»Π΅Π·ΡΠΊ.
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΡΠΈΠ»Π°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΎΡΠ΄Π°Π²Π°Π»ΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΌ Π½Π° ΠΎΡΠΊΡΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌ, ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π° Java.
Π Π΅ΡΠ΅Π½ΠΈΡ, ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΌΡ ΠΏΡΠΈΡΠ»ΠΈ ΠΊ Π΄Π²ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Π²ΡΠ±ΠΎΡΠ°ΠΌ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ:
ΠΠ΅ΡΠ²ΡΠΉ β Π²Π·ΡΡΡ Π»ΡΠ±ΠΎΠΉ SQL-ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΡΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅, Π½Π°Π΄Π΅ΠΆΠ½ΡΠ΅ ΠΈ Π±ΡΡΡΡΡΠ΅ ACID-ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΡ ΠΎΡΠ΅Π½ΠΈΠ»ΠΈ ΡΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠ°ΠΊ Π²Π΅ΡΡΠΌΠ° Π½Π΅ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΈ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΉ.
ΠΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β Π²Π·ΡΡΡ Π³ΠΎΡΠΎΠ²ΠΎΠ΅ NoSQL-Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ SQL ΡΠ°ΠΌΠΈΠΌ. ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ Π΄Π°ΠΆΠ΅ Π·Π°Π΄Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ SQL, Π½Π΅ Π³ΠΎΠ²ΠΎΡΡ ΡΠΆ ΠΎΠ± ACID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡ
, Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π·Π°Π΄Π°ΡΠΊΠΎΠΉ Π½Π° Π³ΠΎΠ΄Π°. ΠΠΎ ΠΏΠΎΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΡΠΎ Π½Π°Π±ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ SQL, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅, Π΄Π°Π»Π΅ΠΊ ΠΎΡ ANSI SQL ΡΠ°ΠΊ ΠΆΠ΅ Π΄Π°Π»Π΅ΠΊΠΎ, ΠΊΠ°ΠΊ
Cassandra ΠΈ CQL
ΠΡΠ°ΠΊ, ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° Cassandra, ΠΊΠ°ΠΊΠΈΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΎΠ½Π° ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ?
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π·Π΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ SELECT ΠΈΠ»ΠΈ UPDATE ΠΏΠΎ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΌΡ ΠΊΠ»ΡΡΡ.
CREATE TABLE photos (id bigint KEY, owner bigint,β¦);
SELECT * FROM photos WHERE id=?;
UPDATE photos SET β¦ WHERE id=?;
ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ
ΡΠ΅ΠΏΠ»ΠΈΠΊ, Cassandra ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ
ΠΠΎΠ΄Ρ
ΠΎΠ΄, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊ ΡΡΡΠΌ Π½ΠΎΠ΄Π°ΠΌ, Π° ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΡΠ²Π΅Ρ ΠΎΡ Π΄Π²ΡΡ
, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ
ΠΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Cassandra ΡΠ²Π»ΡΠ΅ΡΡΡ Batchlog β ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡΠΈΠΉ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π½Π΅ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° Π²Π½ΠΎΡΠΈΠΌΡΡ Π²Π°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΡΠ΅ΡΠΈΡΡ A Π² ACID β Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡΡ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ.
Π‘Π°ΠΌΠΎΠ΅ Π±Π»ΠΈΠ·ΠΊΠΎΠ΅ ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌ Π² Cassandra β ΡΡΠΎ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ «
Π§Π΅Π³ΠΎ Π½Π°ΠΌ Π½Π΅ Ρ Π²Π°ΡΠΈΠ»ΠΎ Π² Cassandra
ΠΡΠ°ΠΊ, Π½Π°ΠΌ ΠΏΡΠ΅Π΄ΡΡΠΎΡΠ»ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² Cassandra Π½Π°ΡΡΠΎΡΡΠΈΠ΅ ACID-ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄Π²Π΅ Π΄ΡΡΠ³ΠΈΡ ΡΠ΄ΠΎΠ±Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ DBMS: ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΡΠ΅ Π±ΡΡΡΡΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π±Ρ Π½Π°ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΠ±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΌΡ ΠΊΠ»ΡΡΡ ΠΈ ΠΎΠ±ΡΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΌΠΎΠ½ΠΎΡΠΎΠ½Π½ΡΡ Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΡΡ ID.
C*One
Π’Π°ΠΊ ΡΠΎΠ΄ΠΈΠ»Π°ΡΡ Π½ΠΎΠ²Π°Ρ Π‘Π£ΠΠ C*One, ΡΠΎΡΡΠΎΡΡΠ°Ρ ΠΈΠ· ΡΡΠ΅Ρ ΡΠΈΠΏΠΎΠ² ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ Π½ΠΎΠ΄:
- Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° β (ΠΏΠΎΡΡΠΈ) ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ Cassandra, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠ΅ Π·Π° Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π΄ΠΈΡΠΊΠ°Ρ . ΠΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΡΡΠ° Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎ Π΄Π΅ΡΡΡΠΊΠΎΠ² ΠΈ ΡΠΎΡΠ΅Π½.
- ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ β ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.
- ΠΠ»ΠΈΠ΅Π½ΡΡ β ΡΠ΅ΡΠ²Π΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠ΅ Π±ΠΈΠ·Π½Π΅Ρ-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΡΡΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π’Π°ΠΊΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΡΡΡΠΈ.
Π‘Π΅ΡΠ²Π΅ΡΡ Π²ΡΠ΅Ρ
ΡΠΈΠΏΠΎΠ² ΡΠΎΡΡΠΎΡΡ Π² ΠΎΠ±ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Cassandra Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΠΈ
ΠΠ»ΠΈΠ΅Π½ΡΡ
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΠΆΠΈΠΌ Fat Π‘lient. Π’Π°ΠΊΠ°Ρ Π½ΠΎΠ΄Π° Π½Π΅ Ρ
ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ Π² ΡΠΎΠ»ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠΎ Π΅ΡΡΡ ΠΠ»ΠΈΠ΅Π½Ρ ΡΠ°ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ° ΡΠ²ΠΎΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ²: ΠΎΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ. ΠΡΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π΄Π΅ΠΆΠ½Π΅Π΅ ΠΈ Π±ΡΡΡΡΠ΅Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°, ΡΡΠ΅Π±ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΎΠΌ, Π½ΠΎ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ½Π΅ ΠΎΡΠΊΡΡΡΠΎΠΉ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΡ Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΎΡΠΊΡΡΠ» ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΡΠΎ Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.
ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ C*One
ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ β ΡΠΎ, ΡΡΠΎ ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π΄Π»Ρ C*One Ρ Π½ΡΠ»Ρ. ΠΠ½ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΊΡ: ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ°Ρ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Cassandra ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΌΠ΅ΡΠΊΠ°Ρ
(ΠΈΠ· Π΄Π²ΡΡ
ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΡΡ
Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠΈΡΠ°Π΅ΡΡΡ Ρ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉΡΠ΅ΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠ΅ΡΠΊΠΎΠΉ), ΡΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ Π² ΠΏΠΎΠ»ΡΠ·Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ
ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± β ΠΏΠ΅ΡΡΠΈΠΌΠΈΡΡΠΈΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΎ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΌΡ ΠΊΠ»ΡΡΡ Π·Π°ΠΏΠΈΡΠΈ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π°ΠΏΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ. Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π·Π°ΠΏΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π°, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΌΠΎΠ³Π»ΠΈ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΠΊΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΡΡΠ° Π² Π½Π΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅. Π ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΅ΡΡΡ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΡΠΈ: Π»ΠΈΠ±ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅, ΠΈΠ»ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Ρ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΎΠΌ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠΆΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΏΠΎ Π³ΡΡΠΏΠΏΠ°ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π² SQL, Π±ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΡ Π·Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°ΠΌΠΈ Π³ΡΡΠΏΠΏΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ: ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Ρ ΡΠΎΠΊΠ΅Π½ΠΎΠΌ ΠΎΡ 0 Π΄ΠΎ 9, Π²ΡΠΎΡΠΎΠΉ β Ρ ΡΠΎΠΊΠ΅Π½ΠΎΠΌ ΠΎΡ 10 Π΄ΠΎ 19, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΌΠ°ΡΡΠ΅ΡΠΎΠΌ Π³ΡΡΠΏΠΏΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.
Π’ΠΎΠ³Π΄Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² Π²ΠΈΠ΄Π΅ Π±Π°Π½Π°Π»ΡΠ½ΠΎΠ³ΠΎ HashMap Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°.
ΠΡΠΊΠ°Π·Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΎΠ²
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ Π³ΡΡΠΏΠΏΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°ΠΊΡ Π΅Π³ΠΎ ΠΎΡΠΊΠ°Π·Π°, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½Π°Ρ ΠΏΠΎΠΏΡΡΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ»ΠΎΠΆΠΈΠ»Π°ΡΡ Π² ΡΠ°ΠΉΠΌΠ°ΡΡ. Π§ΡΠΎΠ±Ρ ΡΡΠΎ Π±ΡΠ»ΠΎ Π±ΡΡΡΡΠΎ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ, ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ²ΡΠ·Π½ΡΠΉ ΠΊΠ²ΠΎΡΡΠΌΠ½ΡΠΉ hearbeat ΠΏΡΠΎΡΠΎΠΊΠΎΠ»:
Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΏΠΎ Π΄Π²Π΅ Π½ΠΎΠ΄Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°. ΠΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΡΠ°ΡΡΡΠ»Π°Π΅Ρ heartbeat-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°ΠΌ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΈΠΌ ΠΎ ΡΠ²ΠΎΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎ ΡΠΎΠΌ, heartbeat-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΊΠ°ΠΊΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΎΠ² Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠ°Π» Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π·.
ΠΠΎΠ»ΡΡΠ°Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
Π² ΡΠΎΡΡΠ°Π²Π΅ ΠΈΡ
heartbeat-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΡΠ΅ΡΠ°Π΅Ρ Π΄Π»Ρ ΡΠ΅Π±Ρ, ΠΊΠ°ΠΊΠΈΠ΅ Π½ΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΡΡ, Π° ΠΊΠ°ΠΊΠΈΠ΅ Π½Π΅Ρ, ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΡΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠΌ ΠΊΠ²ΠΎΡΡΠΌΠ°: Π΅ΡΠ»ΠΈ Π½ΠΎΠ΄Π° Π₯ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΠΎΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° Π½ΠΎΠ΄ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Ρ Π½ΠΎΠ΄Ρ Y, Π·Π½Π°ΡΠΈΡ, Y ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΎΠΎΠ±ΡΠΈΡ ΠΎ ΠΏΡΠΎΠΏΠ°ΠΆΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Ρ Π½ΠΎΠ΄Ρ Y, Π·Π½Π°ΡΠΈΡ, Y ΠΎΡΠΊΠ°Π·Π°Π». ΠΡΠ±ΠΎΠΏΡΡΠ½ΠΎ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΊΠ²ΠΎΡΡΠΌ ΡΠΎΠΎΠ±ΡΠΈΡ Π½ΠΎΠ΄Π΅ Π₯, ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΎΡ Π½Π΅Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π·Π½Π°ΡΠΈΡ ΡΠ°ΠΌΠ° Π½ΠΎΠ΄Π° X Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΠ°ΡΡ ΡΠ΅Π±Ρ ΠΎΡΠΊΠ°Π·Π°Π²ΡΠ΅ΠΉ.
Heartbeat-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΡΠ»Π°ΡΡΡΡ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ, ΠΎΠΊΠΎΠ»ΠΎ 20 ΡΠ°Π· Π² ΡΠ΅ΠΊ, Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΎΠΌ 50 ΠΌΡ. Π Java ΡΠ»ΠΎΠΆΠ½ΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠΊΠ»ΠΈΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 50 ΠΌΡ ΠΈΠ·-Π·Π° ΡΡΠ°Π²Π½ΠΈΠΌΠΎΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠ°ΡΠ·, Π²ΡΠ·Π²Π°Π½Π½ΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΌΡΡΠΎΡΠ°. ΠΠ°ΠΌ ΡΠ΄Π°Π»ΠΎΡΡ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΌΡΡΠΎΡΠ° G1, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π»Ρ ΠΏΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠ°ΡΠ· GC. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΈΠ½ΠΎΠ³Π΄Π°, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΅Π΄ΠΊΠΎ, ΠΏΠ°ΡΠ·Ρ ΡΠ±ΠΎΡΡΠΈΠΊΠ° Π²ΡΡ ΠΎΠ΄ΡΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ 50 ΠΌΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π»ΠΎΠΆΠ½ΠΎΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ°Π·Π°. Π§ΡΠΎΠ±Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ, ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ Π½Π΅ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎΠ± ΠΎΡΠΊΠ°Π·Π΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π½ΠΎΠ΄Ρ ΠΏΡΠΈ ΠΏΡΠΎΠΏΠ°ΠΆΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΆΠ΅ heartbeat-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ Π½Π΅Π΅, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΏΠ°Π»ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ΡΡΠ΄.Π’Π°ΠΊ Π½Π°ΠΌ ΡΠ΄Π°Π»ΠΎΡΡ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ°Π·Π° Π½ΠΎΠ΄Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ° Π·Π° 200 ΠΌΡ.
ΠΠΎ ΠΌΠ°Π»ΠΎ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΠ°Ρ Π½ΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅ΡΡΠ°Π»Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ. ΠΡΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ Ρ ΡΡΠΈΠΌ Π΄Π΅Π»Π°ΡΡ.
Π Π΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡ
Π΅ΠΌΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΊΠ°Π·Π° ΠΌΠ°ΡΡΠ΅ΡΠ° Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²ΡΠ±ΠΎΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ Ρ
ΠΎΡΠΈΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π² Π³ΡΡΠΏΠΏΠ΅ 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 (ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ), Π²Π»Π°Π΄Π΅Π»Π΅Ρ ΠΈ Π΄Π°ΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°ΠΏΡΠΎΡ β Π²ΡΠ±ΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ Π²Π»Π°Π΄Π΅Π»ΡΡΡ Ρ Π΄Π°ΡΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Β«Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΡΠΊΠΈΒ».
SELECT *
WHERE owner=?
AND modified>?
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΎΡΡΠ°Π±Π°ΡΡΠ²Π°Π» Π±ΡΡΡΡΠΎ, Π² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ SQL Π‘Π£ΠΠ Π½Π°Π΄ΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ (owner, modified). ΠΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π³Π°ΡΠ°Π½ΡΠΈΠΈ ACID!
ΠΠ½Π΄Π΅ΠΊΡΡ Π² C*One
ΠΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° c ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡΠΌΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ID Π·Π°ΠΏΠΈΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ.
ΠΠ»Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° C*One ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ ΡΠ°Π±Π»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΉ. ΠΠ»ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΡΠΈ ΡΡΠΎΠΌ Π² Π½Π΅Π³ΠΎ Π²Ρ
ΠΎΠ΄ΠΈΡ Π΅ΡΠ΅ ΠΈ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ:
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎ Β«Π²Π»Π°Π΄Π΅Π»ΡΡΡ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΡΠΊΠΈΒ» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊ select ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ:
SELECT * FROM i1_test
WHERE owner=?
AND modified>?
Π‘ΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ photos ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΎΠΉ i1 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠ° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΡΡ Π΅ΠΌΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, Π½ΠΎ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΏΠΈΠΉ. ΠΠΈΠΊΠ°ΠΊΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Ρ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π»ΠΎΠ³ΠΈ Π½Π΅ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. Π’ΠΎ Π΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΏΠΎΡΡΠΈ Π½Π΅ ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅Ρ ΡΠ΅ΡΡΡΡΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ.
C ΠΏΠΎΠΌΠΎΡΡΡ 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 ΠΌΡ. Π C*One β ΠΎΠΊΠΎΠ»ΠΎ 1,6 ΠΌΡ. ΠΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ 40 ΠΌΡ, ΠΊΠΎΠΌΠΌΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π·Π° 2 ΠΌΡ, Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ β Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ 2 ΠΌΡ. 99-ΠΉ ΠΏΠ΅ΡΡΠ΅Π½ΡΠΈΠ»Ρ β Π²ΡΠ΅Π³ΠΎ 3-3,1 ΠΌΡ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΉΠΌΠ°ΡΡΠΎΠ² ΡΠ½ΠΈΠ·ΠΈΠ»ΠΎΡΡ Π² 100 ΡΠ°Π· β Π²ΡΡ Π·Π° ΡΡΠ΅Ρ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΏΠ΅ΠΊΡΠ»ΡΡΠΈΠΉ.
Π ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΠΈΠ· ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ Π²ΡΠ²Π΅Π΄Π΅Π½Π° Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π½ΠΎΠ΄ SQL Server, Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ c ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ C*One. ΠΡ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π»ΠΈ C*One Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² Π½Π°ΡΠ΅ΠΌ ΠΎΠ±Π»Π°ΠΊΠ΅
Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π½Π°Π΄ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ Π΄ΡΡΠ³ΠΈΡ
Π½Π°ΡΠΈΡ
Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡ Π² ΠΎΠ±Π»Π°ΠΊΠΎ β Π½ΠΎ ΡΡΠΎ ΡΠΆΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π΄ΡΡΠ³Π°Ρ ΠΈΡΡΠΎΡΠΈΡ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com