เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ‚เปเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบ—เปˆเบฒเบ™เบญเปˆเบฒเบ™เบšเบปเบ”เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบ‚เบญเบ‡ 2019 เป‚เบ”เบ Andrey Borodin "เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบเบฑเบš WAL-G เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019?"

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบชเบฐเบšเบฒเบเบ”เบตเบ—เบธเบเบ„เบปเบ™! เบ‚เป‰เบญเบเบŠเบทเปˆ Andrey Borodin. เบ‚เป‰เบญเบเป€เบ›เบฑเบ™เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบขเบนเปˆ Yandex. เบ‚เป‰เบญเบเบชเบปเบ™เปƒเบˆ PostgreSQL เบ•เบฑเป‰เบ‡เปเบ•เปˆเบ›เบต 2016, เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบ‚เป‰เบญเบเป„เบ”เป‰เบชเบปเบ™เบ—เบฐเบ™เบฒเบเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบฅเบฐเบžเบงเบเป€เบ‚เบปเบฒเป€เบงเบปเป‰เบฒเบงเปˆเบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบ - เป€เบˆเบปเป‰เบฒเป€เบญเบปเบฒเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เปเบฅเบฐเบชเป‰เบฒเบ‡เบกเบฑเบ™, เปเบฅเบฐเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบ. เปเบฅเบฐเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ™เบฑเป‰เบ™เบกเบฒเบ‚เป‰เบญเบเบšเปเปˆเบชเบฒเบกเบฒเบ”เบขเบธเบ”เป„เบ”เป‰ - เบ‚เป‰เบญเบเบ‚เบฝเบ™เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodinเบซเบ™เบถเปˆเบ‡เปƒเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบญเบเบเปเบฒเบฅเบฑเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเปเบกเปˆเบ™เบฅเบฐเบšเบปเบšเบชเปเบฒเบฎเบญเบ‡. WAL-G. เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เปเบฅเป‰เบง, เบขเบนเปˆ Yandex เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเบเปˆเบฝเบงเบเบฑเบšเบฅเบฐเบšเบปเบšเบชเปเบฒเบฎเบญเบ‡เปƒเบ™ PostgreSQL เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ”เบปเบ™เบ™เบฒเบ™. เปเบฅเบฐเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเบขเบนเปˆเปƒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”เบŠเบธเบ”เบ‚เบญเบ‡เบซเบปเบเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™. เปเบฅเบฐเบ—เบธเบเป†เบ›เบตเบžเบงเบเป€เบ‚เบปเบฒเบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบฅเบฑเบเบ™เป‰เบญเบ, เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบฅเบฑเบเบ™เป‰เบญเบ, เปเบฅเบฐเบเบฒเบเป€เบ›เบฑเบ™เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบซเบผเบฒเบเบ‚เบถเป‰เบ™.

เปเบ•เปˆเปƒเบ™เบกเบทเป‰เบ™เบตเป‰เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบเปˆเบฝเบงเบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบฎเบฑเบ”, เปเบ•เปˆเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™. เบกเบตเบˆเบฑเบเบ„เบปเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เป„เบ”เป‰เป€เบšเบดเปˆเบ‡เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเบเปˆเบฝเบงเบเบฑเบš WAL-G เปเบฅเป‰เบง? เบกเบฑเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เบ”เบตเบ—เบตเปˆเบ„เบปเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบ™เป‰เบญเบเบซเบ™เบถเปˆเบ‡เบšเปเปˆเป„เบ”เป‰เป€เบšเบดเปˆเบ‡, เป€เบžเบฒเบฐเบงเปˆเบฒเบ‚เป‰เบญเบเบˆเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบชเบธเบ”.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบ–เป‰เบฒเบ—เบฑเบ™เบ—เบตเบ—เบฑเบ™เปƒเบ”เป€เบˆเบปเป‰เบฒเบกเบตเบเบธเปˆเบก PostgreSQL, เปเบฅเบฐเบ‚เป‰เบญเบเบ„เบดเบ”เบงเปˆเบฒเบ—เบธเบเบ„เบปเบ™เบกเบตเบชเบญเบ‡เบชเบฒเบกเบญเบฑเบ™เบเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒ, เปเบฅเบฐเบ—เบฑเบ™เบ—เบตเบ—เบฑเบ™เปƒเบ”เบšเปเปˆเบกเบตเบฅเบฐเบšเบปเบšเบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบšเปˆเบญเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™ S3 เบซเบผเบท Google Cloud เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบกเบฒเบขเบทเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบฅเบฐเป€เบญเบปเบฒเบฅเบฐเบซเบฑเบ”เบชเบปเปˆเบ‡เป€เบชเบตเบกเบเบฒเบ™เบ‚เบฒเบเบชเปเบฒเบฅเบฑเบš Yandex Object Storage, เป€เบŠเบดเปˆเบ‡เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบš S3.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบˆเบฒเบเบ™เบฑเป‰เบ™เบชเป‰เบฒเบ‡ Bucket. เบกเบฑเบ™เป€เบ›เบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบ–เบฑเบ‡เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบชเป‰เบฒเบ‡เบœเบนเป‰เปƒเบŠเป‰เบšเปเบฅเบดเบเบฒเบ™.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ”เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปƒเบŠเป‰เบšเปเบฅเบดเบเบฒเบ™: aws-s3-key.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบ”เบฒเบงเป‚เบซเบฅเบ”เบฅเบธเป‰เบ™เบ—เบตเปˆเปเบฑเป‰เบ™เบ„เบปเบ‡เบซเบผเป‰เบฒเบชเบธเบ”เบ‚เบญเบ‡ WAL-G.

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

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เป„เบ”เป‰เบ”เบฒเบงเป‚เบซเบฅเบ” WAL-G, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ "เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™" เบ‡เปˆเบฒเบเบ”เบฒเบ, เบœเปˆเบฒเบ™เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก. เปเบฅเบฐเบกเบฑเบ™เบˆเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš Object Storage เปเบฅเบฐเบšเบญเบเบ—เปˆเบฒเบ™เบงเปˆเบฒเบ—เปˆเบฒเบ™เบกเบตเบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ”เปเบ”เปˆ. เบ—เปเบฒเบญเบดเบ”, เปเบ™เปˆเบ™เบญเบ™, เบ—เปˆเบฒเบ™เบšเปเปˆเบ„เบงเบ™เบกเบตเบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™. เบˆเบธเบ”เบ‚เบญเบ‡เบชเบฐเป„เบฅเป‰เบ™เบตเป‰เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ. เบ™เบตเป‰เปเบกเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ console เบ—เบตเปˆเบเบญเบกเบฎเบฑเบšเบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบเปˆเบญเบ.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เป€เบงเบปเป‰เบฒเบงเปˆเบฒ "backup-push" เปƒเบ™ WAL-G เปเบฅเบฐเบฅเบฐเบšเบธเปƒเบ™ WAL-G เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆ pgdata เบ‚เบญเบ‡เบเบธเปˆเบกเบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เปเบฅเบฐเบชเปˆเบงเบ™เบซเบผเบฒเบเบญเบฒเบ”เบˆเบฐ, PostgreSQL เบˆเบฐเบšเบญเบเบ—เปˆเบฒเบ™, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบกเบตเบฅเบฐเบšเบปเบšเบชเปเบฒเบฎเบญเบ‡, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰ "เป‚เบซเบกเบ”เบฎเบงเบšเบฎเบงเบก".

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ›เบ—เบตเปˆเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบฅเบฐเป€เบ›เบตเบ” "archive_mode = on" เปเบฅเบฐเป€เบžเบตเปˆเบก "archive_command", เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบเปˆเบญเบเปƒเบ™ WAL-G. เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบ„เบปเบ™เบกเบฑเบเปƒเบŠเป‰ bar scripts เปƒเบ™เบซเบปเบงเบ‚เปเป‰เบ™เบตเป‰เปเบฅเบฐเบซเปเปˆเบกเบฑเบ™เบ›เบฐเบกเบฒเบ™ WAL-G. เบเบฐเบฅเบธเบ™เบฒเบขเปˆเบฒเป€เบฎเบฑเบ”เบญเบฑเบ™เบ™เบตเป‰. เปƒเบŠเป‰เบŸเบฑเบ‡เบŠเบฑเบ™เบ—เบตเปˆเบžเบปเบšเปƒเบ™ WAL-G. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ‚เบฒเบ”เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡, เบ‚เบฝเบ™เป„เบ›เบ—เบตเปˆ GitHub. WAL-G เบ–เบทเบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ”เบฝเบงเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ archive_command.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ WAL-G เบชเปˆเบงเบ™เปƒเบซเบเปˆเป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบเบธเปˆเบกเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡เปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ Yandex.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เปเบฅเบฐเบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบกเบฑเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™ topology เบ‚เบญเบ‡เบซเบ™เบถเปˆเบ‡ Master เปเบฅเบฐ replications เบซเบผเบฒเบ. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบกเบฑเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบชเปเบฒเป€เบ™เบปเบฒเบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™ Yandex Object Storage.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

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

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบด, เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบชเปเบฒเบฎเบญเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบžเบตเปˆเบก node เปƒเบซเบกเปˆ. เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เบˆเบถเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™? เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบดเบ„เบปเบ™เบˆเบฐเป€เบžเบตเปˆเบก node เปƒเปเปˆเปƒเบชเปˆ cluster เป€เบžเบฒเบฐเบงเปˆเบฒ cluster เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเบšเปเปˆเบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เบญเปˆเบฒเบ™เป„เบ”เป‰. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เป€เบžเบตเปˆเบก replica เปƒเบซเบกเปˆ. เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเป€เบžเบตเปˆเบกเบเบฒเบ™เป‚เบซเบผเบ”เบˆเบฒเบ pg_basebackup เบเบฑเบš Master, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ Master เบญเบฒเบ”เบˆเบฐเบฅเบปเป‰เบกเบฅเบปเบ‡. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบญเบฑเบšเป‚เบซเบฅเบ” node เปƒเบซเบกเปˆเบขเปˆเบฒเบ‡เป„เบงเบงเบฒเบˆเบฒเบเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™, เบเบฒเบ™เบชเป‰เบฒเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบซเบ™เป‰เบญเบเบชเบธเบ”เปƒเบ™ Master.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เปเบฅเบฐเบญเบตเบเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐ restart Master เป€เบเบปเปˆเบฒเบซเบผเบฑเบ‡เบˆเบฒเบเบ›เปˆเบฝเบ™ Cluster Master เบˆเบฒเบเบชเบนเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบชเบนเบ™เป€เบชเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

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

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

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

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

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

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบญเบธเบ”เบปเบกเบเบฒเบ™เบ•เบปเป‰เบ™เบ•เปเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบเบถเบ”เบซเบกเบฑเป‰เบ™เปเบกเปˆเบ™ WAL-G เบ„เบงเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเบ„เบทเบเบฑเบš balalaika.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

WAL-G เบกเบต 4 เบ„เปเบฒเบชเบฑเปˆเบ‡. เบ™เบตเป‰:

WAL-PUSH โ€“ เบˆเบฑเบ”เป€เบเบฑเบš shaft เป„เบงเป‰.

WAL-FETCH โ€“ เป„เบ”เป‰เบฎเบฑเบš shaft.

BACKUP-PUSH โ€“ เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบชเปเบฒโ€‹เบฎเบญเบ‡โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹.

BACKUP-FETCH โ€“ เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบชเปเบฒโ€‹เบฎเบญเบ‡โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบˆเบฒเบโ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบชเปเบฒโ€‹เบฎเบญเบ‡โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, WAL-G เบเบฑเบ‡เบกเบตเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, i.e. เบฅเบฒเบเบŠเบทเปˆเปเบฅเบฐเบเบฒเบ™เบฅเบถเบšเบšเบฑเบ™เบ—เบถเบเปเบฅเบฐเบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เปƒเบ™เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบซเบ™เบถเปˆเบ‡เปƒเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆเบชเป‰เบฒเบ‡เบชเปเบฒเป€เบ™เบปเบฒ delta.

เบชเปเบฒเป€เบ™เบปเบฒ Delta เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เบชเป‰เบฒเบ‡เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆเบ‚เบญเบ‡เบเบธเปˆเบกเบ—เบฑเบ‡เบซเบกเบปเบ”, เปเบ•เปˆเบงเปˆเบฒเบžเบฝเบ‡เปเบ•เปˆเบซเบ™เป‰เบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™ cluster. เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ™เบตเป‰เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบŸเบทเป‰เบ™เบ•เบปเบงเป‚เบ”เบเปƒเบŠเป‰ WAL. เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบกเป‰เบงเบ™เป€เบ–เบดเบ‡ WAL single-threaded delta backup เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบ™เบงเบฑเบ™เป€เบชเบปเบฒ, เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™ delta เบ›เบฐเบˆเปเบฒเบงเบฑเบ™, เปเบฅเบฐเปƒเบ™เบงเบฑเบ™เบžเบฐเบซเบฑเบ”เบžเบงเบเป€เบฎเบปเบฒเบฅเบปเป‰เบกเป€เบซเบฅเบง, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบกเป‰เบงเบ™เป€เบ–เบดเบ‡ 4 เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™ delta เปเบฅเบฐ 10 เบŠเบปเปˆเบงเป‚เบกเบ‡เบ‚เบญเบ‡ WAL. เบกเบฑเบ™เบˆเบฐเปƒเบŠเป‰เป€เบงเบฅเบฒเบ›เบฐเบกเบฒเบ™เบ”เบฝเบงเบเบฑเบ™เป€เบžเบฒเบฐเบงเปˆเบฒเบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™ delta เบกเป‰เบงเบ™เบ‚เบฐเบซเบ™เบฒเบ™.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

LSN-based deltas - เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเป€เบกเบทเปˆเบญเบชเป‰เบฒเบ‡เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ•เป‰เบญเบ‡เบชเบปเบกเบ—เบปเบšเปเบ•เปˆเบฅเบฐเบซเบ™เป‰เบฒเปเบฅเบฐเบเบงเบ”เป€เบšเบดเปˆเบ‡ LSN เบ‚เบญเบ‡เบกเบฑเบ™เบเบฑเบš LSN เบ‚เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเบกเบฑเบ™เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡. เบซเบ™เป‰เบฒเปƒเบ”เป†เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบกเบตเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ„เบงเบ™เบˆเบฐเบกเบตเบขเบนเปˆเปƒเบ™เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™ delta.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป€เบงเบปเป‰เบฒ, เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบกเบตเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเบซเบผเบฒเบเปเบกเปˆเบ™เป„เบ”เป‰เบˆเปˆเบฒเบเปƒเบซเป‰เบ‚เบฐเบซเบ™เบฒเบ™.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เปเบ•เปˆ API เบ—เบตเปˆเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™ PostgreSQL เปเบกเปˆเบ™เบชเบญเบ”เบ„เปˆเบญเบ‡. PostgreSQL เป€เบเบฑเบšเป„เบŸเบฅเปŒ WAL เบ™เบถเปˆเบ‡เป„เบŸเบฅเปŒ เปเบฅเบฐเป€เบกเบทเปˆเบญเบŸเบทเป‰เบ™เบŸเบนเบกเบฑเบ™เบฎเป‰เบญเบ‡เบ‚เปเป„เบŸเบฅเปŒ WAL เบซเบ™เบถเปˆเบ‡เป„เบŸเบฅเปŒ. เปเบ•เปˆเป€เบกเบทเปˆเบญเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบฎเป‰เบญเบ‡เบ‚เปเป„เบŸเบฅเปŒ WAL เบซเบ™เบถเปˆเบ‡เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ "WAL-FETCH", เบžเบงเบเป€เบฎเบปเบฒเป‚เบ—เบซเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡ "WAL-PREFETCH", เป€เบŠเบดเปˆเบ‡เบเบฐเบเบฝเบกเป„เบŸเบฅเปŒ 8 เบ•เปเปˆเป„เบ›เป€เบžเบทเปˆเบญเบ”เบถเบ‡เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบšเปˆเบญเบ™เป€เบเบฑเบšเบงเบฑเบ”เบ–เบธเปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ™.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodinเปเบฅเบฐเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เปเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบเบฑเบšเป„เบŸเบฅเปŒเบซเบ™เบถเปˆเบ‡, เบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เบขเบนเปˆเปƒเบ™ archive_status เปเบฅเบฐเป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบกเบตเป„เบŸเบฅเปŒ WAL เบญเบทเปˆเบ™เป†. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบžเบฐเบเบฒเบเบฒเบกเบ”เบฒเบงเป‚เบซเบฅเบ” WAL เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ™. เบ™เบตเป‰เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบฅเบฐเบซเบผเบธเบ”เบœเปˆเบญเบ™เป„เบฅเบเบฐเบซเปˆเบฒเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเปƒเบ™เบˆเปเบฒเบ™เบงเบ™ WAL เบ—เบตเปˆเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบเบฑเบš. เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบฅเบฐเบšเบปเบšเบชเปเบฒเบฎเบญเบ‡เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเป€เบŠเบทเปˆเบญเบงเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบญเบตเบ‡เปƒเบชเปˆเบ„เบงเบฒเบกเบฎเบนเป‰เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบเปˆเบฝเบงเบเบฑเบšเบžเบฒเบเปƒเบ™เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™ PostgreSQL API. PostgreSQL เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เบกเบตเป‚เบŸเบ™เป€เบ”เบต archive_status เบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเปเบฅเบฐเบšเปเปˆเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบ„เบงเบฒเบกเบซเบกเบฒเบ, เบเบฒเบ™เบกเบตเบชเบฑเบ™เบเบฒเบ™เบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒ WAL เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบชเบถเบเบชเบฒเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡, เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบžเบฐเบเบฒเบเบฒเบกเบ‚เบธเบ”เบ„เบปเป‰เบ™เบกเบฑเบ™. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบ„เบงเบšเบ„เบธเบกเบ—เบดเบ”เบ—เบฒเบ‡เบ—เบตเปˆ PostgreSQL เบเปเบฒเบฅเบฑเบ‡เบžเบฑเบ”เบ—เบฐเบ™เบฒ;

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

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

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodinเบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ—เบธเบเป†เบ„เบฑเป‰เบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบเบฑเบš WAL เปƒเบ™ Master, เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบšเบตเบšเบญเบฑเบ”เบกเบฑเบ™, เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบกเบฑเบ™เปเบฅเบฐเบชเบปเปˆเบ‡เบเบฑเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบญเปˆเบฒเบ™เบกเบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™. เบžเบงเบเป€เบฎเบปเบฒเบงเบดเป€เบ„เบฒเบฐเปเบฅเบฐเบญเปˆเบฒเบ™เบšเบฑเบ™เบ—เบถเบเปƒเบ™เบกเบฑเบ™. เบžเบงเบเป€เบฎเบปเบฒเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเบšเบฅเบฑเบญเบเปƒเบ”เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ เปเบฅเบฐเป€เบเบฑเบšเบเบณเป„เบŸเบฅเปŒ delta.

เป„เบŸเบฅเปŒ delta เบญเบฐเบ—เบดเบšเบฒเบเบšเบฒเบ‡เป„เบŸเบฅเปŒ WAL, เบญเบฐเบ—เบดเบšเบฒเบเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบงเปˆเบฒเบšเบฅเบฑเบญเบเปƒเบ”เบ–เบทเบเบ›เปˆเบฝเบ™เปเบ›เบ‡เบขเบนเปˆเปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡ WAL เบ™เบตเป‰. เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป„เบŸเบฅเปŒ delta เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบเบฑเบ‡เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

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

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

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

เบ–เป‰เบฒเบขเบนเปˆเปƒเบ™เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เบ‚เบญเบ‡ shaft parsing เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบซเบ™เบถเปˆเบ‡เบˆเบธเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป€เบ‚เบปเป‰เบฒเปƒเบˆเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ•เปเปˆเป„เบ›เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ–เบทเบเบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เบญเปˆเบฒเบ™เบเบธเปˆเบกเบ—เบฑเบ‡เบซเบกเบปเบ”เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡, เบ„เบทเบเบฑเบ™เบเบฑเบšเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบฎเบฑเบ”เบเบฑเบš LSN เบ›เบปเบเบเบฐเบ•เบด. - เบญเบตเบ‡โ€‹เบ•เบฒเบก deltaโ€‹.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ„เบงเบฒเบกเบ—เบธเบเบ—เปเบฅเบฐเบกเบฒเบ™เบ—เบฑเบ‡เปเบปเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเป€เบ›เบตเบ”เปเบซเบผเปˆเบ‡เบ—เบตเปˆเบกเบฒเบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐ WAL-G. เบ•เบฒเบกโ€‹เบ—เบตเปˆโ€‹เบฎเบนเป‰โ€‹เปเบฅเป‰เบง, เบเบฑเบ‡โ€‹เบšเปเปˆโ€‹เบ—เบฑเบ™โ€‹เบกเบตโ€‹เปƒเบœโ€‹เปƒเบŠเป‰โ€‹เป€เบ—เบทเปˆเบญ, โ€‹เปเบ•เปˆโ€‹เบ–เป‰เบฒโ€‹เบกเบตโ€‹เปƒเบœโ€‹เบขเบฒเบโ€‹เบ‚เบฝเบ™โ€‹เปเบฅเบฐโ€‹เบ™เบณโ€‹เปƒเบŠเป‰โ€‹เบเปโ€‹เบขเบนเปˆโ€‹เปƒเบ™โ€‹เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ. (เบฅเบดเป‰เบ‡เบ—เบตเปˆเบญเบฑเบšเป€เบ”เบ”เปเบฅเป‰เบง https://github.com/wal-g/wal-g/tree/master/internal/walparser)

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เป„เบซเบฅเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบšเบดเปˆเบ‡เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบชเบฑเบšเบชเบปเบ™. เปเบกเปˆเบšเบปเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบเบฑเบš shaft เปเบฅเบฐเป€เบเบฑเบšเป„เบŸเบฅเปŒ delta. เปเบฅเบฐ replica เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบชเปเบฒเป€เบ™เบปเบฒเบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเป„เบŸเบฅเปŒ delta เปƒเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ—เบตเปˆเบœเปˆเบฒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™. เปƒเบ™โ€‹เบเปโ€‹เบฅเบฐโ€‹เบ™เบตโ€‹เบ™เบตเป‰, เบžเบฒเบโ€‹เบชเปˆเบงเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ›เบฐโ€‹เบซเบงเบฑเบ”โ€‹เบชเบฒเบ”โ€‹เบˆเบฐโ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบžเบตเปˆเบกโ€‹เป€เบ›เบฑเบ™โ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบซเบผเบฒเบโ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบงเบดโ€‹เป€เบ„เบฒเบฐ, เป€เบ™เบทเปˆเบญเบ‡โ€‹เบˆเบฒเบโ€‹เบงเปˆเบฒโ€‹เบšเปเปˆโ€‹เปเบกเปˆเบ™โ€‹เบ›เบฐโ€‹เบซเบงเบฑเบ”โ€‹เบชเบฒเบ”โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เป€เบซเบกเบฒเบฐโ€‹เบเบฑเบšโ€‹เบชเปˆเบงเบ™โ€‹เปƒเบซเบเปˆ. เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบตเป‰ replica เบชเบฒเบกเบฒเบ”เป€เบเบฑเบš backup delta เป€เบ•เบฑเบก.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

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

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

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

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

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

เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เบฅเบฐเบซเบฑเบ”เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบกเบตเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบก.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

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

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบˆเบธเบ”เปเบกเปˆเบ™เบงเปˆเบฒเป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเบŸเบทเป‰เบ™เบŸเบนเบเบธเปˆเบก, เบžเบงเบเป€เบฎเบปเบฒเบซเบผเบธเบ”เบœเปˆเบญเบ™เบˆเปเบฒเบ™เบงเบ™เป€เบฅเบทเปˆเบญเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบกเป‰เบงเบ™เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบˆเปเบฒเบ™เบงเบ™ WAL เบ—เบตเปˆเบกเป‰เบงเบ™ PostgreSQL เบ„เบงเบ™เบซเบผเบธเบ”เบฅเบปเบ‡, เป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™.

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

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

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

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบญเบตเบเบญเบฑเบ™เปœเบถเปˆเบ‡เปƒเบ™ WAL-G. เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‚เบฐเบซเบเบฒเบเป„เบ”เป‰เป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เปเบฅเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบซเบฒเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™. เปเบ•เปˆเบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เบงเปˆเบฒ MySQL APIs เปเบกเปˆเบ™เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ. เปƒเบ™ MySQL, PITR เบšเปเปˆเป„เบ”เป‰เบญเบตเบ‡เปƒเบชเปˆเบšเบฑเบ™เบ—เบถเบ WAL เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบ, เปเบ•เปˆเบขเบนเปˆเปƒเบ™ binlog. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบกเบตเบฅเบฐเบšเบปเบšเบเบฒเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เปƒเบ™ MySQL เบ—เบตเปˆเบˆเบฐเบšเบญเบเบšเบฒเบ‡เบฅเบฐเบšเบปเบšเบžเบฒเบเบ™เบญเบเบงเปˆเบฒ binlog เบ™เบตเป‰เปเบกเปˆเบ™เบชเปเบฒเป€เบฅเบฑเบ”เปเบฅเบฐเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰. เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบขเบทเบ™เบขเบนเปˆเบšเปˆเบญเบ™เปƒเบ”เบซเบ™เบถเปˆเบ‡เปƒเบ™ cron เบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบกเบตเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเบšเป?

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

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เปƒเบ™เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบเบฑเบ‡เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบเปเบฅเบฐเบ™เบตเป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ WAL-G เบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

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

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบ‚เป‰เบญเบเบกเบฑเบเบˆเบฐเป€เบซเบฑเบ™เบ„เบปเบ™เบ—เบตเปˆเบžเบฐเบเบฒเบเบฒเบกเปเบฅเปˆเบ™เบ—เบฑเบ‡ WAL-G เปเบฅเบฐ WAL-E เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™. เบžเบงเบเป€เบฎเบปเบฒเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเบเบฑเบšเบ„เบทเบ™เป„เบ›เบšเปˆเบญเบ™เปƒเบ™เบ„เบงเบฒเบกเบซเบกเบฒเบเบ—เบตเปˆ WAL-G เบชเบฒเบกเบฒเบ”เบŸเบทเป‰เบ™เบŸเบนเป„เบŸเบฅเปŒเบˆเบฒเบ WAL-E เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบŸเบทเป‰เบ™เบŸเบนเบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบ™ WAL-E. เปเบ•เปˆเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ—เบฑเบ‡เบชเบญเบ‡เบฅเบฐเบšเบปเบšเบ™เบตเป‰เปƒเบŠเป‰ wal-push เบ‚เบฐเบซเบ™เบฒเบ™, เบžเบงเบเป€เบ‚เบปเบฒเป€เบฅเบตเปˆเบกเบฅเบฑเบเป„เบŸเบฅเปŒเบˆเบฒเบเบเบฑเบ™เปเบฅเบฐเบเบฑเบ™. เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเปเบเป‰เป„เบ‚เบกเบฑเบ™เบขเบนเปˆเปƒเบ™ WAL-G, เบกเบฑเบ™เบˆเบฐเบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเปƒเบ™ WAL-E. เปƒเบ™ WAL-E, เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบขเบนเปˆเปƒเบ™ archive-status, เป€เบซเบฑเบ™เป„เบŸเบฅเปŒเบ—เบตเปˆเบชเปเบฒเป€เบฅเบฑเบ”เบฎเบนเบšเปเบฅเบฐเป€เบเบฑเบšเป„เบงเป‰, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบฅเบฐเบšเบปเบšเบญเบทเปˆเบ™เป†เบžเบฝเบ‡เปเบ•เปˆเบšเปเปˆเบฎเบนเป‰เบงเปˆเบฒเป„เบŸเบฅเปŒ WAL เบ™เบตเป‰เบกเบตเบขเบนเปˆ, เป€เบžเบฒเบฐเบงเปˆเบฒ PostgreSQL เบˆเบฐเบšเปเปˆเบžเบฐเบเบฒเบเบฒเบกเป€เบเบฑเบšเป„เบงเป‰เป€เบ›เบฑเบ™เบ„เบฑเป‰เบ‡เบ—เบตเบชเบญเบ‡.

เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบˆเบฐเปเบเป‰เป„เบ‚เบซเบเบฑเบ‡เบขเบนเปˆเบ‚เป‰เบฒเบ‡ WAL-G? เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเปเบˆเป‰เบ‡เปƒเบซเป‰ PostgreSQL เบงเปˆเบฒเป„เบŸเบฅเปŒเบ™เบตเป‰เบ–เบทเบเป‚เบญเบ™เบ‚เบฐเบซเบ™เบฒเบ™, เปเบฅเบฐเป€เบกเบทเปˆเบญ PostgreSQL เบ‚เปเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบเบฑเบšเบกเบฑเบ™, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบฎเบนเป‰เปเบฅเป‰เบงเบงเปˆเบฒเป„เบŸเบฅเปŒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ—เบตเปˆเบกเบตเบฎเบนเบšเปเบšเบšเป€เบงเบฅเบฒเบ™เบตเป‰เปเบฅเบฐ md5 เบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปเบฅเป‰เบงเปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบงเบปเป‰เบฒเบ‡เปˆเบฒเบเป†เบงเปˆเบฒ PostgreSQL - เบ•เบปเบเบฅเบปเบ‡, เบ—เบธเบเบขเปˆเบฒเบ‡เบžเป‰เบญเบกเปเบฅเป‰เบงเป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เบซเบเบฑเบ‡เป€เบฅเบตเบ.

เปเบ•เปˆเบšเบฑเบ™เบซเบฒเบ™เบตเป‰เบ„เบปเบ‡เบˆเบฐเบšเปเปˆเบ–เบทเบเปเบเป‰เป„เบ‚เปƒเบ™เบ”เป‰เบฒเบ™ WAL-E, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบˆเบฐเป€เบเบฑเบšเป„เบŸเบฅเปŒเบ—เบฑเบ‡เปƒเบ™ WAL-G เปเบฅเบฐ WAL-E.

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบกเบตเบเปเบฅเบฐเบ™เบตเบ—เบตเปˆ WAL-G เบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเปเบเป‰เป„เบ‚เบกเบฑเบ™เบขเปˆเบฒเบ‡เปเบ™เปˆเบ™เบญเบ™.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodinเบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ”, เบ›เบฐเบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบกเบตเบ•เบปเบงเบขเบฑเป‰เบ‡เบขเบทเบ™เบเบฒเบ™ เบชเบณ เบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™. เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบเบงเบ”โ€‹เบชเบญเบšโ€‹เปƒเบ™โ€‹เบฅเบฐโ€‹เบซเบงเปˆเบฒเบ‡โ€‹เบเบฒเบ™โ€‹เบชเปเบฒโ€‹เบฎเบญเบ‡โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบซเบผเบทโ€‹เบเบฒเบ™โ€‹เบŸเบทเป‰เบ™โ€‹เบ•เบปเบงโ€‹. เปเบ™เปˆเบ™เบญเบ™, เบ™เบตเป‰เปเบกเปˆเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™เป€เบกเบ„. เปเบ•เปˆเบ™เบตเป‰เปเบกเปˆเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบฝเบ‡เปเบ•เปˆเป‚เบ”เบเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเปˆเบญเบ™, เบžเบฝเบ‡เปเบ•เปˆเป‚เบ”เบเบเบฒเบ™เบŸเบทเป‰เบ™เบ•เบปเบงเบ‚เบญเบ‡เบเบธเปˆเบก. เบ‚เป‰เบญเบเบขเบฒเบเบˆเบฐเปƒเบซเป‰เบŸเบฑเบ‡เบŠเบฑเบ™เบ™เบตเป‰เปƒเบซเป‰เบเบฑเบšเบœเบนเป‰เปƒเบŠเป‰. เปเบ•เปˆเป‚เบ”เบเบเบฒเบ™เบเบงเบ”เบชเบญเบš, เบ‚เป‰เบญเบเบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเปƒเบ™ WAL-G เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบŸเบทเป‰เบ™เบŸเบน cluster เปเบฅเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบกเบฑเบ™, เปเบฅเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ„เบงเบฑเบ™เบขเบฒเบชเบนเบš: pg_dumpall เบเบฑเบš /dev/null เปเบฅเบฐเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ”เบฑเบ”เบชเบฐเบ™เบต amcheck.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบขเบนเปˆเปƒเบ™ WAL-G เบšเปเปˆเบกเบตเบงเบดเบ—เบตเบ—เบตเปˆเบˆเบฐเป€เบฅเบทเปˆเบญเบ™เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบซเบ™เบถเปˆเบ‡เบˆเบฒเบ WAL. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบžเบงเบเป€เบฎเบปเบฒเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบšเบฒเบ‡เบ›เปˆเบญเบ‡เบขเป‰เบฝเบก. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป€เบˆเบฑเบ”เบกเบทเป‰เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ, เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบชเบดเบšเบ„เบฑเป‰เบ‡เบชเบธเบ”เบ—เป‰เบฒเบ, เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบชเบฒเบกเบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เป€เบ•เบฑเบกเบ—เบตเปˆเบชเบธเบ”เบ—เป‰เบฒเบ. เป€เบฅเบทเป‰เบญเบเป†เบกเบตเบ„เบปเบ™เบกเบฒเปเบฅเบฐเป€เบงเบปเป‰เบฒเบงเปˆเบฒ: "เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เปƒเบ™เบ›เบตเปƒเบซเบกเปˆเปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบฎเบฑเบเบชเบฒเบกเบฑเบ™เบ•เบฐเบซเบผเบญเบ”เป„เบ›." WAL-G เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰เป„เบ”เป‰เป€เบ—เบทเปˆเบญ. (เบซเบกเบฒเบโ€‹เป€เบซเบ” - เบญเบฑเบ™โ€‹เบ™เบตเป‰โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เปเบฅเป‰เบง. เบญเปˆเบฒเบ™โ€‹เป€เบžเบตเปˆเบกโ€‹เป€เบ•เบตเบก - Backup-mark option in https://github.com/wal-g/wal-g/blob/master/PostgreSQL.md)

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบกเบต checksums เบซเบ™เป‰เบฒเปเบฅเบฐเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบชเบปเบกเบšเบนเบ™เบชเปเบฒเบฅเบฑเบšเบ—เบธเบ shaft segments เป€เบกเบทเปˆเบญเบเบงเบ”เบชเบญเบš PITR.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบˆเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบงเบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบš Google Summer of Code. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบฎเบนเป‰เบˆเบฑเบเบ™เบฑเบเบฎเบฝเบ™เบ—เบตเปˆเบชเบฐเบซเบผเบฒเบ”เบ—เบตเปˆเบขเบฒเบเบ‚เบฝเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปƒเบ™ Go เปเบฅเบฐเป„เบ”เป‰เป€เบ‡เบดเบ™เบซเบผเบฒเบเบžเบฑเบ™เป‚เบ”เบฅเบฒเบˆเบฒเบเบšเปเบฅเบดเบชเบฑเบ”เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบกเบตเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ "G", เปƒเบซเป‰เปเบ™เบฐเบ™เปเบฒเป‚เบ„เบ‡เบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒ. เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบˆเบฐโ€‹เป€เบฎเบฑเบ”โ€‹เบซเบ™เป‰เบฒโ€‹เบ—เบตเปˆโ€‹เป€เบ›เบฑเบ™โ€‹เบžเบตเปˆโ€‹เบฅเป‰เบฝเบ‡โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ™เบตเป‰โ€‹, เบžเบงเบโ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป€เบฎเบฑเบ”โ€‹เป„เบ”เป‰โ€‹. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบ™เบฑเบเบฎเบฝเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ‚เป‰เบญเบเบˆเบฐเป€เบญเบปเบฒเบกเบฑเบ™เปเบฅเบฐเป€เบฎเบฑเบ”เบกเบฑเบ™เป€เบญเบ‡เปƒเบ™เบฅเบฐเบ”เบนเบฎเป‰เบญเบ™.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบšเบฑเบ™เบซเบฒเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบญเบทเปˆเบ™เป†เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบ„เปˆเบญเบเป†เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™. เปเบฅเบฐเบšเบฒเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเปเบ›เบเบ›เบฐเบซเบผเบฒเบ”เป€เบเบตเบ”เบ‚เบถเป‰เบ™.

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

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

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

เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบงเบปเบ™เปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡ docker เบซเบผเบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เป€เบžเบทเปˆเบญเบเบงเบ”เป€เบšเบดเปˆเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ•เปˆเบฒเบ‡เป†. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบžเบฝเบ‡เปเบ•เปˆเบ—เบปเบ”เบชเบญเบšเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™. เบขเบนเปˆเปƒเบ™เบ—เบธเบเป†เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒ, เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™ commit-by-commit เบซเบ™เป‰เบฒเบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบžเบฝเบ‡เบžเปเบชเปเบฒเบฅเบฑเบš PostgreSQL 9.4-9.5. เบžเบงเบเป€เบฎเบปเบฒเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบžเบงเบเป€เบ‚เบปเบฒเป€เบžเบฒเบฐเบงเปˆเบฒเบŠเบธเบกเบŠเบปเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ PostgreSQL, เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเป‚เบ”เบเบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเป€เบžเบทเปˆเบญเปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบ—เบธเบเบขเปˆเบฒเบ‡เบšเปเปˆเปเบ•เบ. เปเบฅเบฐเบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ‚เป‰เบญเบเบงเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ—เบตเปˆเบฎเป‰เบฒเบเปเบฎเบ‡เบซเบผเบฒเบ.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบžเบงเบเป€เบฎเบปเบฒเบกเบต WAL-G เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบžเบฑเบ™ clusters เปƒเบ™เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ Yandex. เปเบฅเบฐเบกเบฑเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบซเบผเบฒเบเบฎเป‰เบญเบ terabytes เบ—เบธเบเป†เบกเบทเป‰.

เบžเบงเบเป€เบฎเบปเบฒเบกเบต TODO เบซเบผเบฒเบเบขเบนเปˆเปƒเบ™เบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบ„เบ‡เบเบฒเบ™, เบกเบฒ, เบžเบงเบเป€เบฎเบปเบฒเบฅเปเบ–เป‰เบฒเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ”เบถเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบฅเปเบ–เป‰เบฒเบ„เปเบฒเบ–เบฒเบก.

เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡เบˆเบฒเบ WAL-G. เปเบกเปˆเบ™เบซเบเบฑเบ‡เปƒเบ™เบ›เบต 2019? Andrey Borodin

เบ„เปเบฒเบ–เบฒเบกเบ‚เบญเบ‡เบ—เปˆเบฒเบ™

เบชเบฐโ€‹เบšเบฒเบโ€‹เบ”เบตโ€‹เบ•เบญเบ™โ€‹เปเบฅเบ‡! เบ‚เบญเบšโ€‹เปƒเบˆ! เบเบฒเบ™เบ„เบฒเบ”เป€เบ”เบปเบฒเบ‚เบญเบ‡เบ‚เป‰เบญเบเปเบกเปˆเบ™เบงเปˆเบฒเบ–เป‰เบฒเบ—เปˆเบฒเบ™เปƒเบŠเป‰ WAL-delta, เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบ‚เบฝเบ™เป€เบ•เบฑเบกเบซเบ™เป‰เบฒเบซเบผเบฒเบ. เปเบฅเบฐเบ–เป‰เบฒเป€เบ›เบฑเบ™เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เป„เบ”เป‰เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบšเป? เบ—เปˆเบฒเบ™เป„เบ”เป‰เบชเบฐเปเบ”เบ‡เบเบฒเบŸเบ—เบตเปˆเบชเบงเบเบ‡เบฒเบก. เบกเบฑเบ™เบˆเบฐเบ‡เบฒเบกเบเบงเปˆเบฒเบซเบผเบฒเบเบ›เบฒเบ™เปƒเบ”เบ–เป‰เบฒ FPW เบ–เบทเบเบ›เบดเบ”?

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

เบ‚เบญเบšเปƒเบˆเบชเปเบฒเบฅเบฑเบšเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™! เบ‚เป‰เบญเบเบกเบตเบชเบญเบ‡เบ„เปเบฒเบ–เบฒเบก. เบ„เปเบฒเบ–เบฒเบกเบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบˆเบฐเป€เบเบตเบ”เบ‚เบถเป‰เบ™เบเบฑเบš tablespaces?

เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบฅเปเบ–เป‰เบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ”เบถเบ‡. เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบญเบฒเป„เบชเบขเบนเปˆเปƒเบ™เปเบœเปˆเบ™ SSD เปเบฅเบฐ NMVE เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ™เบตเป‰เปเบ—เป‰เป†. เบ‚เป‰เบญเบเบšเปเปˆเบžเป‰เบญเบกเบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เป€เบงเบฅเบฒเบขเปˆเบฒเบ‡เบˆเบดเบ‡เบˆเบฑเบ‡เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ”เบตเปƒเบ™เบ•เบญเบ™เบ™เบตเป‰. เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เบขเปˆเบฒเบ‡โ€‹เบชเบธเบ”โ€‹เปƒเบˆโ€‹เบงเปˆเบฒโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เบ™เบตเป‰โ€‹. เบกเบตเบ„เบปเบ™เบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบกเบฑเบ™, เปเบ•เปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบกเบฑเบ™เปƒเบ™เบ—เบฒเบ‡เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒ. เบžเบงเบโ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เป„เบ”เป‰โ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบชเป‰เบญเบก, เปเบ•เปˆโ€‹เบžเบงเบโ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบเบฒเบ™โ€‹เบฎเป‰เบญเบ‡โ€‹เบ‚เปโ€‹เบ”เบถเบ‡. (เป€เบžเบตเปˆเบกเปƒเบ™เบชเบฐเบšเบฑเบš 0.2.13)

เปเบฅเบฐเบ„เปเบฒเบ–เบฒเบกเบ—เบตเบชเบญเบ‡. เบ—เปˆเบฒเบ™เป„เบ”เป‰เบเปˆเบฒเบงเปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบงเปˆเบฒ WAL-G เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ”เบฝเบงเปเบฅเบฐเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบต wrappers. เบ‚เป‰เบญเบเปƒเบŠเป‰ wrappers เบ•เบปเบงเป€เบญเบ‡. เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบžเบงเบเบกเบฑเบ™เบˆเบถเปˆเบ‡เบšเปเปˆเบ„เบงเบ™เปƒเบŠเป‰?

เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเบ„เบทเบเบฑเบš balalaika. เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบซเบเบฑเบ‡เป€เบฅเบตเบเบเบปเบเป€เบงเบฑเป‰เบ™ balalaika. เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เบฅเบฐเบšเบปเบšเบ‡เปˆเบฒเบเบ”เบฒเบ. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เปƒเบ™เบชเบฐเบ„เบดเบš, เปเบฅเป‰เบงเบกเบฒเบšเบญเบเบžเบงเบเป€เบฎเบปเบฒ - เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบฎเบฑเบ”เปƒเบ™ Go.

เบชเบฐโ€‹เบšเบฒเบโ€‹เบ”เบตโ€‹เบ•เบญเบ™โ€‹เปเบฅเบ‡! เบ‚เบญเบšเปƒเบˆเบชเปเบฒเบฅเบฑเบšเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™! เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบซเป‰ WAL-G เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเบฒเบ™เบ–เบญเบ”เบฅเบฐเบซเบฑเบ” GPG เป„เบ”เป‰. เบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบ•เบฒเบกเบ›เบปเบเบเบฐเบ•เบด, เปเบ•เปˆเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ–เบญเบ”เบฅเบฐเบซเบฑเบ”. เบกเบฑเบ™โ€‹เปเบกเปˆเบ™โ€‹เบšเบฒเบ‡โ€‹เบชเบดเปˆเบ‡โ€‹เบšเบฒเบ‡โ€‹เบขเปˆเบฒเบ‡โ€‹เบ—เบตเปˆโ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบญเบญเบโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹? เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เปเบกเปˆเบ™เบ•เบปเบเบ•เปเปˆเบฒ.

เบชเป‰เบฒเบ‡เบšเบฑเบ™เบซเบฒเปƒเบ™ GitHub เปเบฅเบฐเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบ„เบดเบ”เบญเบญเบ.

เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เป€เบˆเบปเป‰เบฒเบšเปเปˆเป€เบ„เบตเบเบžเบปเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เบšเป?

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

เบชเบฐเบšเบฒเบเบ”เบต! เบ‚เบญเบšเปƒเบˆเบชเปเบฒเบฅเบฑเบšเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™! เบ‚เป‰เบญเบเบกเบตเบชเบญเบ‡เบ„เปเบฒเบ–เบฒเบก. เบ‚เป‰เบญเบเบกเบตเบ„เบงเบฒเบกเบ›เบฒเบ”เบ–เบฐเบซเบ™เบฒเบ—เบตเปˆเปเบ›เบเบ›เบฐเบซเบผเบฒเบ”เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ” pg_basebackup เปเบฅเบฐ WAL เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบšเบชเบญเบ‡เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™, i.e. เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบซเบ™เบถเปˆเบ‡เบŸเบฑเบ‡เปเบฅเบฐเบญเบทเปˆเบ™. เบกเบตเบงเบดเบ—เบตเปƒเบ”เปเบ”เปˆเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰?

เบ™เบตเป‰เบšเปเปˆเบกเบตเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เปเบ•เปˆเบกเบฑเบ™เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆ.

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

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

เปเบกเปˆเบ™เปเบฅเป‰เบงเปเบ™เปˆเบ™เบญเบ™.

เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เป€เบกเบทเปˆเบญเบ™เบฑเบเบฎเบฝเบ™เป€เบ‚เบปเป‰เบฒเบกเบฒเปƒเบ™ Google Summer of Code, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบžเบตเปˆเบกเบžเบงเบเป€เบ‚เบปเบฒเป€เบ‚เบปเป‰เบฒเปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบตเบงเบฝเบเบซเบผเบฒเบเป€เบžเบทเปˆเบญเปƒเบซเป‰เป„เบ”เป‰เบ›เบฐเป‚เบซเบเบ”เบˆเบฒเบเบžเบงเบเป€เบ‚เบปเบฒเบซเบผเบฒเบเบ‚เบถเป‰เบ™.

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

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

เบšเปเปˆเบกเบต SLA? เบกเบฑเบ™เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ•เบปเบ™เป€เบญเบ‡เบ–เบทเบเบ—เปเบฅเบฐเบกเบฒเบ™เบšเป?

เบˆเบธเบ”เปเบกเปˆเบ™เบงเปˆเบฒเบœเบนเป‰เบ—เบตเปˆเบกเบฒเบเบฑเบšเบ„เปเบฒเบ–เบฒเบกเบ™เบตเป‰เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบกเบต vault เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบšเปเปˆเบกเบตเปƒเบœเบกเบฒเบˆเบฒเบ Amazon เบซเบผเบท Google Cloud, เบซเบผเบท Yandex Object Storage.

เบšเบฒเบ‡เบ—เบตเบ„เปเบฒเบ–เบฒเบกเปเบกเปˆเบ™เบšเปเปˆเบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™?

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

เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เปƒเบ™เป€เบกเบฅเบ„เบฅเบฒเบง.

เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบชเป‰เบฒเบ‡โ€‹เบเบฒเบ™โ€‹เปเบœเปˆโ€‹เบžเบฑเบ™ ...

เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเปเบœเปˆเบžเบฑเบ™เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡ ...

เบ–เป‰เบฒเบกเบตเบเบฒเบ™เปเบœเปˆเบžเบฑเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ„เบดเบ”เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ—เบปเบ”เบฅเบญเบ‡เปƒเบŠเป‰เบเบปเบ™เบฅเบฐเบเบธเบ” retry เปเบฅเบฐเบŠเบญเบเบซเบฒเบงเบดเบ—เบตเบ—เบตเปˆเบˆเบฐเบžเบฐเบเบฒเบเบฒเบกเปƒเบซเบกเปˆเปเบฅเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบชเบดเปˆเบ‡เบ—เบตเปˆ cloud เบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เบšเบฒเบ‡เบ—เบตเบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเบกเบตเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เบชเบฒเบกเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบฅเบฐเบˆเบฐเบšเปเปˆเบ—เปเบฒเบฅเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบ‚เบปเป‰เบฒเบซเบฒเบชเบฒเบกเบขเปˆเบฒเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบซเบผเบธเบ”เบฅเบปเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบขเปˆเบฒเบ‡เป„เบงเบงเบฒ, i.e. เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเป€เบ›เบตเบ”เบ•เบปเบงเบเบฒเบ™เบŸเบทเป‰เบ™เบ•เบปเบงเบ”เป‰เบงเบ 16 เบเบฐเบ—เบนเป‰, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบฅเบญเบ‡เปƒเบซเบกเปˆเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เบˆเบฐเบกเบต 8 threads, 4 threads, 2 threads เปเบฅเบฐเบซเบ™เบถเปˆเบ‡ threads. เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เบˆเบฐเบ”เบถเบ‡เป„เบŸเบฅเปŒเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ™เป‰เปเบฒเบซเบ™เบถเปˆเบ‡. เบ–เป‰เบฒเบกเบตเบšเบฒเบ‡เบ„เปˆเบฒ magic เบ„เบท 7,5 threads เปเบกเปˆเบ™เบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเบชเบนเบš, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐ linger เบชเบธเบ”เปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเปเบฅเบฐเบžเบฐเบเบฒเบเบฒเบกเป€เบฎเบฑเบ”เปƒเบซเป‰ 7,5 threads เบญเบทเปˆเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบ„เบดเบ”.

เบ‚เบญเบšเปƒเบˆเบชเปเบฒเบฅเบฑเบšเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™! เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบชเบปเบกเบšเบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš WAL-G เบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเปเบ™เบงเปƒเบ”? เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเป‚เบ‡เปˆเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบšเปเปˆเบกเบต delta เปƒเบ™เบ—เบปเปˆเบงเบซเบ™เป‰เบฒ. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเป€เบญเบปเบฒเปเบฅเบฐเป€เบญเบปเบฒเบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบเบฑเบš shaft เบˆเบปเบ™เบเปˆเบงเบฒเบžเบงเบเป€เบฎเบปเบฒเป€เบ›เบฑเบ™เบชเบตเบŸเป‰เบฒเปƒเบ™เปƒเบšเบซเบ™เป‰เบฒ. เบ—เบตเปˆเบ™เบตเป‰, เบ•เบฒเบกเบ—เบตเปˆเบ‚เป‰เบญเบเป€เบ‚เบปเป‰เบฒเปƒเบˆเบกเบฑเบ™, เบกเบตเบเบฒเบ™เปเบšเปˆเบ‡เปเบเบ. เปƒเบ™เบšเบฒเบ‡เบˆเบธเบ”เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™ delta เบ‚เบญเบ‡เบซเบ™เป‰เบฒ, i.e. เบšเบฒเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบžเบฒเบเบ™เบญเบเบเปเบฒเบฅเบฑเบ‡เบ‚เบฑเบšเบฅเบปเบ”เบ™เบตเป‰เบซเบผเบทเบกเบฑเบ™เป€เบเบตเบ”เบ‚เบถเป‰เบ™เปเบ™เบงเปƒเบ”?

API เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™ delta เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ. เบกเบตเบ•เบปเบงเป€เบฅเบเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™ - เบ‚เบฑเป‰เบ™เบ•เบญเบ™ delta เบชเบนเบ‡เบชเบธเบ”, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เป€เบญเบตเป‰เบ™เบงเปˆเบฒ. เบกเบฑเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบ›เบฑเบ™เบชเบนเบ™. เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ—เบธเบเบ„เบฑเป‰เบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เป€เบฎเบฑเบ” backup-push, เบกเบฑเบ™เบˆเบฐเบ”เบฒเบงเป‚เบซเบฅเบ” backup เป€เบ•เบฑเบก. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ›เปˆเบฝเบ™เบกเบฑเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเป€เบฅเบเบšเบงเบ, เบ•เบปเบงเบขเปˆเบฒเบ‡ 3, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เปƒเบ™เบ„เบฑเป‰เบ‡เบ•เปเปˆเป„เบ›เบ—เบตเปˆเบ—เปˆเบฒเบ™เป€เบฎเบฑเบ” backup-push, เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ›เบฐเบซเบงเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ. เบฅเบฒเบงเป€เบซเบฑเบ™เบงเปˆเบฒเป€เบˆเบปเป‰เบฒเบšเปเปˆเป€เบเบตเบ™เบ•เปˆเบญเบ‡เป‚เบชเป‰เบ‚เบญเบ‡ 3 deltas เปเบฅเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบ›เบฑเบ™ delta.

เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบ—เบธเบเป†เบ„เบฑเป‰เบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบ›เบตเบ”เบ•เบปเบง WAL-G, เบกเบฑเบ™เบžเบฐเบเบฒเบเบฒเบกเป€เบฎเบฑเบ”เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆเบšเป?

เบšเปเปˆ, เบžเบงเบเป€เบฎเบปเบฒเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ WAL-G, เปเบฅเบฐเบกเบฑเบ™เบžเบฐเบเบฒเบเบฒเบกเบชเป‰เบฒเบ‡ delta เบ–เป‰เบฒเบ™เบฐเป‚เบเบšเบฒเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบกเบฑเบ™.

เป€เบงเบปเป‰เบฒเบ›เบฐเบกเบฒเบ™, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เปเบฅเปˆเบ™เบกเบฑเบ™เบ”เป‰เบงเบเบชเบนเบ™เบ—เบธเบเป†เบ„เบฑเป‰เบ‡, เบกเบฑเบ™เบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบทเบเบฑเบš pg_basebackup เบšเป?

เบšเปเปˆ, เบกเบฑเบ™เบเบฑเบ‡เบˆเบฐเปเบฅเปˆเบ™เป„เบงเบ‚เบถเป‰เบ™เป€เบžเบฒเบฐเบกเบฑเบ™เปƒเบŠเป‰เบเบฒเบ™เบšเบตเบšเบญเบฑเบ” เปเบฅเบฐเบ‚เบฐเปœเบฒเบ™. Pg_basebackup เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰ shaft เบ•เบดเบ”เบเบฑเบšเบ—เปˆเบฒเบ™. WAL-G เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบ—เปˆเบฒเบ™เป„เบ”เป‰เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบˆเบฑเบ”เป€เบเบฑเบšเป€เบ‚เบปเป‰เบฒเปเบŸเป‰เบกเปเบฅเป‰เบง. เปเบฅเบฐเบกเบฑเบ™เบˆเบฐเบญเบญเบเบ„เปเบฒเป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒ.

Pg_basebackup เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป„เบ”เป‰เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ shafts.

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

เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™ CephFS. เบšเปเปˆเปเบกเปˆเบ™เบ—เบธเบเบ„เบปเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เบฑเบšเบ„เปˆเบฒ Object Storage.

เปเบกเปˆเบ™เปเบฅเป‰เบง, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเบ–เบฒเบกเบ„เปเบฒเบ–เบฒเบกเบเปˆเบฝเบงเบเบฑเบšเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ™เบตเป‰เป€เบžเบทเปˆเบญเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบกเบฑเบ™เป„เบ”เป‰. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบฎเบฑเบ”เบกเบฑเบ™.

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

เปƒเบ™เบชเบนเบ”เบ™เบตเป‰, เบ™เบตเป‰เปเบกเปˆเบ™เบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบเบฒเบ. เปเบกเปˆเบ™เปเบฅเป‰เบง, เบžเบงเบเป€เบฎเบปเบฒเบฎเบญเบ‡เบฎเบฑเบš, เปเบ•เปˆเบŸเบฑเบ‡เบŠเบฑเบ™เบ™เบตเป‰เบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบฅเบงเบกเบขเบนเปˆเปƒเบ™เบฅเบธเป‰เบ™เปƒเบ”เป€เบ—เบทเปˆเบญ. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบเบฒเบ™เบ›เปˆเบญเบเบญเบญเบเบกเบฒเบเปˆเบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ™เบตเป‰, เปเบ•เปˆเบชเบฐเบšเบฑเบšเบ›เปˆเบญเบเบญเบญเบเบกเบฒเบšเปเปˆเป„เบ”เป‰. เบŸเบฑเบ‡เบŠเบฑเบ™เบ™เบตเป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เป€เบงเบตเบŠเบฑเบ™ 0.2. เบกเบฑเบ™เปเบ™เปˆเบ™เบญเบ™เบˆเบฐเบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒเปƒเบ™เป„เบงเป†เบ™เบตเป‰, เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเปเบเป‰เป„เบ‚เบ‚เปเป‰เบšเบปเบเบžเปˆเบญเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบ. เปเบ•เปˆเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบเบเปˆเบญเบ™. เบกเบตเบชเบญเบ‡เปเบกเบ‡เป„เบกเป‰เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบเบเปˆเบญเบ™. เบšเบฑเบ™เบซเบฒเบเบฑเบšเบเบฒเบ™เบŸเบทเป‰เบ™เบ•เบปเบง WAL-E, เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เปเบเป‰เป„เบ‚เบกเบฑเบ™. เปเบฅเบฐเปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบงเบฅเป‰เบฒเบชเบธเบ”เบเปˆเบญเบ™เบเบฒเบ™เบญเบญเบ bug เบเปˆเบฝเบงเบเบฑเบš delta-backup เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบ—เบธเบเบ„เบปเบ™เปƒเบŠเป‰เบชเบฐเบšเบฑเบšเบ›เปˆเบญเบเบญเบญเบเบกเบฒ. เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบšเปเปˆเบกเบตเบ‚เปเป‰เบšเบปเบเบžเปˆเบญเบ‡เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบเบเปˆเบญเบ™, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบงเบปเป‰เบฒเป„เบ”เป‰เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Google Cloud, S3-compatible เปเบฅเบฐเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบŸเบฅเปŒ.

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

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

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

PS A เบฎเบธเปˆเบ™เปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ 0.2.15, เบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ .walg.json, เป€เบŠเบดเปˆเบ‡เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเป€เบฎเบทเบญเบ™ postgres เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบ–เบดเป‰เบก bash scripts. เบ•เบปเบงเบขเปˆเบฒเบ‡ .walg.json เบขเบนเปˆเปƒเบ™เบšเบฑเบ™เบซเบฒเบ™เบตเป‰ https://github.com/wal-g/wal-g/issues/545

เบงเบดเบ”เบตเป‚เบญ:

เบซเบผเบดเป‰เบ™เบงเบดเบ”เบตเป‚เบญ


เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com
เบŠเบทเป‰เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ DDoS, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VPS VDS ๐Ÿ”ฅ เบŠเบทเป‰เป€เบงเบฑเบšเป„เบŠเบ—เปŒเป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบ”เป‰เบงเบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ DDoS, เป€เบŠเบตเบšเป€เบงเบต VPS VDS | ProHoster