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

Π Π½Π°ΡΡΠΎΡΡΠ°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Ignite ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΡΡΡ sparse ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ°ΠΌΠΎ ΠΏΠΎΠ΄ ΠΠ‘ Linux, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΡΠ°ΠΌΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Ignite Π½Π° ΡΠ°Π·ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠΈ: ZSTD, LZ4, Snappy. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΈΠΌΠ° ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠ°Π±ΠΎΡΠ° (SKIP_GARBAGE), ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·Ρ Π²ΡΡΠ»Ρ Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π² ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π±Π΅Π· ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ ΠΊΡΠΌ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° CPU Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΈΠ·Π±ΡΠΎΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎ-ΡΠ°Π½ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ.
ΠΠ»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°
ΠΠ° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅, Π½Π΅ ΡΡΠΌ ΠΏΡΠΎΠ²Π΅Π» ΡΠ΅Π°Π»Π½ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ²Π°Π½ΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅Π°Π»Π½ΠΈ ΡΡΠ°Π½Π΄ΠΎΠ²Π΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠΎΠ·ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ, Π½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½ΠΎ Π΄Π° ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΠΊΡΠ΄Π΅ ΡΠ΅ Π·Π°Π³ΡΠ±ΠΈΠΌ, Π° ΠΊΡΠ΄Π΅ ΡΠ΅ ΡΠΏΠ΅ΡΠ΅Π»ΠΈΠΌ.
ΠΠ° ΡΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠΈ ΡΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΊΠ°ΠΊ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΡΡΡ :
- ΠΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° ΠΏΠΎ ΡΠ΅ΡΠ΅Π½Π΅, ΠΏΡΡΠ²ΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΡΡΠ΅Π½Π΅ Π² RAM, Π°ΠΊΠΎ ΡΡΡΡΠ΅Π½Π΅ΡΠΎ Π·Π°Π²ΡΡΡΠΈ Π±Π΅Π· ΡΡΠΏΠ΅Ρ , ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π° Π² RAM ΠΎΡ Π΄ΠΈΡΠΊΠ° ΡΡΡ ΡΡΡΠΈΡ ΠΏΠΎΡΠΎΠΊ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ.
- ΠΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° ΠΏΠΎ Π·Π°ΠΏΠΈΡ, ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π² RAM ΡΠ΅ ΠΌΠ°ΡΠΊΠΈΡΠ° ΠΊΠ°ΡΠΎ ΠΌΡΡΡΠ½Π°, ΠΊΠ°ΡΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΡΠΎ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ° Π½Π΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π²Π΅Π΄Π½Π°Π³Π° Π² ΠΏΠΎΡΠΎΠΊΠ°, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π° Π·Π°ΠΏΠΈΡΠ°. ΠΡΠΈΡΠΊΠΈ ΠΌΡΡΡΠ½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ ΡΠ΅ Π·Π°ΠΏΠ°Π·Π²Π°Ρ Π½Π° Π΄ΠΈΡΠΊΠ° ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΠ° ΠΎΡ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠΎΡΠΎΡΠΈ.
ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΠΏΠΎ ΡΠ΅ΡΠ΅Π½Π΅:
- ΠΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π½ΠΎ (Π΄ΠΈΡΠΊΠΎΠ² IO), Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π±ΡΠΎΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ΠΈΡΠ΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°.
- ΠΡΡΠΈΡΠ°ΡΠ΅Π»Π΅Π½ (CPU), Π·Π°ΡΠ°Π΄ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ sparse ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΡΠΊ Π½Π΅ΡΠ²Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ²ΡΡ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ IO ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° sparse ΡΠ°ΠΉΠ»Π° (Ρ Π²ΡΠΈΡΠΊΠΈ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈ ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° sparse ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π½Π΅ ΡΡΠΌ Π·Π°ΠΏΠΎΠ·Π½Π°Ρ).
- ΠΡΡΠΈΡΠ°ΡΠ΅Π»Π΅Π½ (CPU), Π·Π°ΡΠ°Π΄ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅.
- ΠΡΠΌΠ° Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΠΏΠΎ Π·Π°ΠΏΠΈΡ.
- ΠΠ»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ΅ΠΊΠΏΠΎΠΈΠ½Ρ (ΡΡΠΊ Π²ΡΠΈΡΠΊΠΎ Π΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΠΏΠΎ ΡΠ΅ΡΠ΅Π½Π΅):
- ΠΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π΅Π½ (disk IO), Π·Π°ΡΠ°Π΄ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π·Π°ΠΏΠΈΡΠ°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°.
- ΠΡΡΠΈΡΠ°ΡΠ΅Π»Π΅Π½ (CPU, Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ disk IO), Π·Π°ΡΠ°Π΄ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΡΡ sparse ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
- ΠΡΡΠΈΡΠ°ΡΠ΅Π»Π΅Π½ (CPU), Π·Π°ΡΠ°Π΄ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅.
ΠΠΎΡ ΡΠ°ΡΠ° Π½Π° Π²Π΅Π·Π½Π°ΡΠ° ΡΠ΅ Π½Π°Π΄Π²ΠΈΠ΅? ΠΡΠΈΡΠΊΠΎ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΡΡΠ΅Π΄Π°ΡΠ°, Π½ΠΎ ΡΠΊΠ»ΠΎΠ½ΡΠ²Π°ΠΌ ΡΠ΅ ΠΊΡΠΌ ΠΌΠ½Π΅Π½ΠΈΠ΅ΡΠΎ, ΡΠ΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ ΠΏΠΎ-ΡΠΊΠΎΡΠΎ Π΄ΠΎ Π²Π»ΠΎΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΡΠΎΠ±Π΅Π½ΠΎ ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈ Π‘Π£ΠΠ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΡΡ sparse ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΠΏΠ°Π΄Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π°ΡΠ° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ.
ΠΠ°ΠΊ Π΄Π° Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅
ΠΠ°ΠΊΡΠΎ Π²Π΅ΡΠ΅ Π±Π΅ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΎ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Apache Ignite, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ: 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 compaction, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΡΡΡΠ²Π°Π²Π° ΠΎΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΠΈΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° zip, ΠΊΠ°ΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΠ°ΠΉΠ»Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ Π½Π°ΠΌΠ°Π»ΡΠ²Π° (ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΠΏΡΡΠΈ).
Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡΡ WAL ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° (ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ 10) Ρ ΡΠΈΠΊΡΠΈΡΠ°Π½ ΡΠ°Π·ΠΌΠ΅Ρ (ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ 64ΠΠ±), ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ²Π°Ρ ΡΠΈΠΊΠ»ΠΈΡΠ½ΠΎ. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠ΅ΠΊΡΡΠΈΡΡ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΡΠ΅ Π·Π°ΠΏΡΠ»Π½ΠΈ, ΡΠ΅ΠΊΡΡΠΈΡΡ ΡΠ΅ΠΊΡΠΎΡ ΠΏΡΠ΅Π½Π°Π·Π½Π°ΡΠ°Π²Π° ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΡΠ»Π΅Π΄ Π½Π΅Π³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½Ρ, Π° Π·Π°ΠΏΡΠ»Π½Π΅Π½ΠΈΡΡ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΡΠ΅ Π°ΡΡ ΠΈΠ²ΠΈΡΠ° Ρ ΠΎΡΠ΄Π΅Π»ΡΠ΅Π½ ΠΏΠΎΡΠΎΠΊ. WAL ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠΈΡ Π²Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Ρ Π°ΡΡ ΠΈΠ²ΠΈΡΠ΅ Π½Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠ΅. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Ρ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΠΎΡΠΎΠΊ ΡΡ ΡΠ»Π΅Π΄ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΠ° ΠΈ Π·Π°ΠΏΠΎΡΠ²Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° Π°ΡΡ ΠΈΠ²ΠΈΡΠ΅, ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π·Π° ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ° Π½ΡΠΆΠ½ΠΈ.

ΠΠ»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°
Π’ΡΠΉ ΠΊΠ°ΡΠΎ WAL ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠΈΡΡΠ° ΡΠ°Π±ΠΎΡΠΈ Ρ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΠΎΡΠΎΠΊ, ΡΡ Π½Π΅ Π±ΠΈ ΡΡΡΠ±Π²Π°Π»ΠΎ Π΄Π° ΠΎΠΊΠ°Π·Π²Π° ΠΏΡΡΠΊΠΎ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠΎ ΡΡ Π²ΡΠ΅ ΠΏΠ°ΠΊ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΡΠΎΠ½ΠΎΠ²ΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° CPU (ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ) ΠΈ Π½Π° Π΄ΠΈΡΠΊΠ° (ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ WAL ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΎΡ Π°ΡΡ ΠΈΠ²Π° ΠΈ Π·Π°ΠΏΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈ), Π·Π°ΡΠΎΠ²Π°, Π°ΠΊΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π³ΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅, ΡΡ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π²Π»ΠΎΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°.
ΠΠ°ΠΊ Π΄Π° Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅
WAL ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠΈΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΡΠΎ WalCompactionEnabled Π² DataStorageConfiguration (DataStorageConfiguration.setWalCompactionEnabled(true)). Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, Ρ ΠΌΠ΅ΡΠΎΠ΄Π° DataStorageConfiguration.setWalCompactionLevel() ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π΄Π΅ ΡΡΠ΅ΠΏΠ΅Π½ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ, Π°ΠΊΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ (BEST_SPEED) Π½Π΅ Π΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΠ΅Π»Π½Π°.
ΠΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ Π½Π° WAL ΡΡΡΠ°Π½ΠΈΡΠΈ
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ
ΠΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΠΌΠ΅, ΡΠ΅ WAL Π·Π°ΠΏΠΈΡΠΈΡΠ΅ ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΡ Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ. ΠΠ° Π²ΡΡΠΊΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π²ΡΡΠΊΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π² ΡΡΡΠ°Π½ΠΈΡΠ½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΠΈΡ Π½Π° WAL. Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΡΡΡΠΎ ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΡ Π½Π° Π΄Π²Π° ΠΏΠΎΠ΄ΡΠΈΠΏΠ°: page snapshot record ΠΈ delta record. ΠΡΠ΅ΠΊΠΈ ΠΏΡΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΌΠ΅ Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΠΈ Ρ ΠΏΡΠ΅Π²ΡΡΡΠ°ΠΌΠ΅ ΠΎΡ ΡΠΈΡΡΠΎ Π² ΠΌΡΡΡΠ½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, Π² WAL ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΠΏΡΠ»Π½Π° ΠΊΠΎΠΏΠΈΡ Π½Π° ΡΠ°Π·ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ° (page snapshot record β ΡΠ½ΡΠΏΡΠΎΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°). ΠΠΎΡΠΈ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠΌ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ Π±Π°ΠΉΡ, Π² WAL ΡΠ΅ ΡΠ΅ Π·Π°ΠΏΠ°Π·ΠΈ Π·Π°ΠΏΠΈΡ Ρ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°. ΠΠΊΠΎ ΠΎΠ±Π°ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠΌ Π½Π΅ΡΠΎ Π½Π° Π²Π΅ΡΠ΅ ΠΌΡΡΡΠ½Π°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ°, Π² WAL ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ° delta record, Π² ΠΊΠΎΡΡΠΎ ΡΠ° ΠΎΡΡΠ°Π·Π΅Π½ΠΈ ΡΠ°ΠΌΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°, Π½ΠΎ Π½Π΅ ΠΈ ΡΡΠ»Π°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ°. Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π½ΡΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΠΎΡ ΠΌΡΡΡΠ½ΠΎ Π½Π° ΡΠΈΡΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ΅ΠΊΠΏΠΎΠΈΠ½Ρ, Π²Π΅Π΄Π½Π°Π³Π° ΡΠ»Π΅Π΄ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΠ° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΈΡΠΊΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ ΡΠ°ΠΌΠΎ ΡΠ½ΡΠΏΡΠΎΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ (ΡΡΠΉ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ Π²Π΅Π΄Π½Π°Π³Π° ΡΠ»Π΅Π΄ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΠ° ΡΠ° ΡΠΈΡΡΠΈ), ΡΠ»Π΅Π΄ ΡΠΎΠ²Π°, Ρ Π½Π°ΠΏΡΠ΅Π΄Π²Π°Π½Π΅ΡΠΎ ΠΊΡΠΌ ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΡΠ΅ΠΊΠΏΠΎΠΈΠ½Ρ, Π΄Π΅Π»ΡΡ Π½Π° delta record Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° Π½Π°ΡΠ°ΡΡΠ²Π° ΠΈ ΠΎΡΠ½ΠΎΠ²ΠΎ ΡΠ΅ ΡΠ±ΡΠ°ΡΡΡΠ° Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΡΠ΅ΠΊΠΏΠΎΠΈΠ½Ρ. ΠΠ·ΠΌΠ΅ΡΠ²Π°Π½ΠΈΡΡΠ° Π½Π° Π½ΡΠΊΠΎΠΈ ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ Π°, ΡΠ΅ Π΄Π΅Π»ΡΡ Π½Π° ΡΠ½ΡΠΏΡΠΎΡΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π² ΠΎΠ±ΡΠΈΡ ΠΎΠ±Π΅ΠΌ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π΄ΠΎΡΡΠΈΠ³Π° 90%.
ΠΠ΄Π΅ΡΡΠ° Π½Π° ΡΠΆΠ°ΡΠΈΠ΅ Π½Π° WAL page snapshot Π΅ Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Ρ ΡΠ½ΡΠΏΡΠΎΡΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π²Π΅ΡΠ΅ Π½Π°Π»ΠΈΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ (Π²ΠΆ. disk page compression). ΠΡΠΈ ΡΠΎΠ²Π° Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π² WAL ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π² ΡΠ΅ΠΆΠΈΠΌ append-only ΠΈ Π½ΡΠΌΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Ρ Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΡΡΠΊ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π½Π° disk page compression, Π½Π΅ ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ sparse ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ ΡΠΎΠ·ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° ΠΠ‘ Linux. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π²Π΅ΡΠ΅ Π½Π΅ Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΊΠΎΠ»ΠΊΠΎ ΡΠΈΠ»Π½ΠΎ ΡΠΌΠ΅ ΡΡΠΏΠ΅Π»ΠΈ Π΄Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°ΠΌΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°. ΠΠΎΡΠΈ Π°ΠΊΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠΌ 1 Π±Π°ΠΉΡ, ΡΠΎΠ²Π° Π²Π΅ΡΠ΅ Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π΅Π½ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² WAL, Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ disk page compression, ΠΊΡΠ΄Π΅ΡΠΎ Π·Π°ΠΏΠ°Π·Π²Π°ΠΌΠ΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ° ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ ΡΠΌΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 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
