เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ‚เปเป‰เบกเบนเบ™เปƒเบ™ Apache Ignite. เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡ Sber

เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ‚เปเป‰เบกเบนเบ™เปƒเบ™ Apache Ignite. เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡ Sberเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™, เบšเบฑเบ™เบซเบฒเบ‚เบญเบ‡เบเบฒเบ™เบ‚เบฒเบ”เบžเบทเป‰เบ™เบ—เบตเปˆเบ”เบดเบ”เบชเบฒเบกเบฒเบ”เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบšเบฒเบ‡เบ„เบฑเป‰เบ‡. เบงเบดเบ—เบตเบซเบ™เบถเปˆเบ‡เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”, เบ‚เบญเบšเปƒเบˆเบ—เบตเปˆ, เปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบ”เบฝเบงเบเบฑเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเบ›เบฐเบฅเบดเบกเบฒเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ. เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบšเบดเปˆเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ‚เปเป‰เบกเบนเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™ Apache Ignite. เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เบˆเบฐเบญเบฐเบ—เบดเบšเบฒเบเบžเบฝเบ‡เปเบ•เปˆเบงเบดเบ—เบตเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เปเบœเปˆเบ™เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบฒเบเปƒเบ™เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™. เบงเบดเบ—เบตเบเบฒเบ™เบญเบทเปˆเบ™เป†เบ‚เบญเบ‡เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ‚เปเป‰เบกเบนเบ™ (เบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เปƒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ), เบšเปเปˆเบงเปˆเบฒเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบผเบทเบšเปเปˆ, เบˆเบฐเบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเบ™เบญเบเบ‚เบญเบšเป€เบ‚เบ”.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ”เป‰เบงเบเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบซเบกเบ”เบ„เบปเบ‡เบ—เบตเปˆ, เป€เบ›เบฑเบ™เบœเบปเบ™เบกเบฒเบˆเบฒเบเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒ, Ignite เป€เบฅเบตเปˆเบกเบ‚เบฝเบ™เปƒเบชเปˆเปเบœเปˆเบ™:

  1. เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒ
  2. เบ‚เบฝเบ™เบšเบฑเบ™เบ—เบถเบเบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒ (เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบžเบฝเบ‡เปเบ•เปˆ WAL)

เบกเบตเบเบปเบ™เป„เบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ” WAL เบชเปเบฒเบฅเบฑเบšเป„เบฅเบเบฐเบซเบ™เบถเปˆเบ‡เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เป€เบญเบตเป‰เบ™เบงเปˆเบฒ WAL compaction. Apache Ignite 2.8 เบ—เบตเปˆเบ›เปˆเบญเบเบญเบญเบเบกเบฒเป€เบกเบทเปˆเบญเบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰เป„เบ”เป‰เปเบ™เบฐเบ™เปเบฒเบชเบญเบ‡เบเบปเบ™เป„เบเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบšเบตเบšเบญเบฑเบ”เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เปเบœเปˆเบ™: เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒเปเบœเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เป€เบ™เบทเป‰เบญเบซเบฒเบ‚เบญเบ‡เปเบ„เบชเปเบฅเบฐเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒ WAL เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบšเบฒเบ‡เบฅเบฒเบเบเบฒเบ™ WAL. เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบชเบฒเบกเบเบปเบ™เป„เบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰.

เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒเปเบœเปˆเบ™

เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ™เบตเป‰

เบ—เปเบฒเบญเบดเบ”, เปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบชเบฑเป‰เบ™เป†เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™ Ignite เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™. เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ. เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบซเบ™เป‰เบฒเปเบกเปˆเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบ™เบ•เบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡ node เปเบฅเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ•เปเปˆเบกเบฒ; เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เบ‚เบฐเบซเบ™เบฒเบ”เบซเบ™เป‰เบฒเบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™เบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™เบ‚เบญเบ‡เบชเบญเบ‡เปเบฅเบฐเบซเบผเบฒเบเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ. เบซเบ™เป‰เบฒเบˆเบฐเบ–เบทเบเป‚เบซเบฅเบ”เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ RAM เบˆเบฒเบเปเบœเปˆเบ™เบ•เบฒเบกเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™; เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เปเบœเปˆเบ™เบญเบฒเบ”เบˆเบฐเป€เบเบตเบ™เบˆเปเบฒเบ™เบงเบ™ RAM เบ—เบตเปˆเบˆเบฑเบ”เบชเบฑเบ™. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบžเบทเป‰เบ™เบ—เบตเปˆเบžเบฝเบ‡เบžเปเปƒเบ™ RAM เป€เบžเบทเปˆเบญเป‚เบซเบฅเบ”เบซเบ™เป‰เบฒเบˆเบฒเบเปเบœเปˆเบ™, เป€เบเบปเปˆเบฒ, เบซเบ™เป‰เบฒเบ—เบตเปˆเบšเปเปˆเบกเบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปเบฅเป‰เบงเบˆเบฐเบ–เบทเบเบ‚เบฑเบšเป„เบฅเปˆเบญเบญเบเบˆเบฒเบ RAM.

เบ‚เปเป‰เบกเบนเบ™เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เปเบœเปˆเบ™เปƒเบ™เบฎเบนเบšเปเบšเบšเบ•เปเปˆเป„เบ›เบ™เบตเป‰: เป„เบŸเบฅเปŒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเปเบกเปˆเบ™เบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบžเบฒเบ—เบดเบŠเบฑเบ™เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบเบธเปˆเบก cache; เปƒเบ™เป„เบŸเบฅเปŒเบ™เบตเป‰, เบซเบ™เป‰เบฒเป€เบงเบฑเบšเบˆเบฐเบ›เบฒเบเบปเบ”เบ‚เบถเป‰เบ™เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš. เบ•เบปเบงเบฅเบฐเบšเบธเปœเป‰เบฒเป€เบ•เบฑเบกเบกเบตเบ•เบปเบงเบฅเบฐเบšเบธเบเบธเปˆเบกเปเบ„เบ”, เปเบฒเบเป€เบฅเบเบžเบฒเบ—เบดเบŠเบฑเบ™ เปเบฅเบฐเบ”เบฑเบ”เบŠเบฐเบ™เบตเปœเป‰เบฒเบขเบนเปˆเปƒเบ™เป„เบŸเบฅเปŒ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเบฅเบฐเบšเบธเบซเบ™เป‰เบฒเป€เบ•เบฑเบก, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เป„เบŸเบฅเปŒเปเบฅเบฐเบ„เปˆเบฒเบŠเบปเบ”เป€เบŠเบตเบเปƒเบ™เป„เบŸเบฅเปŒเบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบซเบ™เป‰เบฒ. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบ‚เบญเบ‡เบซเบ™เป‰เบฒเปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบก Apache Ignite Wiki: Ignite Persistent Store - under the hood.

เบเบปเบ™เป„เบเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒเปเบœเปˆเบ™, เบ•เบฒเบกเบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบญเบฒเบ”เบˆเบฐเป€เบ”เบปเบฒเบˆเบฒเบเบŠเบทเปˆ, เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบซเบ™เป‰เบฒ. เป€เบกเบทเปˆเบญเบเบปเบ™เป„เบเบ™เบตเป‰เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰, เบ‚เปเป‰เบกเบนเบ™เปƒเบ™ RAM เบˆเบฐเบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ„เบทเบเบฑเบš, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เปƒเบ”เป†, เปเบ•เปˆเป€เบกเบทเปˆเบญเบซเบ™เป‰เบฒเป€เบงเบฑเบšเบ–เบทเบเบšเบฑเบ™เบ—เบถเบเบˆเบฒเบ RAM เป„เบ›เบซเบฒเปเบœเปˆเบ™, เบžเบงเบเบกเบฑเบ™เบˆเบฐเบ–เบทเบเบšเบตเบšเบญเบฑเบ”.

เปเบ•เปˆเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เปเบ•เปˆเบฅเบฐเบซเบ™เป‰เบฒเป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบšเปเปˆเปเบกเปˆเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒ; เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบซเบผเบธเบ”เบœเปˆเบญเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ‚เปเป‰เบกเบนเบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš. เบ–เป‰เบฒเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบซเบ™เป‰เบฒเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เบญเบตเบเบ•เปเปˆเป„เบ›, เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เบซเบ™เป‰เบฒเป„เบ›เบซเบฒเป„เบŸเบฅเปŒเบ•เปเปˆเป„เบ›เบญเบตเบเปเบฅเป‰เบง, เป€เบžเบฒเบฐเบงเปˆเบฒเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบšเบฑเบ™เบซเบฒเบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡:

  • เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ”เบฑเบ”เบชเบฐเบ™เบตเบซเบ™เป‰เบฒ, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ„เบดเบ”เป„เบฅเปˆเบเบฒเบ™เบŠเบปเบ”เป€เบŠเบตเบเบ—เบตเปˆเบกเบฑเบ™เบขเบนเปˆเปƒเบ™เป„เบŸเบฅเปŒ.
  • เบกเบฑเบ™เบšเปเปˆเบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒเบˆเบฐเป€เบฎเบฑเบ”เปเบ™เบงเปƒเบ”เบเบฑเบšเบซเบ™เป‰เบฒเบ—เบตเปˆเบšเปเปˆเบขเบนเปˆเปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡เป„เบŸเบฅเปŒเปเบฅเบฐเบ›เปˆเบฝเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบกเบฑเบ™. เบ–เป‰เบฒเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบซเบ™เป‰เบฒเบซเบผเบธเบ”เบฅเบปเบ‡, เบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบกเบฑเบ™เบ›เปˆเบญเบเบญเบญเบเบกเบฒเบˆเบฐเบซเบฒเบเป„เบ›. เบ–เป‰เบฒเบ‚เบฐเบซเบ™เบฒเบ”เบซเบ™เป‰เบฒเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบŠเบญเบเบซเบฒเบšเปˆเบญเบ™เปƒเบซเบกเปˆเปƒเบ™เป„เบŸเบฅเปŒเบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™.
  • เบ–เป‰เบฒเบซเบ™เป‰เบฒเปƒเบ”เบซเบ™เบถเปˆเบ‡เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเป‚เบ”เบเบˆเปเบฒเบ™เบงเบ™ bytes เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบซเบผเบฒเบเบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบšเบฅเบฑเบญเบเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฒเบ™เบญเปˆเบฒเบ™เบซเบผเบทเบ‚เบฝเบ™เบกเบฑเบ™เบˆเบฐเบ•เป‰เบญเบ‡เปเบ•เบฐเปƒเบชเปˆเบšเบฅเบฑเบญเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบญเบตเบเบญเบฑเบ™เบซเบ™เบถเปˆเบ‡, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.

เป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡, เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒเบ‚เบญเบ‡เปเบœเปˆเบ™เปƒเบ™ Apache Ignite เปƒเบŠเป‰เบเบปเบ™เป„เบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒเป„เบŸเบฅเปŒ sparse. เป„เบŸเบฅเปŒเบเบฐเปเบˆเบเบเบฐเบˆเบฒเบเปเบกเปˆเบ™เบญเบฑเบ™เปœเบถเปˆเบ‡เบ—เบตเปˆเบšเบฒเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบšเปเปˆเบกเบตเบชเบนเบ™เบชเบฒเบกเบฒเบ”เปเบฒเบเป€เบ›เบฑเบ™ "เบฎเบน". เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบšเปเปˆเบกเบตเบšเบฅเบฑเบญเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปƒเบ”เบˆเบฐเบ–เบทเบเบˆเบฑเบ”เบชเบฑเบ™เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบฎเบนเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เป€เบฎเบฑเบ”เปƒเบซเป‰เบ›เบฐเบซเบเบฑเบ”เบžเบทเป‰เบ™เบ—เบตเปˆเบ”เบดเบ”.

เบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบซเบ”เบœเบปเบ™เบงเปˆเบฒเป€เบžเบทเปˆเบญเบ›เบปเบ”เบ›เปˆเบญเบเบšเบฅเบฑเบญเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ, เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบฎเบนเบ•เป‰เบญเบ‡เปƒเบซเบเปˆเบเบงเปˆเบฒเบซเบผเบทเป€เบ—เบปเปˆเบฒเบเบฑเบšเบšเบฅเบฑเบญเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ, เป€เบŠเบดเปˆเบ‡เบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบซเบ™เป‰เบฒเปเบฅเบฐ Apache Ignite: เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเปƒเบ”เป†, เบ‚เบฐเปœเบฒเบ”เบ‚เบญเบ‡เปœเป‰เบฒเบˆเบฐเบ•เป‰เบญเบ‡เปƒเบซเบเปˆเบเบงเปˆเบฒเบ‚เบฐเปœเบฒเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบขเปˆเบฒเบ‡เป€เบ‚เบฑเป‰เบกเบ‡เบงเบ”. เบ–เป‰เบฒเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบซเบ™เป‰เบฒเป€เบ—เบปเปˆเบฒเบเบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบšเบฅเบฑเบญเบ, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เบปเบ”เบ›เปˆเบญเบเบšเบฅเบฑเบญเบเบ”เบฝเบงเป„เบ”เป‰, เป€เบžเบฒเบฐเบงเปˆเบฒเป€เบžเบทเปˆเบญเบ›เบปเบ”เบ›เปˆเบญเบเบšเบฅเบฑเบญเบเบ”เบฝเบง, เบซเบ™เป‰เบฒเบ—เบตเปˆเบ–เบทเบเบšเบตเบšเบญเบฑเบ”เบ•เป‰เบญเบ‡เบ„เบญเบšเบ„เบญเบ‡ 0 เป„เบšเบ•เปŒ. เบ–เป‰เบฒเบ‚เบฐเบซเบ™เบฒเบ”เบซเบ™เป‰เบฒเป€เบ—เบปเปˆเบฒเบเบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡ 2 เบซเบผเบท 4 เบšเบฅเบฑเบญเบ, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบฒเบกเบฒเบ”เบ›เปˆเบญเบเบ•เบปเบงเป„เบ”เป‰เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบซเบ™เบถเปˆเบ‡เบšเบฅเบฑเบญเบเบ–เป‰เบฒเบซเบ™เป‰เบฒเป€เบงเบฑเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ–เบทเบเบšเบตเบšเบญเบฑเบ”เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบ 50% เบซเบผเบท 75% เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบชเบธเบ”เบ—เป‰เบฒเบเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบเบปเบ™เป„เบ: เป€เบกเบทเปˆเบญเบ‚เบฝเบ™เบซเบ™เป‰เบฒเปƒเบชเปˆเปเบœเปˆเบ™, เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเปเบกเปˆเบ™เป€เบฎเบฑเบ”เป€เบžเบทเปˆเบญเบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒ. เบ–เป‰เบฒเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเบ–เบทเบเบšเบตเบšเบญเบฑเบ”เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบšเบฅเบฑเบญเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™เบ–เบทเบเบ›เบปเบ”เบ›เปˆเบญเบ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบซเบ™เป‰เบฒเป€เบงเบฑเบšเบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™เปเบšเบšเบŸเบญเบกเบ—เบตเปˆเบ–เบทเบเบšเบตเบšเบญเบฑเบ”, เปเบฅเบฐ "เบ‚เบธเบก" เปเบกเปˆเบ™เป€เบฎเบฑเบ”เปเบ—เบ™เบšเบฅเบฑเบญเบเบ—เบตเปˆเบ–เบทเบเบ›เบปเบ”เบ›เปˆเบญเบ (เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบšเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. fallocate() เบเบฑเบšเบ—เบธเบ‡ punch hole). เบ–เป‰เบฒเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเบ–เบทเบเบšเบตเบšเบญเบฑเบ”เบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบšเบฅเบฑเบญเบเบ–เบทเบเบ›เบปเบ”เบ›เปˆเบญเบ, เบซเบ™เป‰เบฒเบˆเบฐเบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰, เบšเปเปˆเป„เบ”เป‰เบšเบตเบšเบญเบฑเบ”. เบเบฒเบ™เบŠเบปเบ”เป€เบŠเบตเบเบซเบ™เป‰เบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเบ„เบดเบ”เป„เบฅเปˆเปเบšเบšเบ”เบฝเบงเบเบฑเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”, เป‚เบ”เบเบเบฒเบ™เบ„เบนเบ™เบ”เบฑเบ”เบชเบฐเบ™เบตเบซเบ™เป‰เบฒเป‚เบ”เบเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบซเบ™เป‰เบฒ. เบšเปเปˆเบกเบตเบเบฒเบ™เบเบปเบเบเป‰เบฒเบเบ‚เบญเบ‡เบซเบ™เป‰เบฒเปเบกเปˆเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡. เบเบฒเบ™เบŠเบปเบ”เป€เบŠเบตเบเบซเบ™เป‰เบฒ, เบ„เบทเบเบฑเบ™เบเบฑเบšเบšเปเปˆเบกเบตเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”, เบ•เบปเบเบขเบนเปˆเปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡เบšเบฅเบฑเบญเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ.

เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ‚เปเป‰เบกเบนเบ™เปƒเบ™ Apache Ignite. เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡ Sber

เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™, Ignite เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเปเบ•เบเบซเบฑเบเบžเบฒเบเปƒเบ•เป‰ Linux OS; เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒเบ‚เบญเบ‡เปเบœเปˆเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เบžเบฝเบ‡เปเบ•เปˆเป€เบกเบทเปˆเบญเปƒเบŠเป‰ Ignite เปƒเบ™เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ™เบตเป‰.

เบชเบนเบ”เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒเปเบœเปˆเบ™: ZSTD, LZ4, Snappy. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบกเบตเป‚เบซเบกเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ (SKIP_GARBAGE), เป€เบŠเบดเปˆเบ‡เบžเบฝเบ‡เปเบ•เปˆเบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เบขเบนเปˆเปƒเบ™เบซเบ™เป‰เบฒเบ–เบทเบเบ–เบดเป‰เบกเบญเบญเบเป‚เบ”เบเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญ, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เป‚เบซเบผเบ”เปƒเบ™ CPU เป€เบกเบทเปˆเบญเบ—เบฝเบšเบเบฑเบšเบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰.

เบœเบปเบ™เบเบฐเบ—เบปเบšเบ”เป‰เบฒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”

เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบšเปเปˆเป„เบ”เป‰เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบงเบฑเบ”เปเบ—เบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบˆเบดเบ‡, เป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰เบเบปเบ™เป„เบเบ™เบตเป‰เปƒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”, เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบ„เบฒเบ”เป€เบ”เบปเบฒเป„เบ”เป‰เปƒเบ™เบ—เบฒเบ‡เบ—เบดเบ”เบชเบฐเบ”เบตเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบนเบ™เป€เบชเบเบšเปˆเบญเบ™เปƒเบ”เปเบฅเบฐเบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบŠเบฐเบ™เบฐ.

เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบˆเบทเปˆเบˆเปเบฒเบงเปˆเบฒเบซเบ™เป‰เบฒเป€เบงเบฑเบšเบ–เบทเบเบญเปˆเบฒเบ™เปเบฅเบฐเบ‚เบฝเบ™เปเบ™เบงเปƒเบ”เป€เบกเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡:

  • เป€เบกเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบญเปˆเบฒเบ™, เบกเบฑเบ™เบ–เบทเบเบ„เบปเป‰เบ™เบซเบฒเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เปƒเบ™ RAM; เบ–เป‰เบฒเบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเบšเปเปˆเบชเปเบฒเป€เบฅเบฑเบ”, เบซเบ™เป‰เบฒเบˆเบฐเบ–เบทเบเป‚เบซเบฅเบ”เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ RAM เบˆเบฒเบเปเบœเปˆเบ™เป‚เบ”เบเบซเบปเบงเบ‚เปเป‰เบ”เบฝเบงเบเบฑเบ™เบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบญเปˆเบฒเบ™.
  • เป€เบกเบทเปˆเบญเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ‚เบฝเบ™เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”, เบซเบ™เป‰เบฒเปƒเบ™ RAM เบ–เบทเบเบซเบกเบฒเบเบงเปˆเบฒเป€เบ›เบทเป‰เบญเบ™, เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบงเบฑเบšเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เปƒเบ™เปเบœเปˆเบ™เบ—เบฑเบ™เบ—เบตเป‚เบ”เบเบเบฐเบ—เบนเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ‚เบฝเบ™. เปœเป‰เบฒเป€เบ›เบทเป‰เบญเบ™เบ—เบฑเบ‡เปเบปเบ”เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เปƒเบ™เปเบœเปˆเบ™เบžเบฒเบเบซเบผเบฑเบ‡เปƒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบเบงเบ”เบเบฒเปƒเบ™เบเบฐเบ—เบนเป‰เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบญเปˆเบฒเบ™เปเบกเปˆเบ™:

  • เปƒเบ™เบ—เบฒเบ‡เบšเบงเบ (เบ”เบดเบช IO), เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบ‚เบญเบ‡เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เบญเปˆเบฒเบ™เบฅเบฐเบšเบปเบšเบšเบฅเบฑเบญเบ.
  • เบฅเบปเบš (CPU), เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เป‚เบซเบผเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบ”เบเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบเบฐเปเบˆเบเบเบฐเบˆเบฒเบ. เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบงเปˆเบฒเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™ IO เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบˆเบฐเบ›เบฒเบเบปเบ”เบ‚เบถเป‰เบ™เป‚เบ”เบ implicitly เบ—เบตเปˆเบ™เบตเป‰เป€เบžเบทเปˆเบญเบŠเปˆเบงเบเบ›เบฐเบขเบฑเบ”เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒ sparse เบชเบฐเบฅเบฑเบšเบชเบฑเบšเบŠเป‰เบญเบ™เบซเบผเบฒเบ (เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ, เบ‚เป‰เบญเบเบšเปเปˆเบ„เบธเป‰เบ™เป€เบ„เบตเบเบเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เป„เบŸเบฅเปŒ sparse เป€เบฎเบฑเบ”เบงเบฝเบ).
  • เบฅเบปเบš (CPU), เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐ decompress เบซเบ™เป‰เบฒ.
  • เบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ‚เบฝเบ™.
  • เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบเบงเบ”เบเบฒ (เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบญเปˆเบฒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™):
  • เปƒเบ™เบ—เบฒเบ‡เบšเบงเบ (เบ”เบดเบช IO), เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบ‚เบญเบ‡เบˆเปเบฒเบ™เบงเบ™เบšเบฅเบฑเบญเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบ‚เบฝเบ™.
  • เบฅเบปเบš (CPU, เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เปเบœเปˆเบ™ IO), เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเปเบ•เบเปเบเบ.
  • เบฅเบปเบš (CPU), เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒ.

เบ”เป‰เบฒเบ™เปƒเบ”เบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบˆเบฐเบ›เบฒเบเบ‚เบฐเบซเบ™เบฒเบ”? เบ™เบตเป‰เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบซเบผเบฒเบ, เปเบ•เปˆเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒ inclined เป€เบŠเบทเปˆเบญเบงเปˆเบฒเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒ disk เบชเปˆเบงเบ™เบซเบผเบฒเบเบญเบฒเบ”เบˆเบฐเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบŠเบธเบ”เป‚เบŠเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปƒเบ™เบฅเบฐเบšเบปเบšเบชเปˆเบงเบ™เปƒเบซเบเปˆ. เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเปˆเบฝเบงเบเบฑเบš DBMSs เบญเบทเปˆเบ™เป†เบ—เบตเปˆเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบเบฐเปเบˆเบเบเบฐเบˆเบฒเบเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เบชเบฐเบšเบฑเบšเบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆเบ‚เบญเบ‡ Apache Ignite เบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒเปเบœเปˆเบ™เปเบกเปˆเบ™ 2.8 เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ Linux เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™เบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™. เป€เบ›เบตเบ”โ€‹เปƒเบŠเป‰โ€‹เบ‡เบฒเบ™โ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹:

  • เบ•เป‰เบญเบ‡เบกเบตเป‚เบกเบ”เบนเบ™เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เป„เบŸเปƒเบ™เบŠเบฑเป‰เบ™เบฎเบฝเบ™. เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบกเบฑเบ™เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบเบฒเบ™เปเบˆเบเบขเบฒเบ Apache Ignite เปƒเบ™ libs/optional directory เปเบฅเบฐเบšเปเปˆเป„เบ”เป‰เบฅเบงเบกเบขเบนเปˆเปƒเบ™ class-path. เบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเบฒเบ”เบเป‰เบฒเบเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ‚เบถเป‰เบ™เบฅเบฐเบ”เบฑเบšเบซเบ™เบถเปˆเบ‡เป„เบ›เบซเบฒ libs เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบœเปˆเบฒเบ™ ignite.sh เบกเบฑเบ™เบˆเบฐเบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.
  • เบ„เบปเบ‡เบ•เป‰เบญเบ‡เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™ (เป€เบ›เบตเบ”เปƒเบŠเป‰เบœเปˆเบฒเบ™ DataRegionConfiguration.setPersistenceEnabled(true)).
  • เบ‚เบฐเปœเบฒเบ”เปœเป‰เบฒเบˆเบฐเบ•เป‰เบญเบ‡เปƒเบซเบเปˆเบเบงเปˆเบฒเบ‚เบฐเปœเบฒเบ”เบšเบฅเบฑเบญเบเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ (เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบฑเป‰เบ‡เบกเบฑเบ™เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰ DataStorageConfiguration.setPageSize() ).
  • เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐ cache เบ—เบตเปˆเบ‚เปเป‰เบกเบนเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเปเบฒเบ™เบปเบ”เบงเบดเบ—เบตเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เปเบฅเบฐ (เบ—เบฒเบ‡เป€เบฅเบทเบญเบ) เบฅเบฐเบ”เบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ” (เบงเบดเบ—เบตเบเบฒเบ™. CacheConfiguration.setDiskPageCompression() , CacheConfiguration.setDiskPageCompressionLevel()).

เบเบฒเบ™เบšเบตเบšเบญเบฑเบ” WAL

เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ™เบตเป‰

WAL เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เบˆเบถเปˆเบ‡เบ•เป‰เบญเบ‡เบเบฒเบ™? เบชเบฑเป‰เบ™เป†: เบ™เบตเป‰เปเบกเปˆเบ™เบšเบฑเบ™เบ—เบถเบเบ—เบตเปˆเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเป€เบซเบ”เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบซเบ™เป‰เบฒเปƒเบ™เบ—เบตเปˆเบชเบธเบ”. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เบปเป‰เบ™เบ•เปเป€เบžเบทเปˆเบญเปƒเบซเป‰เบชเบฒเบกเบฒเบ”เบŸเบทเป‰เบ™เบ•เบปเบงเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เปƒเบ”เป†, เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเปƒเบซเป‰เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบœเบนเป‰เปƒเบŠเป‰, เบ—เปเบฒเบญเบดเบ”เบ•เป‰เบญเบ‡เบšเบฑเบ™เบ—เบถเบเป€เบซเบ”เบเบฒเบ™เปƒเบ™ WAL, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบง, เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบซเบผเบตเป‰เบ™เบ„เบทเบ™เปƒเบ™เบšเบฑเบ™เบ—เบถเบเปเบฅเบฐเบŸเบทเป‰เบ™เบŸเบนเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบขเปˆเบฒเบ‡เบชเปเบฒเป€เบฅเบฑเบ”เบœเบปเบ™, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เบšเปเปˆเบกเบตเป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเบชเบฐเบ—เป‰เบญเบ™เบขเบนเปˆเปƒเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบซเบ™เป‰เบฒเปƒเบ™เปเบœเปˆเบ™ (เปเบฅเป‰เบงเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบญเบฐเบ—เบดเบšเบฒเบเบงเปˆเบฒเบเบฒเบ™เบ‚เบฝเบ™เบ•เบปเบงเบˆเบดเบ‡เบเบฑเบšเบซเบ™เป‰เบฒเบฎเป‰เบฒเบ™เปเบกเปˆเบ™เป€เบฎเบฑเบ”เปƒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ "เบเบฒเบ™เบเบงเบ”เบชเบญเบš" เบ—เบตเปˆเบกเบตเบเบฒเบ™เบŠเบฑเบเบŠเป‰เบฒเบšเบฒเบ‡เบขเปˆเบฒเบ‡เป‚เบ”เบเบซเบปเบงเบ‚เปเป‰เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ).

เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ™ WAL เบ–เบทเบเปเบšเปˆเบ‡เบญเบญเบเป€เบ›เบฑเบ™เป€เบซเบ”เบœเบปเบ™ เปเบฅเบฐเบ—เบฒเบ‡เบเบฒเบเบเบฐเบžเบฒเบš. Boolean เปเบกเปˆเบ™เบเบฐเปเบˆเปเบฅเบฐเบ„เบธเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡. เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบ - เบชเบฐเบ—เป‰เบญเบ™เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบซเบ™เป‰เบฒเปƒเบ™เบฎเป‰เบฒเบ™เบซเบ™เป‰เบฒ. เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบšเบฑเบ™เบ—เบถเบเบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบšเบšเบฒเบ‡เบเปเบฅเบฐเบ™เบตเบญเบทเปˆเบ™เป†, เบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเปเบกเปˆเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบŸเบทเป‰เบ™เบ•เบปเบงเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบญเบธเบ›เบฐเบ•เบดเป€เบซเบ”เปเบฅเบฐเบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเปเบกเปˆเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เบเบงเบ”เบเบฒเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบชเบธเบ”เบ—เป‰เบฒเบ. เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เปเบฅเบฐเบญเบฐเบ—เบดเบšเบฒเบเบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบšเบšเบ™เบตเป‰, เปเบ•เปˆเบœเบนเป‰เบ—เบตเปˆเบชเบปเบ™เปƒเบˆเบชเบฒเบกเบฒเบ”เบญเป‰เบฒเบ‡เบญเบตเบ‡เป€เบ–เบดเบ‡เบšเบปเบ”เบ„เบงเบฒเบกเบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเปเบฅเป‰เบงเปƒเบ™ Apache Ignite Wiki: Ignite Persistent Store - under the hood.

เบกเบตเบซเบผเบฒเบเบšเบฑเบ™เบ—เบถเบเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบ•เปเปˆเบšเบฑเบ™เบ—เบถเบเบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบซเบ™เบถเปˆเบ‡เปƒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ cache เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบซเบผเบฒเบเบซเบ™เป‰เบฒเปƒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เบซเบ™เป‰เบฒ (เบซเบ™เป‰เบฒเบ—เบตเปˆเบกเบตเบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡, เบซเบ™เป‰เบฒเบ—เบตเปˆเบกเบตเบ”เบฑเบ”เบชเบฐเบ™เบต, เบซเบ™เป‰เบฒเบ—เบตเปˆเบกเบตเบฅเบฒเบเบŠเบทเปˆเบŸเบฃเบต). เปƒเบ™เบšเบฒเบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบชเบฑเบ‡เป€เบ„เบฒเบฐ, เบ‚เป‰เบญเบเบžเบปเบšเบงเปˆเบฒเบšเบฑเบ™เบ—เบถเบเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบ„เบญเบšเบ„เบญเบ‡เป€เบ–เบดเบ‡ 90% เบ‚เบญเบ‡เป„เบŸเบฅเปŒ WAL. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปƒเบŠเป‰เป€เบงเบฅเบฒเบชเบฑเป‰เบ™เบซเบผเบฒเบ (เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เป„เบฅเบเบฐเบซเปˆเบฒเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ”เปˆเบฒเบ™เปเบกเปˆเบ™ 3 เบ™เบฒเบ—เบต). เบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบชเบปเบกเป€เบซเบ”เบชเบปเบกเบœเบปเบ™เบ—เบตเปˆเบˆเบฐเบเปเบฒเบˆเบฑเบ”เบ‚เปเป‰เบกเบนเบ™เบ™เบตเป‰เบซเบผเบฑเบ‡เบˆเบฒเบเบชเบนเบ™เป€เบชเบเบ„เบงเบฒเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบ‚เบญเบ‡เบกเบฑเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบเบปเบ™เป„เบเบเบฒเบ™เบšเบตเบšเบญเบฑเบ” WAL เป€เบฎเบฑเบ”: เบกเบฑเบ™เบเปเบฒเบˆเบฑเบ”เบšเบฑเบ™เบ—เบถเบเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเปเบฅเบฐเบšเบตเบšเบญเบฑเบ”เบšเบฑเบ™เบ—เบถเบเบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเป‚เบ”เบเปƒเบŠเป‰ zip, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ‚เบฐเบซเบ™เบฒเบ”เป„เบŸเบฅเปŒเบซเบผเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ (เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบซเบผเบฒเบเบชเบดเบšเป€เบ—เบทเปˆเบญ).

เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบ, WAL เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบซเบผเบฒเบเบžเบฒเบเบชเปˆเบงเบ™ (10 เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™) เบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบ„เบปเบ‡เบ—เบตเปˆ (64MB เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™), เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบ‚เบฝเบ™เบ—เบฑเบšเปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบงเบปเบ‡เบกเบปเบ™. เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบžเบฒเบเบชเปˆเบงเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เบ–เบทเบเบ•เบทเปˆเบก, เบชเปˆเบงเบ™เบ•เปเปˆเป„เบ›เบˆเบฐเบ–เบทเบเบกเบญเบšเบซเบกเบฒเบเป€เบ›เบฑเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™, เปเบฅเบฐเบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเปˆเบ•เบทเปˆเบกเบˆเบฐเบ–เบทเบเบ„เบฑเบ”เบฅเบญเบเปƒเบชเปˆเปเบŸเป‰เบกเบˆเบฑเบ”เป€เบเบฑเบšเป‚เบ”เบเบซเบปเบงเบ‚เปเป‰เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ. เบเบฒเบ™เบšเบตเบšเบญเบฑเบ” WAL เปƒเบŠเป‰เป„เบ”เป‰เบเบฑเบšเบžเบฒเบเบชเปˆเบงเบ™เบเบฒเบ™เบˆเบฑเบ”เป€เบเบฑเบšเปเบฅเป‰เบง. เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เป€เบ›เบฑเบ™เบเบฐเบ—เบนเป‰เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เบกเบฑเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบ”เปˆเบฒเบ™เปเบฅเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เปƒเบ™เบžเบฒเบเบชเปˆเบงเบ™เบเบฒเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเบฑเบ™เบ—เบถเบเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเปเบกเปˆเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™.

เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ‚เปเป‰เบกเบนเบ™เปƒเบ™ Apache Ignite. เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡ Sber

เบœเบปเบ™เบเบฐเบ—เบปเบšเบ”เป‰เบฒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”

เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เบšเบตเบšเบญเบฑเบ” WAL เปเบฅเปˆเบ™เป€เบ›เบฑเบ™เบเบฐเบ—เบนเป‰เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เบšเปเปˆเบ„เบงเบ™เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเป‚เบ”เบเบเบปเบ‡เบ•เปเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เบ—เบตเปˆเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เปเบ•เปˆเบกเบฑเบ™เบเบฑเบ‡เป€เบญเบปเบฒเบเบฒเบ™เป‚เบซเบผเบ”เบžเบทเป‰เบ™เบซเบฅเบฑเบ‡เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปƒเบชเปˆ CPU (เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”) เปเบฅเบฐเปเบœเปˆเบ™ (เบเบฒเบ™เบญเปˆเบฒเบ™เปเบ•เปˆเบฅเบฐ WAL segment เบˆเบฒเบเบเบฒเบ™เบฎเบงเบšเบฎเบงเบกเปเบฅเบฐเบ‚เบฝเบ™เบชเปˆเบงเบ™เบ—เบตเปˆเบ–เบทเบเบšเบตเบšเบญเบฑเบ”), เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ–เป‰เบฒเบฅเบฐเบšเบปเบšเบเปเบฒเบฅเบฑเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบกเบฑเบ™, เบกเบฑเบ™เบเปเปˆเบˆเบฐเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบšเบตเบšเบญเบฑเบ” WAL เป‚เบ”เบเปƒเบŠเป‰เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ” WalCompactionEnabled ะฒ DataStorageConfiguration (DataStorageConfiguration.setWalCompactionEnabled(true)). เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ DataStorageConfiguration.setWalCompactionLevel(), เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบฅเบฐเบ”เบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบžเปเปƒเบˆเบเบฑเบšเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (BEST_SPEED).

เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบžเบฒเบšเบ–เปˆเบฒเบเปœเป‰เบฒ WAL

เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ™เบตเป‰

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบปเบšเป€เบซเบฑเบ™เปเบฅเป‰เบงเบงเปˆเบฒเปƒเบ™เบšเบฑเบ™เบ—เบถเบ WAL เบ–เบทเบเปเบšเปˆเบ‡เบญเบญเบเป€เบ›เบฑเบ™เป€เบซเบ”เบœเบปเบ™เปเบฅเบฐเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบ. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปเบ•เปˆเบฅเบฐเบซเบ™เป‰เบฒ, เบšเบฑเบ™เบ—เบถเบ WAL เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเปเบกเปˆเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เบซเบ™เป‰เบฒ. เปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™, เบšเบฑเบ™เบ—เบถเบเบ—เบฒเบ‡เบเบฒเบเบฐเบžเบฒเบšเบเบฑเบ‡เปเบšเปˆเบ‡เบญเบญเบเป€เบ›เบฑเบ™ 2 เบ›เบฐเป€เบžเบ”เบเปˆเบญเบเบ„เบท: เบšเบฑเบ™เบ—เบถเบเบžเบฒเบšเปœเป‰เบฒ เปเบฅเบฐเบšเบฑเบ™เบ—เบถเบ delta. เบ—เบธเบเป†เบ„เบฑเป‰เบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ›เปˆเบฝเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปƒเบ™เบซเบ™เป‰เบฒเปเบฅเบฐเป‚เบญเบ™เบกเบฑเบ™เบˆเบฒเบเบชเบฐเบ–เบฒเบ™เบฐเบ—เบตเปˆเบชเบฐเบญเบฒเบ”เป„เบ›เบชเบนเปˆเบชเบฐเบžเบฒเบšเป€เบ›เบทเป‰เบญเบ™, เบชเปเบฒเป€เบ™เบปเบฒเบ„เบปเบšเบ–เป‰เบงเบ™เบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ™เบตเป‰เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™ WAL (เบšเบฑเบ™เบ—เบถเบเบžเบฒเบšเบซเบเปเป‰เบซเบ™เป‰เบฒ). เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ›เปˆเบฝเบ™เบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡ byte เปƒเบ™ WAL, เบšเบฑเบ™เบ—เบถเบเบˆเบฐเปƒเบซเบเปˆเบเบงเปˆเบฒเบ‚เบฐเบซเบ™เบฒเบ”เบซเบ™เป‰เบฒเป€เบฅเบฑเบเบ™เป‰เบญเบ. เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบ›เปˆเบฝเบ™เปเบ›เบ‡เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปƒเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบทเป‰เบญเบ™เปเบฅเป‰เบง, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบšเบฑเบ™เบ—เบถเบ delta เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบถเป‰เบ™เปƒเบ™ WAL, เป€เบŠเบดเปˆเบ‡เบชเบฐเบ—เป‰เบญเบ™เปƒเบซเป‰เป€เบซเบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป€เบกเบทเปˆเบญเบ—เบฝเบšเปƒเบชเปˆเบเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเบ‚เบญเบ‡เบซเบ™เป‰เบฒ, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบซเบ™เป‰เบฒเบ—เบฑเบ‡เบซเบกเบปเบ”. เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เบ›เบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เบซเบ™เป‰เบฒเบˆเบฒเบเป€เบ›เบทเป‰เบญเบ™เป„เบ›เบชเบฐเบญเบฒเบ”เปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบเบงเบ”เบเบฒ, เบ—เบฑเบ™เบ—เบตเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบˆเบธเบ”เบเบงเบ”เบเบฒ, เป€เบเบทเบญเบšเบ—เบธเบเบšเบฑเบ™เบ—เบถเบเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบˆเบฐเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบžเบฝเบ‡เปเบ•เปˆเบžเบฒเบšเบ–เปˆเบฒเบเบ‚เบญเบ‡เบซเบ™เป‰เบฒ (เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบซเบ™เป‰เบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบฑเบ™เบ—เบตเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบ”เปˆเบฒเบ™เปเบกเปˆเบ™เบชเบฐเบญเบฒเบ”). , เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเป€เบ‚เบปเป‰เบฒเบซเบฒเบˆเบธเบ”เบเบงเบ”เบเบฒเบ•เปเปˆเป„เบ›, เบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบšเบฑเบ™เบ—เบถเบ delta เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบ•เบตเบšเป‚เบ•เปเบฅเบฐเบ•เบฑเป‰เบ‡เปƒเบซเบกเปˆเบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡เปƒเบ™เบ•เบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบ”เปˆเบฒเบ™เบ•เปเปˆเป„เบ›. เบเบฒเบ™เบงเบฑเบ”เปเบ—เบเปƒเบ™เบšเบฒเบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบชเบฑเบ‡เป€เบ„เบฒเบฐเป„เบ”เป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบชเปˆเบงเบ™เปเบšเปˆเบ‡เบ‚เบญเบ‡เบžเบฒเบšเบ–เปˆเบฒเบเบซเบ™เป‰เบฒเปƒเบ™เบ›เบฐเบฅเบดเบกเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบšเบฑเบ™เบ—เบถเบเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเป€เบ–เบดเบ‡ 90%.

เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒ WAL เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบšเบตเบšเบญเบฑเบ”เบžเบฒเบšเบซเบเปเป‰เบซเบ™เป‰เบฒเป‚เบ”เบเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบก (เป€เบšเบดเปˆเบ‡เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒเปเบœเปˆเบ™). เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เปƒเบ™ WAL, เบšเบฑเบ™เบ—เบถเบเบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบšเปƒเบ™เป‚เบซเบกเบ” append-only เปเบฅเบฐเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบœเบนเบเบกเบฑเบ”เบšเบฑเบ™เบ—เบถเบเบเบฑเบšเบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰, เบšเปเปˆเป€เบซเบกเบทเบญเบ™เบเบฑเบšเบเบปเบ™เป„เบเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒเบ‚เบญเบ‡เปเบœเปˆเบ™, เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเป„เบŸเบฅเปŒ sparse. เบ—เบฑเบ‡เบซเบกเบปเบ”; เบ•เบฒเบกเบ™เบฑเป‰เบ™, เบเบปเบ™เป„เบเบ™เบตเป‰เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบขเบนเปˆเปƒเบ™ OS Linux เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบกเบฑเบ™เบšเปเปˆเบชเปเบฒเบ„เบฑเบ™เบ•เปเปˆเบžเบงเบเป€เบฎเบปเบฒเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒเป€เบงเบฑเบšเป„เบ”เป‰เบซเบผเบฒเบเบ›เบฒเบ™เปƒเบ”. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ›เบปเบ”เบ›เปˆเบญเบ 1 byte, เบ™เบตเป‰เปเบกเปˆเบ™เบœเบปเบ™เบšเบงเบเปเบฅเป‰เบงเปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบšเบฑเบ™เบ—เบถเบเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ–เบทเบเบšเบตเบšเบญเบฑเบ”เบขเบนเปˆเปƒเบ™ WAL, เบšเปเปˆเบ„เบทเบเบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒเบ‚เบญเบ‡เปเบœเปˆเบ™, เบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบŠเปˆเบงเบเบ›เบฐเบขเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเบ–เบทเบเบšเบตเบšเบญเบฑเบ”เบžเบฝเบ‡เปเบ•เปˆเบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบ›เบปเบ”เบ›เปˆเบญเบเบซเบผเบฒเบเบเบงเปˆเบฒ 1 เบšเบฅเบฑเบญเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ.

เบซเบ™เป‰เบฒเปเบกเปˆเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบšเบตเบšเบญเบฑเบ”เป„เบ”เป‰เบชเบนเบ‡, เบชเปˆเบงเบ™เปเบšเปˆเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเปƒเบ™เบ›เบฐเบฅเบดเบกเบฒเบ™ WAL เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบชเบนเบ‡เบซเบผเบฒเบ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เบฎเบนเบšเปเบšเบšเป„เบŸเบฅเปŒ WAL เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบกเบฑเบ™. เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”, เบฅเบงเบกเบ—เบฑเบ‡เบšเบฑเบ™เบ—เบถเบเบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™, เบˆเบฐเบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบฎเบนเบšเปเบšเบšเปเบฅเบฐเบเบฒเบ™เบชเบนเบ™เป€เบชเบเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบšเปเบฅเบดเป‚เบžเบเบžเบฒเบเบ™เบญเบเบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเบกเบตเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเปƒเบ™เบšเบฑเบ™เบ—เบถเบเบ—เบตเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™, เปเบ•เปˆเบˆเบฐเบšเปเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เป„เบŸเบฅเปŒ.

เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เปœเป‰เบฒเบ”เบดเบชเบเปŒ, เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบžเบฒเบšเบ–เปˆเบฒเบเปœเป‰เบฒ WAL เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰ ZSTD, LZ4, Snappy compression algorithms, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป‚เปเบ” SKIP_GARBAGE.

เบœเบปเบ™เบเบฐเบ—เบปเบšเบ”เป‰เบฒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”

เบกเบฑเบ™เบšเปเปˆเบเบฒเบเบ—เบตเปˆเบˆเบฐเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบงเปˆเบฒเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบžเบฒเบšเบ–เปˆเบฒเบเบซเบ™เป‰เบฒ WAL เป‚เบ”เบเบเบปเบ‡เบกเบตเบœเบปเบ™เบ•เปเปˆเบเบฐเบ—เบนเป‰เบ—เบตเปˆเบ‚เบฝเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบชเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เบซเบ™เป‰เบฒ, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบเบฐเบ—เบนเป‰เป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™เบ—เบตเปˆเบ›เปˆเบฝเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒ. เบเบฒเบ™เบญเปˆเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบˆเบฒเบ WAL เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบžเบฝเบ‡เปเบ•เปˆเบ„เบฑเป‰เบ‡เบ”เบฝเบง, เปƒเบ™เป€เบงเบฅเบฒเบ™เบตเป‰ node เป„เบ”เป‰เบ–เบทเบเบเบปเบเบ‚เบถเป‰เบ™เบกเบฒเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡ (เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบ–เป‰เบฒเบกเบฑเบ™เบ•เบปเบเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบˆเบธเบ”เบเบงเบ”เบเบฒ).

เบ™เบตเป‰เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบเบฐเบ—เบนเป‰เบ—เบตเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ•เปเปˆเป„เบ›เบ™เบตเป‰: เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบšเบ—เบฒเบ‡เบฅเบปเบš (CPU) เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒเปเบ•เปˆเบฅเบฐเบ„เบฑเป‰เบ‡เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™เปƒเบชเปˆเปเบœเปˆเบ™, เปเบฅเบฐเบœเบปเบ™เบเบฐเบ—เบปเบšเบ—เบฒเบ‡เบšเบงเบ (disk IO) เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™เบˆเปเบฒเบ™เบงเบ™. เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบฅเบฒเบโ€‹เบฅเบฑเบโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰: เบ–เป‰เบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบšเบปเบšเบ–เบทเบเบˆเปเบฒเบเบฑเบ”เป‚เบ”เบ CPU, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบŠเบกเป€เบฅเบฑเบเบ™เป‰เบญเบ, เบ–เป‰เบฒเบกเบฑเบ™เบ–เบทเบเบˆเปเบฒเบเบฑเบ”เป‚เบ”เบ disk I / O, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™.

เป‚เบ”เบเบ—เบฒเบ‡เบญเป‰เบญเบก, เบเบฒเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™เบ‚เบฐเบซเบ™เบฒเบ” WAL เบเบฑเบ‡เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบš (เปƒเบ™เบ—เบฒเบ‡เบšเบงเบ) streams เบ—เบตเปˆ dump เบžเบฒเบเบชเปˆเบงเบ™ WAL เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฎเบงเบšเบฎเบงเบกเปเบฅเบฐเบชเบฒเบเบ™เป‰เปเบฒ WAL compaction.

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบˆเบดเบ‡เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป‚เบ”เบเบ™เปเบฒเปƒเบŠเป‰เบ‚เปเป‰เบกเบนเบ™เบชเบฑเบ‡เป€เบ„เบฒเบฐเป„เบ”เป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เป€เบฅเบฑเบเบ™เป‰เบญเบ (เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™ 10%-15%, latency เบซเบผเบธเบ”เบฅเบปเบ‡ 10%-15%).

เบงเบดเบ—เบตเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ

เป€เบงเบตเบŠเบฑเบ™เบ•เปเปˆเบฒเบชเบธเบ” Apache Ignite: 2.8. เป€เบ›เบตเบ”โ€‹เปƒเบŠเป‰โ€‹เบ‡เบฒเบ™โ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹:

  • เบ•เป‰เบญเบ‡เบกเบตเป‚เบกเบ”เบนเบ™เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เป„เบŸเปƒเบ™เบŠเบฑเป‰เบ™เบฎเบฝเบ™. เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบกเบฑเบ™เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบเบฒเบ™เปเบˆเบเบขเบฒเบ Apache Ignite เปƒเบ™ libs/optional directory เปเบฅเบฐเบšเปเปˆเป„เบ”เป‰เบฅเบงเบกเบขเบนเปˆเปƒเบ™ class-path. เบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเบฒเบ”เบเป‰เบฒเบเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ‚เบถเป‰เบ™เบฅเบฐเบ”เบฑเบšเบซเบ™เบถเปˆเบ‡เป„เบ›เบซเบฒ libs เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบœเปˆเบฒเบ™ ignite.sh เบกเบฑเบ™เบˆเบฐเบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.
  • เบ„เบปเบ‡เบ•เป‰เบญเบ‡เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™ (เป€เบ›เบตเบ”เปƒเบŠเป‰เบœเปˆเบฒเบ™ DataRegionConfiguration.setPersistenceEnabled(true)).
  • เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ•เป‰เบญเบ‡เบ–เบทเบเบ•เบฑเป‰เบ‡เป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ DataStorageConfiguration.setWalPageCompression(), เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ–เบทเบเบ›เบดเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (เป‚เปเบ”เบ›เบดเบ”เปƒเบŠเป‰เบ‡เบฒเบ™).
  • เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบญเบทเปˆเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบฅเบฐเบ”เบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ DataStorageConfiguration.setWalPageCompression(), เป€เบšเบดเปˆเบ‡ javadoc เบชเปเบฒเบฅเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบ„เปˆเบฒเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเป‚เบซเบกเบ”.

เบชเบฐเบซเบฅเบธเบš

เบเบปเบ™เป„เบเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเปƒเบ™ Apache Ignite เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฒเบ”เป€เบŠเบดเปˆเบ‡เบเบฑเบ™เปเบฅเบฐเบเบฑเบ™, เปเบ•เปˆเบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เปƒเบ”เป†เบ‚เบญเบ‡เบžเบงเบเบกเบฑเบ™เบเปเปˆเป€เบ›เบฑเบ™เบ—เบตเปˆเบเบญเบกเบฎเบฑเบš. เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเป€เบฎเบฑเบ”เบงเบฝเบเบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เป€เบชเบเบชเบฐเบฅเบฐเปƒเบ™เป€เบงเบฅเบฒเบ™เปเบฒเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™. เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบซเบ™เป‰เบฒเปเบœเปˆเบ™เบ–เบทเบเบญเบญเบเปเบšเบšเป€เบžเบทเปˆเบญเบšเบตเบšเบญเบฑเบ”เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ•เบปเป‰เบ™เบ•เปเปเบฅเบฐเบชเบฒเบกเบฒเบ”เปƒเบซเป‰เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบเบฒเบ‡. เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบžเบฒเบšเบ–เปˆเบฒเบเปœเป‰เบฒ WAL เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบฅเบฐเบ”เบฑเบšเบชเบฐเป€เบฅเปˆเบเบ‚เบญเบ‡เป„เบŸเบฅเปŒ WAL, เปเบฅเบฐเบชเปˆเบงเบ™เบซเบผเบฒเบเบญเบฒเบ”เบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš. เบเบฒเบ™เบšเบตเบšเบญเบฑเบ” WAL เบˆเบฐเบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ—เบฒเบ‡เบšเบงเบเบ•เปเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เปเบ•เปˆเบˆเบฐเบซเบผเบธเบ”เบฅเบปเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เป„เบŸเบฅเปŒ WAL เป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เบ–เบญเบ™เบšเบฑเบ™เบ—เบถเบเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™