ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΠ±Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΌΡΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅. ΠΠ΄ΠΈΠ½ ΠΎΡ Π½Π°ΡΠΈΠ½ΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ°, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΡΡΠΎ, Π½Π° ΡΡΡΠΎΡΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠΌ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅ΡΠ° Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅. Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ Π² Apache Ignite. Π ΡΡΠ°ΡΠΈΡΡΠ° ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΌΠΎ Π½Π°ΡΠΈΠ½ΠΈΡΠ΅ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΡΡΠ³ΠΈ Π½Π°ΡΠΈΠ½ΠΈ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ (ΠΏΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ°, Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°), ΠΊΠ°ΠΊΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ, ΡΠ°ΠΊΠ° ΠΈ Π½Π΅, ΡΠ΅ ΠΎΡΡΠ°Π½Π°Ρ ΠΈΠ·Π²ΡΠ½ ΠΎΠ±Ρ
Π²Π°ΡΠ°.
Π ΡΠ°ΠΊΠ°, ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΠ΅ΡΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡ, Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΠΊΠ΅ΡΠΎΠ²Π΅ΡΠ΅, Ignite Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° Π·Π°ΠΏΠΈΡΠ²Π° Π½Π° Π΄ΠΈΡΠΊ:
- Π‘ΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠ΅ΡΠΎΠ²Π΅ΡΠ΅
- ΠΡΡΠ½Π°Π» Π½Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎΡΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ (Write Ahead Log, ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΠΊ ΠΏΡΠΎΡΡΠΎ WAL)
ΠΠ° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° WAL Π²Π΅ΡΠ΅ ΠΎΡΠ΄Π°Π²Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ, Π½Π°ΡΠ΅ΡΠ΅Π½ WAL ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠΈΡ. Π Π½Π°ΡΠΊΠΎΡΠΎ ΠΈΠ·Π»ΡΠ·Π»Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Apache Ignite 2.8 ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΡ Π° ΠΎΡΠ΅ Π΄Π²Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Ρ Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ Π½Π° Π΄ΠΈΡΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ΅ΡΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ Π½Π° WAL Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π½Π° WAL. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π·Π° Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΡΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΏΠΎ-Π΄ΠΎΠ»Ρ.
ΠΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ Π½Π° Π΄ΠΈΡΠΊΠ°
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎΠ²Π°
ΠΡΡΠ²ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°ΠΊΡΠ°ΡΠΊΠΎ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ Ignite ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π΄Π°Π½Π½ΠΈ. ΠΠ° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΡΠ°Π½ΠΈΡΠ½Π° ΠΏΠ°ΠΌΠ΅Ρ. Π Π°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΠ΅ Π·Π°Π΄Π°Π²Π° ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ·Π΅Π»Π° ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ Π½Π° ΠΏΠΎ-ΠΊΡΡΠ½ΠΈ Π΅ΡΠ°ΠΏΠΈ, ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΡΡΠ΅ΠΏΠ΅Π½ Π½Π° Π΄Π²Π΅ ΠΈ ΠΊΡΠ°ΡΠ΅Π½ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π±Π»ΠΎΠΊΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. Π‘ΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π°Ρ Π² RAM ΠΎΡ Π΄ΠΈΡΠΊΠ° ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ; ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°Π΄Π²ΠΈΡΠ°Π²Π° ΠΎΠ±Π΅ΠΌΠ° Π½Π° Π½Π°Π»ΠΈΡΠ½Π°ΡΠ° RAM. ΠΡΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΌΡΡΡΠΎ Π² RAM Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ° ΠΎΡ Π΄ΠΈΡΠΊΠ°, ΡΡΠ°ΡΠΈΡΠ΅, Π²Π΅ΡΠ΅ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ·ΡΠ΅ΡΠ΅Π½ΠΈ ΠΎΡ RAM.
ΠΠ° Π΄ΠΈΡΠΊΠ° Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½: Π·Π° Π²ΡΡΠΊΠ° ΠΏΠ°ΡΡΠΈΡΠΈΡ Π½Π° Π²ΡΡΠΊΠ° ΠΊΠ΅Ρ Π³ΡΡΠΏΠ° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π° ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΠ°ΠΉΠ», Π² ΡΠΎΠ·ΠΈ ΡΠ°ΠΉΠ», Π² ΡΠ΅Π΄ Π½Π° Π½Π°ΡΠ°ΡΡΠ²Π°Ρ ΠΈΠ½Π΄Π΅ΠΊΡ, Π΅Π΄Π½Π° ΡΠ»Π΅Π΄ Π΄ΡΡΠ³Π° ΠΈΠ΄Π²Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅. ΠΡΠ»Π½ΠΈΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΡΠ΄ΡΡΠΆΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° Π½Π° ΠΊΠ΅Ρ Π³ΡΡΠΏΠ°ΡΠ°, Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° ΠΏΠ°ΡΡΠΈΡΠΈΡΡΠ° ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π²ΡΠ² ΡΠ°ΠΉΠ»Π°. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, Ρ ΠΏΡΠ»Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°, ΠΌΠΎΠΆΠ΅ΠΌ Π½Π΅Π΄Π²ΡΡΠΌΠΈΡΠ»Π΅Π½ΠΎ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΎΡΡΠ΅ΡΠ° Π² Π½Π΅Π³ΠΎ Π·Π° Π²ΡΡΠΊΠ° ΡΡΡΠ°Π½ΠΈΡΠ°. ΠΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π·Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ Π² ΡΡΠ°ΡΠΈΡΡΠ° Π² Apache Ignite Wiki: .
ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈ ΠΎΡ ΠΈΠΌΠ΅ΡΠΎ, ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ΡΡΡΠ°Π½ΠΈΡΠ°. ΠΡΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ Π΄Π°Π½Π½ΠΈ Π² RAM ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ°ΠΊΠ°Π²Π°, ΠΊΠ°ΠΊΠ²Π°ΡΠΎ Π΅, Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ, Π½ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΠΎΡ RAM Π½Π° Π΄ΠΈΡΠΊΠ° ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΡΡ Π½ΠΎΡΠΎ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅.
ΠΠΎ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π½Π° Π²ΡΡΠΊΠ° ΡΡΡΠ°Π½ΠΈΡΠ° ΠΏΠΎΠΎΡΠ΄Π΅Π»Π½ΠΎ Π½Π΅ ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π½ΡΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ Π΄Π°Π½Π½ΠΈΡΠ΅. ΠΠΎΠ³Π°ΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΠΏΡΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠΈΠΊΡΠΈΡΠ°Π½, Π²Π΅ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°ΠΏΠΈΡΠ²Π°ΠΌΠ΅ ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π² ΡΠ°ΠΉΠ» Π΅Π΄Π½Π° ΡΠ»Π΅Π΄ Π΄ΡΡΠ³Π°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΡΠ΅Π΄ΠΈΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ:
- ΠΡΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π΄Π° ΠΈΠ·ΡΠΈΡΠ»ΠΈΠΌ ΠΎΡΡΠ΅ΡΠ°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π² ΡΠ°ΠΉΠ»Π°.
- ΠΠ΅ Π΅ ΡΡΠ½ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° Π² ΠΊΡΠ°Ρ Π½Π° ΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ ΡΠ²ΠΎΡ ΡΠ°Π·ΠΌΠ΅Ρ. ΠΠΊΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π°ΠΌΠ°Π»ΡΠ²Π°, ΠΌΠ΅ΡΡΠΎΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠ»Π° ΠΈΠ·ΡΠ΅Π·Π²Π°. ΠΠΊΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°, Π·Π° Π½Π΅Ρ ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΡΡΡΠΈ Π½ΠΎΠ²ΠΎ ΠΌΡΡΡΠΎ Π² ΡΠ°ΠΉΠ»Π°.
- ΠΠΊΠΎ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈ Ρ ΡΠΈΡΠ»ΠΎ Π½Π° Π±Π°ΠΉΡΠΎΠ²Π΅, ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ Π΅ ΠΊΡΠ°ΡΠ½ΠΎ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π±Π»ΠΎΠΊΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠΎ Π·Π° Π½Π΅ΠΉΠ½ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½Π΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡ ΡΠ΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ Π·Π°ΡΠ΅Π³Π½Π΅ Π΅Π΄ΠΈΠ½ Π±Π»ΠΎΠΊ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π²Π»ΠΎΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°.
ΠΠ° Π΄Π° Π½Π΅ ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠ°ΠΌΠΈ Π½Π° ΡΠ²ΠΎΠ΅ΡΠΎ Π½ΠΈΠ²ΠΎ, ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ° Π² Apache Ignite ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π½Π°ΡΠ΅ΡΠ΅Π½ ΡΠ°Π·ΡΠ΅Π΄Π΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. Π Π°Π·ΡΠ΅Π΄Π΅Π½ ΡΠ°ΠΉΠ» (sparse file) Π΅ ΡΠ°ΠΊΡΠ² ΡΠ°ΠΉΠ», Π² ΠΊΠΎΠΉΡΠΎ Π½ΡΠΊΠΎΠΈ, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈ Ρ Π½ΡΠ»ΠΈ ΡΠ΅Π³ΠΈΠΎΠ½ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈ ΠΊΠ°ΡΠΎ "Π΄ΡΠΏΠΊΠΈ". ΠΡΠΈ ΡΠΎΠ²Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π·ΠΈ Π΄ΡΠΏΠΊΠΈ, Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ, Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π° ΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ.
ΠΠΎΠ³ΠΈΡΠ½ΠΎ Π΅, ΡΠ΅ Π·Π° Π΄Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠΌ Π±Π»ΠΎΠΊ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° Π΄ΡΠΏΠΊΠ°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΡΠ°Π²Π΅Π½ ΠΈΠ»ΠΈ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌ ΠΎΡ Π±Π»ΠΎΠΊΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΠ΅ΡΠΎ Π½Π°Π»Π°Π³Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π² Apache Ignite: Π·Π° Π΄Π° ΠΈΠΌΠ° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π½ΡΠΊΠ°ΠΊΡΠ² Π΅ΡΠ΅ΠΊΡ, Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π΄Π° Π΅ ΡΡΡΠΎΠ³ΠΎ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π±Π»ΠΎΠΊΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠΊΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π΅ ΡΠ°Π²Π΅Π½ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π±Π»ΠΎΠΊΠ°, Π½ΠΈΠΊΠΎΠ³Π° Π½ΡΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠΌ Π½ΠΈΡΠΎ Π΅Π΄ΠΈΠ½ Π±Π»ΠΎΠΊ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π·Π° Π΄Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠΌ Π΅Π΄ΠΈΠ½ Π±Π»ΠΎΠΊ, Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ° Π΄Π° Π·Π°Π΅ΠΌΠ° 0 Π±Π°ΠΉΡΠ°. ΠΠΊΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π΅ ΡΠ°Π²Π΅Π½ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° 2 ΠΈΠ»ΠΈ 4 Π±Π»ΠΎΠΊΠ°, Π²Π΅ΡΠ΅ ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ½Π΅ Π΅Π΄ΠΈΠ½ Π±Π»ΠΎΠΊ, Π°ΠΊΠΎ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½ΠΈ ΡΠ΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΎ Π΄ΠΎ 50% ΠΈΠ»ΠΈ 75% ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ.
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½ΠΎΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ°: ΠΠΎΠ³Π°ΡΠΎ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π° Π½Π° Π΄ΠΈΡΠΊΠ°, ΡΠ΅ ΠΏΡΠ°Π²ΠΈ ΠΎΠΏΠΈΡ Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°. ΠΠΊΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Π±Π»ΠΎΠΊΠ° ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π° Π² ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ Π²ΠΈΠ΄, Π° Π½Π° ΠΌΡΡΡΠΎΡΠΎ Π½Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ΠΈΡΠ΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΡΠ΅ ΠΏΡΠΎΠ±ΠΈΠ²Π° 'Π΄ΡΠΏΠΊΠ°' (ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΏΠΎΠ²ΠΈΠΊ) fallocate() Ρ ΡΠ»Π°Π³Π° 'punch hole'). ΠΠΊΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅, ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΠ΅ ΡΡΡ
ΡΠ°Π½ΡΠ²Π° ΡΠ°ΠΊΠ°, ΠΊΠ°ΠΊΡΠΎ Π΅, Π² Π½Π΅ΠΊΠΎΠ½ΠΏΡΠ΅ΡΠΈΡΠ°Π½ Π²ΠΈΠ΄. ΠΡΠΈΡΠΊΠΈ ΠΎΡΡΠ΅ΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΡΠ΅ ΡΠΌΡΡΠ°Ρ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π±Π΅Π· ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ, ΡΡΠ΅Π· ΡΠΌΠ½ΠΎΠΆΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°. ΠΠΈΠΊΠ°ΠΊΠ²Π° ΡΠ΅Π»Π°ΠΊΠ°ΡΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°. ΠΡΡΠ΅ΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π±Π΅Π· ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ, ΠΏΠΎΠΏΠ°Π΄Π° Π½Π° Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°.

Π ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Ignite ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΡΡΡ sparse ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ°ΠΌΠΎ ΠΏΠΎΠ΄ ΠΠ‘ Linux, ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ disk page compression ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΡΠ°ΠΌΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Ignite Π½Π° ΡΠ°Π·ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° disk page compression: ZSTD, LZ4, Snappy. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΈΠΌΠ° ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠ°Π±ΠΎΡΠ° (SKIP_GARBAGE), ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·Ρ Π²ΡΡΠ»Ρ ΡΠ°ΠΌΠΎ Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎΡΠΎ ΠΌΡΡΡΠΎ Π² ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π±Π΅Π· ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π²ΡΡΡ Ρ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° CPU Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠ΅Π΄Ρ ΠΎΠ΄Π½ΠΎ ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ.
ΠΠ»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°
ΠΠ° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅, Π½Π΅ ΡΡΠΌ ΠΈΠ·Π²ΡΡΡΠ²Π°Π» ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΌΠ΅Ρ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅Π°Π»Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠΎΠ·ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ, Π½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π° ΠΎΠ±ΡΡΠ΄ΠΈΠΌ, ΠΊΡΠ΄Π΅ ΡΠ΅ Π·Π°Π³ΡΠ±ΠΈΠΌ, Π° ΠΊΡΠ΄Π΅ ΡΠ΅ ΡΠΏΠ΅ΡΠ΅Π»ΠΈΠΌ.
ΠΠ° ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠΈ ΠΏΡΠΈΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΊΠ°ΠΊ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΎΠ±ΡΡΡΠ°ΠΌΠ΅ ΠΊΡΠΌ ΡΡΡ :
- ΠΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΏΡΡΠ²ΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π½Π΅ΠΉΠ½ΠΎΡΠΎ ΡΡΡΡΠ΅Π½Π΅ Π² RAM, Π°ΠΊΠΎ ΡΡΡΡΠ΅Π½Π΅ΡΠΎ Π½Π΅ Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π° Π² RAM ΠΎΡ Π΄ΠΈΡΠΊΠ° ΠΎΡ ΡΡΡΠΈΡ ΠΏΠΎΡΠΎΠΊ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ.
- ΠΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Π·Π° Π·Π°ΠΏΠΈΡ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π² RAM ΡΠ΅ ΠΌΠ°ΡΠΊΠΈΡΠ° ΠΊΠ°ΡΠΎ ΠΌΡΡΡΠ½Π°, ΠΊΠ°ΡΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΡΠΎ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ° Π½Π΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π²Π΅Π΄Π½Π°Π³Π° Π² ΠΏΠΎΡΠΎΠΊΠ°, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π° Π·Π°ΠΏΠΈΡΠ°. ΠΡΠΈΡΠΊΠΈ ΠΌΡΡΡΠ½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ ΡΠ΅ Π·Π°ΠΏΠ°Π·Π²Π°Ρ Π½Π° Π΄ΠΈΡΠΊΠ° ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ΅ΠΊΠΏΠΎΠΈΠ½Ρ ΠΎΡ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠΎΡΠΎΡΠΈ.
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, Π²Π»ΠΈΡΠ½ΠΈΠ΅ΡΠΎ Π²ΡΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΠΏΠΎ ΡΠ΅ΡΠ΅Π½Π΅:
- ΠΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π½ΠΎ (disk IO), Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π±ΡΠΎΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ΠΈΡΠ΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°.
- ΠΡΡΠΈΡΠ°ΡΠ΅Π»Π½ΠΎ (CPU) ΠΏΠΎΡΠ°Π΄ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ sparse ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΊ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ²ΡΡ Π½Π΅ΡΠ²Π½ΠΎ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ IO ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½Π° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° sparse ΡΠ°ΠΉΠ»Π° (Π·Π° Π²ΡΠΈΡΠΊΠΈ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ sparse ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π΅ ΡΡΠΌ Π·Π°ΠΏΠΎΠ·Π½Π°Ρ).
- ΠΡΡΠΈΡΠ°ΡΠ΅Π»Π½ΠΎ (CPU) ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅.
- ΠΡΠΌΠ° Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° Π·Π°ΠΏΠΈΡ.
- ΠΠ»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ΅ΠΊΠΏΠΎΠΈΠ½Ρ (ΡΡΠΊ Π²ΡΠΈΡΠΊΠΎ Π΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅):
- ΠΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π½ΠΎ (disk IO) ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π±ΡΠΎΡ Π·Π°ΠΏΠΈΡΠ°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°.
- ΠΡΡΠΈΡΠ°ΡΠ΅Π»Π½ΠΎ (CPU, Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ disk IO) ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ°Π±ΠΎΡΠ° ΡΡΡ sparse ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
- ΠΡΡΠΈΡΠ°ΡΠ΅Π»Π½ΠΎ (CPU) ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅.
ΠΠΎΡ ΡΠ°ΡΠ° ΡΠ΅ΠΆΠ΅ΡΡΠΈ ΡΠ΅ Π½Π°Π΄Π΄Π΅Π»Π΅Π΅? ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΡΡΠ΅Π΄Π°ΡΠ°, Π½ΠΎ Π°Π· ΡΡΠΌ ΡΠΊΠ»ΠΎΠ½Π΅Π½ Π΄Π° ΠΌΠΈΡΠ»Ρ, ΡΠ΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π½Π° disk page ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ ΠΏΠΎ-ΡΠΊΠΎΡΠΎ Π΄ΠΎ Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠΈ. Π’Π΅ΠΌ ΠΏΠΎΠ²Π΅ΡΠ΅, ΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈ Π‘Π£ΠΠ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΡΡ sparse ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΡΠΏΠ°Π΄ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ.
ΠΠ°ΠΊ Π΄Π° Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΠ΅
ΠΠ°ΠΊΡΠΎ Π±Π΅ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΎ ΠΏΠΎ-Π³ΠΎΡΠ΅, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Apache Ignite, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° disk page: 2.8 ΠΈ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°ΠΌΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Linux. ΠΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠ²Π°Π½Π΅ΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½:
- Π class-path ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° ΠΌΠΎΠ΄ΡΠ» ignite-compression. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠΎΠΉ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° Π½Π° Apache Ignite Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ libs/optional ΠΈ Π½Π΅ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π° Π² class-path. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π΄Π° ΠΏΡΠ΅Π½Π΅ΡΠ΅ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Π½Π° Π΅Π΄Π½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π°Π³ΠΎΡΠ΅ Π² libs ΠΈ ΡΠΎΠ³Π°Π²Π° ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΏΡΠ΅Π· ignite.sh ΡΠΎΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½.
- Persistence ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ (Π²ΠΊΠ»ΡΡΠ²Π° ΡΠ΅ ΡΡΠ΅Π·
DataRegionConfiguration.setPersistenceEnabled(true)). - Π Π°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π±Π»ΠΎΠΊΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° (ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π΄Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π°
DataStorageConfiguration.setPageSize()). - ΠΠ° Π²ΡΠ΅ΠΊΠΈ ΠΊΠ΅Ρ, Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΉΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Ρ, Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π΄Π° ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈ ΠΌΠ΅ΡΠΎΠ΄ΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ ΠΈ (ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅) Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ (ΠΌΠ΅ΡΠΎΠ΄ΠΈ
CacheConfiguration.setDiskPageCompression(), CacheConfiguration.setDiskPageCompressionLevel()).
WAL ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎΠ²Π°
ΠΠ°ΠΊΠ²ΠΎ Π΅ WAL ΠΈ Π·Π°ΡΠΎ Π΅ Π½ΡΠΆΠ΅Π½? ΠΠ½ΠΎΠ³ΠΎ Π½Π°ΠΊΡΠ°ΡΠΊΠΎ: ΡΠΎΠ²Π° Π΅ ΠΆΡΡΠ½Π°Π», Π² ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Ρ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ±ΠΈΡΠΈΡ, ΠΏΡΠΎΠΌΠ΅Π½ΡΡΠΈ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΡΠΆΠ΅Π½ Π΅ ΠΏΡΠ΅Π΄ΠΈΠΌΠ½ΠΎ Π·Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΡΠΈΠ². ΠΡΡΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΏΡΠ΅Π΄Π°Π΄Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, ΡΡΡΠ±Π²Π° ΠΏΡΡΠ²ΠΎ Π΄Π° Π·Π°ΠΏΠΈΡΠ΅ ΡΡΠ±ΠΈΡΠΈΠ΅ΡΠΎ Π² WAL, Π·Π° Π΄Π° ΠΈΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΡΠΈΠ² Π΄Π° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅ ΠΆΡΡΠ½Π°Π»Π° ΠΈ Π΄Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π·Π° ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΡΠΏΠ΅ΡΠ΅Π½ ΠΎΡΠ³ΠΎΠ²ΠΎΡ, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ ΡΠ΅Π·ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π΅ ΡΠ° ΡΡΠΏΠ΅Π»ΠΈ Π΄Π° ΡΠ΅ ΠΎΡΡΠ°Π·ΡΡ Π² ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ° (ΠΏΠΎ-Π³ΠΎΡΠ΅ Π±Π΅ΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ, ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½Π°ΡΠ° Π·Π°ΠΏΠΈΡ Π² ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π² ΠΏΡΠΎΡΠ΅Ρ, Π½Π°ΡΠ΅ΡΠ΅Π½ βΡΠ΅ΠΊΠΏΠΎΠΈΠ½Ρβ Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΎΡ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠΎΡΠΎΡΠΈ).
ΠΠ°ΠΏΠΈΡΠΈ Π² WAL ΡΠ΅ Π΄Π΅Π»ΡΡ Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ β ΡΠΎΠ²Π° ΡΠ° ΡΠ°ΠΌΠΈΡΠ΅ ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ. Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ β ΠΎΡΡΠ°Π·ΡΠ²Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠΎΠΊΠ°ΡΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΠΈ Π·Π° Π΄ΡΡΠ³ΠΈ ΡΠ»ΡΡΠ°ΠΈ, ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΡΠ°ΠΌΠΎ Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΡΠΈΠ² ΠΈ ΡΠ° Π½ΡΠΆΠ½ΠΈ ΡΠ°ΠΌΠΎ Π·Π°ΠΏΠΈΡΠΈ ΠΎΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΡΠΏΠ΅ΡΠ΅Π½ ΡΠ΅ΠΊΠΏΠΎΠΈΠ½Ρ. Π’ΡΠΊ Π½ΡΠΌΠ° Π΄Π° Π²Π»ΠΈΠ·Π°ΠΌΠ΅ Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈ Π΄Π° ΠΎΠ±ΡΡΠ½ΡΠ²Π°ΠΌΠ΅ Π·Π°ΡΠΎ ΡΠΎΠ²Π° ΡΠ°Π±ΠΎΡΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠ°, Π½ΠΎ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΡΠ½Π°Ρ ΠΊΡΠΌ Π²Π΅ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠ°ΡΠ° ΡΡΠ°ΡΠΈΡ Π² Apache Ignite Wiki: .
ΠΠ° Π΅Π΄Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ° Π·Π°ΠΏΠΈΡ ΡΠ΅ΡΡΠΎ ΡΠ΅ ΠΏΠ°Π΄Π°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΠΈΡΠ°. Π’ΠΎΠ΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅Π΄Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ put Π² ΠΊΠ΅ΡΠ° Π·Π°ΡΡΠ³Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΡΠ°Π½ΠΈΡΠΈ Π² ΡΡΡΠ°Π½ΠΈΡΠ½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ (ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Ρ Π΄Π°Π½Π½ΠΈΡΠ΅, ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Ρ free-list-ΠΈ). Π Π½ΡΠΊΠΎΠΈ ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ , ΡΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π·Π°Π΅ΠΌΠ°Ρ Π΄ΠΎ 90% ΠΎΡ ΠΎΠ±Π΅ΠΌΠ° Π½Π° WAL ΡΠ°ΠΉΠ»Π°. ΠΡΠΈ ΡΠΎΠ²Π° ΡΠ΅ ΡΠ° Π½ΡΠΆΠ½ΠΈ ΡΠ°ΠΌΠΎ Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΡΠ°ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ (ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΠΈΡΠ΅ Π΅ 3 ΠΌΠΈΠ½ΡΡΠΈ). ΠΠΎΠ³ΠΈΡΠ½ΠΎ Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΎΡ ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΡΠ»Π΅Π΄ Π·Π°Π³ΡΠ±Π°ΡΠ° Π½Π° Π°ΠΊΡΡΠ°Π»Π½ΠΎΡΡΡΠ° ΠΈΠΌ Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π°Π²ΠΈΠΌ. ΠΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠ²Π° ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ WAL ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠΈΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π° ΠΎΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΠΈΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° zip, ΠΏΡΠΈ ΠΊΠΎΠ΅ΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΠ°ΠΉΠ»Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π° (ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΠΏΡΡΠΈ).
Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ WAL ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° (ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ 10) Ρ ΡΠΈΠΊΡΠΈΡΠ°Π½ ΡΠ°Π·ΠΌΠ΅Ρ (ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ 64ΠΠ±), ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ²Π°Ρ ΡΠΈΠΊΠ»ΠΈΡΠ½ΠΎ. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠ΅ΠΊΡΡΠΈΡΡ ΡΠ΅Π³ΠΌΠ΅Π½Ρ Π΅ Π·Π°ΠΏΡΠ»Π½Π΅Π½, Π½Π° Π½Π΅Π³ΠΎ ΡΠ΅ Π½Π°Π·Π½Π°ΡΠ°Π²Π° ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΡ ΡΠ΅Π³ΠΌΠ΅Π½Ρ, Π° Π·Π°ΠΏΡΠ»Π½Π΅Π½ΠΈΡΡ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΡΠ΅ ΠΊΠΎΠΏΠΈΡΠ° Π² Π°ΡΡ ΠΈΠ² ΡΡΠ΅Π· ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΠΎΡΠΎΠΊ. WAL ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠΈΡΠ°Π½Π΅ Π²Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Ρ Π°ΡΡ ΠΈΠ²Π½ΠΈΡΠ΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈ. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΡΠ΅Π· ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΠΎΡΠΎΠΊ, ΡΠΎΠΉ ΡΠ»Π΅Π΄ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΠ° ΠΈ Π·Π°ΠΏΠΎΡΠ²Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π½Π° Π°ΡΡ ΠΈΠ²Π½ΠΈΡΠ΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈ, ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, Π·Π° ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ° Π½ΡΠΆΠ½ΠΈ.

ΠΠ»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°
Π’ΡΠΉ ΠΊΠ°ΡΠΎ WAL ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠΈΡΠ°Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ ΡΡΠ΅Π· ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΠΎΡΠΎΠΊ, Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° ΠΏΡΡΠΊΠΎ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠΎ Π²ΡΠ΅ ΠΏΠ°ΠΊ ΡΠΎ Π΄Π°Π²Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΡΠΎΠ½ΠΎΠ²ΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° CPU (ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ) ΠΈ Π΄ΠΈΡΠΊ (ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ WAL ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΎΡ Π°ΡΡ ΠΈΠ²Π° ΠΈ Π·Π°ΠΏΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈ), ΡΠ°ΠΊΠ° ΡΠ΅ Π°ΠΊΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅, ΡΠΎ ΡΡΡΠΎ ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°.
ΠΠ°ΠΊ Π΄Π° Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΠ΅
ΠΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° WAL ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠΈΡΠ°Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΡΠΎ WalCompactionEnabled Π² DataStorageConfiguration (DataStorageConfiguration.setWalCompactionEnabled(true)). Π‘ΡΡΠΎ, ΡΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄Π° DataStorageConfiguration.setWalCompactionLevel() ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΡΡΠ΅ΠΏΠ΅Π½ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ, Π°ΠΊΠΎ Π½Π΅ Π΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ (BEST_SPEED).
ΠΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π°ΡΠ° ΡΠ½ΠΈΠΌΠΊΠ° Π½Π° WAL ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎΠ²Π°
ΠΠΎ-ΡΠ°Π½ΠΎ Π²Π΅ΡΠ΅ Π±Π΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΎ, ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π² WAL ΡΠ΅ Π΄Π΅Π»ΡΡ Π½Π° Π»ΠΎΠ³ΠΈΡΠ½ΠΈ ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ. ΠΠ° Π²ΡΡΠΊΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π²ΡΡΠΊΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π² ΡΡΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΠΈΡ Π½Π° WAL. Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΎΡ ΡΠ²ΠΎΡ ΡΡΡΠ°Π½Π° ΡΡΡΠΎ ΡΠ΅ Π΄Π΅Π»ΡΡ Π½Π° 2 ΠΏΠΎΠ΄Π²ΠΈΠ΄Π°: Π·Π°ΠΏΠΈΡ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΠΈ Π΄Π΅Π»ΡΠ° Π·Π°ΠΏΠΈΡ. ΠΡΠ΅ΠΊΠΈ ΠΏΡΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΌΠ΅ Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΠΈ Ρ ΠΏΡΠ΅Π²Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΎΡ ΡΠΈΡΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π² ΠΌΡΡΡΠ½ΠΎ, Π² WAL ΡΠ΅ Π·Π°ΠΏΠ°Π·Π²Π° ΠΏΡΠ»Π½Π° ΠΊΠΎΠΏΠΈΡ Π½Π° ΡΠ°Π·ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ° (Π·Π°ΠΏΠΈΡ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° β ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°). ΠΠΎΡΠΈ Π°ΠΊΠΎ ΡΠΌΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ Π±Π°ΠΉΡ, Π² WAL ΡΠ΅ ΡΠ΅ Π·Π°ΠΏΠ°Π·ΠΈ Π·Π°ΠΏΠΈΡ Ρ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°. ΠΠΊΠΎ ΠΎΠ±Π°ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΌΠ΅ Π½Π΅ΡΠΎ Π½Π° Π²Π΅ΡΠ΅ ΠΌΡΡΡΠ½Π°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ°, Π² WAL ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ° Π΄Π΅Π»ΡΠ° Π·Π°ΠΏΠΈΡ, Π² ΠΊΠΎΠΉΡΠΎ ΡΠ° ΠΎΡΡΠ°Π·Π΅Π½ΠΈ ΡΠ°ΠΌΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°, Π½ΠΎ Π½Π΅ ΠΈ ΡΡΠ»Π°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ°. Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π½ΡΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΡΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΠΎΡ ΠΌΡΡΡΠ½ΠΎ Π½Π° ΡΠΈΡΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΠ°, Π²Π΅Π΄Π½Π°Π³Π° ΡΠ»Π΅Π΄ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΠ° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΈΡΠΊΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠ΅ ΡΠ΅ ΡΡΡΡΠΎΡΡ ΡΠ°ΠΌΠΎ ΠΎΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ (ΡΡΠΉ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ ΡΠ»Π΅Π΄ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΠ° ΡΠ° ΡΠΈΡΡΠΈ), ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ, Ρ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°Π²Π°Π½Π΅ΡΠΎ Π΄ΠΎ ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΡΠ΅ΠΊΠΏΠΎΠΈΠ½Ρ, Π΄Π΅Π»ΡΡ Π½Π° Π΄Π΅Π»ΡΠ° Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° Π½Π°ΡΠ°ΡΡΠ²Π° ΠΈ ΠΎΡΠ½ΠΎΠ²ΠΎ ΡΠ΅ Π½ΡΠ»ΠΈΡΠ° Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΡΠ΅ΠΊΠΏΠΎΠΈΠ½Ρ. ΠΠ·ΠΌΠ΅ΡΠ²Π°Π½ΠΈΡΡΠ° Π½Π° Π½ΡΠΊΠΎΠΈ ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ Π°, ΡΠ΅ Π΄Π΅Π»ΡΡ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π² ΠΎΠ±ΡΠΈΡ ΠΎΠ±Π΅ΠΌ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π΄ΠΎΡΡΠΈΠ³Π° 90%.
ΠΠ΄Π΅ΡΡΠ° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° WAL Π΅ Π² ΡΠΎΠ²Π° Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π²Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ (Π²ΠΆ. ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ°). Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π² WAL ΡΠ΅ Π·Π°ΠΏΠ°Π·Π²Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΌΠΎ Π·Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ ΠΈ Π½ΡΠΌΠ° Π½ΡΠΆΠ΄Π° ΠΎΡ ΠΏΡΠΈΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π·Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΊΡΠΌ Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π·Π°ΡΠΎΠ²Π° ΡΡΠΊ, Π² ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΠ΅ Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ°, Π½Π΅ ΡΠ° Π½ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΡΠ°Π·ΡΠ΅Π΄Π΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΡΠΎΠ·ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Linux. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π²Π΅ΡΠ΅ Π½Π΅ Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΊΠΎΠ»ΠΊΠΎ ΡΠΈΠ»Π½ΠΎ ΡΡΠΏΡΠ²Π°ΠΌΠ΅ Π΄Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°ΠΌΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°. ΠΠΎΡΠΈ Π°ΠΊΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠΌ 1 Π±Π°ΠΉΡ, ΡΠΎΠ²Π° Π²Π΅ΡΠ΅ Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π΅Π½ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΠΌ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π² WAL, Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ°, ΠΊΡΠ΄Π΅ΡΠΎ Π·Π°ΠΏΠ°Π·Π²Π°ΠΌΠ΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ ΡΠΌΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 1 Π±Π»ΠΎΠΊ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°.
Π‘ΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΡΠ° Π΄ΠΎΠ±ΡΠ΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ, Π° ΡΡΡ Π½Π°ΡΠ° ΡΠ°ΡΡ Π² ΠΎΠ±ΡΠΈΡ ΠΎΠ±Π΅ΠΌ Π½Π° WAL Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΡΠΎΠΊΠ°. Π’Π°ΠΊΠ°, ΡΠ΅ Π±Π΅Π· Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΡΠΌΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° WAL ΡΠ°ΠΉΠ»Π°, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΠΌ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΡ. ΠΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, ΠΎΠ±Π°ΡΠ΅, Π±ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π»Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠΎΡΠΌΠ°ΡΠ° ΠΈ Π·Π°Π³ΡΠ±Π° Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π²ΡΠ½ΡΠ½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, Π½Π° ΠΊΠΎΠΈΡΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°Ρ, Π½ΠΎ ΡΠΎΠ²Π° Π½Π΅ Π±ΠΈ Π΄ΠΎΠ²Π΅Π»ΠΎ Π΄ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΌΠ° Π½Π° ΡΠ°ΠΉΠ»Π°.
ΠΠ°ΠΊΡΠΎ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ, Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° WAL ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ ZSTD, LZ4, Snappy, Π° ΡΡΡΠΎ ΠΈ ΡΠ΅ΠΆΠΈΠΌ SKIP_GARBAGE.
ΠΠ»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°
ΠΠ°ΠΊΡΠΎ Π½Π΅ Π΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈ, Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π½Π° WAL ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π»ΠΈΡΠ΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎ Π½Π° ΠΏΠΎΡΠΎΠΊΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Ρ Π΄Π°Π½Π½ΠΈ Π² ΡΡΡΠ°Π½ΠΈΡΠ½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ, Ρ.Π΅. Π½Π° ΡΠ΅Π·ΠΈ ΠΏΠΎΡΠΎΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΠΈ Π² ΠΊΠ΅ΡΠΎΠ²Π΅ΡΠ΅. Π§Π΅ΡΠ΅Π½Π΅ΡΠΎ ΠΎΡ WAL Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ°ΠΌΠΎ Π²Π΅Π΄Π½ΡΠΆ, Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ·Π΅Π»Π° ΡΠ»Π΅Π΄ ΡΡΠΈΠ² (ΠΈ ΡΠ°ΠΌΠΎ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΡΠΈΠ² ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠΎΡΠΊΠ°).
ΠΠ»ΠΈΡΠ½ΠΈΠ΅ΡΠΎ Π²ΡΡΡ Ρ ΠΏΠΎΡΠΎΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΠΈ, Π΅ ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ: ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»Π΅Π½ Π΅ΡΠ΅ΠΊΡ (CPU) Π·Π°ΡΠ°Π΄ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° Π²ΡΠ΅ΠΊΠΈ ΠΏΡΡ Π΄Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°ΠΌΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΠΏΡΠ΅Π΄ΠΈ Π·Π°ΠΏΠΈΡ Π½Π° Π΄ΠΈΡΠΊΠ° ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π΅Π½ Π΅ΡΠ΅ΠΊΡ (Π΄ΠΈΡΠΊΠΎΠ² Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄) Π·Π°ΡΠ°Π΄ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ. Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, ΡΡΠΊ Π΅ ΠΏΡΠΎΡΡΠΎ: Π°ΠΊΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π°Π²ΠΈΡΠΈ ΠΎΡ CPU, ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΌΠ°Π»ΠΊΠ° Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΡ; Π°ΠΊΠΎ ΠΎΡ Π΄ΠΈΡΠΊΠΎΠ²ΠΈΡ Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄ β ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΏΠΎΠΊΠ°ΡΠ²Π°Π½Π΅.
ΠΠΎΡΠ²Π΅Π½ΠΎ, Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° WAL ΡΡΡΠΎ ΠΎΠΊΠ°Π·Π²Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π½ΠΎ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΠΎΠΊΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° WAL ΠΈ Π½Π° ΠΏΠΎΡΠΎΠΊΠΈΡΠ΅ Π·Π° WAL ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠΈΡ.
Π Π΅Π°Π»Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π² Π½Π°ΡΠ°ΡΠ° ΡΡΠ΅Π΄Π° Ρ ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ Π° ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠΊΠ°ΡΠ²Π°Π½Π΅ (ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π½Π°ΡΠ°ΡΠ½Π° Ρ 10% - 15%, Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ° Π½Π°ΠΌΠ°Π»Ρ Ρ 10% - 15%).
ΠΠ°ΠΊ Π΄Π° Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΠ΅
ΠΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Apache Ignite: 2.8. ΠΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½:
- Π class-path ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° ΠΌΠΎΠ΄ΡΠ» ignite-compression. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠΎΠΉ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° Π½Π° Apache Ignite Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ libs/optional ΠΈ Π½Π΅ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π° Π² class-path. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π΄Π° ΠΏΡΠ΅Π½Π΅ΡΠ΅ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Π½Π° Π΅Π΄Π½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π°Π³ΠΎΡΠ΅ Π² libs ΠΈ ΡΠΎΠ³Π°Π²Π° ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΏΡΠ΅Π· ignite.sh ΡΠΎΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½.
- Persistence ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ (Π²ΠΊΠ»ΡΡΠ²Π° ΡΠ΅ ΡΡΠ΅Π·
DataRegionConfiguration.setPersistenceEnabled(true)). - Π’ΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ ΡΠ΅ΠΆΠΈΠΌΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π°
DataStorageConfiguration.setWalPageCompression(), ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½Π° (ΡΠ΅ΠΆΠΈΠΌ DISABLED). - ΠΠΎ ΠΈΠ·Π±ΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°Π΄Π°Π΄Π΅Π½Π° ΡΡΠ΅ΠΏΠ΅Π½ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π°
DataStorageConfiguration.setWalPageCompression(), Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ Π²ΠΈΠΆΡΠ΅ Π² javadoc Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π°.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½ΠΈΡΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ Π² Apache Ignite ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ Π΄ΡΡΠ³, Π½ΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ° Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΈ ΠΈ Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ ΡΠ΅Ρ
Π½ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ. Π Π°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΡΠ΅ Π½Π° ΡΡΡ
Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ Π΄ΠΎΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° Π²Π°ΡΠΈΡΠ΅ Π½ΡΠΆΠ΄ΠΈ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄Π° ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° ΠΆΠ΅ΡΡΠ²Π°ΡΠ΅ ΠΏΡΠΈ ΡΡΡ
Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅. ΠΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΡΡΠ΅Π΄Π½Π° ΡΡΠ΅ΠΏΠ΅Π½ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ. ΠΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ Π½Π° WAL ΡΡΡΠ°Π½ΠΈΡΠΈ ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ ΡΡΠ΅Π΄Π½Π° ΡΡΠ΅ΠΏΠ΅Π½ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ WAL, ΠΊΠ°ΡΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π΄ΠΎΡΠΈ ΡΠ΅ ΠΏΠΎΠ²ΠΈΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. ΠΠΎΠΌΠΏΠ°ΡΠΈΡΡΠ° Π½Π° WAL Π½ΡΠΌΠ° Π΄Π° ΠΈΠΌΠ° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π΅Π½ Π΅ΡΠ΅ΠΊΡ Π²ΡΡΡ
Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, Π½ΠΎ ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ WAL ΡΡΠ΅Π· ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΠΈΡΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
