Georgy Rylov âWAL-G- á¡ááœáá·áºá¡áááºážáá áºáá»á¬ážááŸáá·áº á¡ááá¯ááºážá¡ááá¯ááºážáá»á²á·ááœááºááŸá¯â á០Georgy Rylov á 2020 á¡á á±á¬ááá¯ááºážá¡á á®áááºáá¶á á¬á á á¬áá¬ážááŸááºáááºážááᯠáááºááẠáá»áœááºá¯ááºá¡ááŒá¶ááŒá¯á¡ááºáá«áááºá
Open-source ááááºážááááºážáá°áá»á¬ážááẠááŒá®ážááœá¬ážáá¬áááºááŸáá·áºá¡áá»áŸ á áááºáá±á«áºááŸá¯áá»á¬ážá áœá¬ááᯠáááºááá¯ááºááááºá ááá¯á¡ááºáá±á¬ á¡ááºá¹áá«áááºáá»á¬ážááᯠáááºáá²á·ááá¯á· áá±ážááááºáááºážá ááŒá¿áá¬áá»á¬áž ááá¯áá»á¬ážáá¬áááºááᯠááŒááºáááºááŸáá·áº ááá¯áá»á¬ážáá±á¬ ááœá²áááºááŸá¯áá»á¬ážááᯠááŒáá·áºááŸá¯ááẠá á®áá¶ááá·áºááœá²áááºážá á¥ááá¬á¡áá±áá²á· WAL-G (PostgreSQL á¡ááœáẠá¡áááºááááºáž-áá°ážááº) ááá¯áá¯á¶ážááŒá®ážá ááá¹áááá¯ááºááŸá¬ Open-source ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááá¯ááºáᬠáááºáááºážááᯠá áááºááŒááºážááŒáá·áºá áá»áœááºá¯ááºááá¯á· á¡á±á¬ááºááŒááºáá²á·ááá²á áá±á¬ááºáááºááᯠááœá±á·ááá²ááá¯áá¬ááᯠááŒá±á¬ááŒáá«áááºá
á¡á¬ážáá¯á¶ážáá²áááºá¹ááá¬áá«! áá»áœááºá¯ááºááẠYekaterinburg á០Yandex developer áá áºáŠážááŒá áºáááºá áá®áá±á·áá±á¬á· WAL-G á¡ááŒá±á¬ááºážááŒá±á¬áááºá
á¡á á®áááºáá¶á á¬á áá±á«ááºážá ááºááẠáááá¹áá°áá°ážááŒááºážááá¯ááºáᬠáá áºá á¯á¶áá áºáá¬ááŒá áºáááºáᯠáááŒá±á¬áá«á WAL-G ááá¯áᬠáá¬áá² áááá¬áž á áá«ááŸááá¯áẠáá°ááá¯ááºážáááá¬ážá áááááẠáááºááŒáŸá±á¬ááºááá¯ááºáá«á ááŸááºážááŸááºážáá±ážá áááºážá á¡á á®áááºáá¶á á¬ááᯠáá¬ááŒá®áž áá¬á¡ááŒá±á¬ááºážááŒá±á¬áá·áºááŸááºážááááá°ážá
áá®áá±á·áá¬ááœá±ááŒá áºááá²ááá¯áᬠááŒá±á¬ááŒáááºáá±á¬áºá áá»áœááºá¯ááºááá¯á·á¡ááœá²á·ááẠá¡áá»áááºá¡áá±á¬áºááŒá¬ á¡áááºáá°ážáá°áá¬ážáá±á¬ááŒá±á¬áá·áº ááŒá áºáá±áááºá áááºážááẠáá»áœááºá¯ááºááá¯á·áá±áá¬ááᯠáá¯á¶ááŒá¯á¶á áœá¬á áá¯á¶ááŒá¯á¶á áœá¬á á¡áááºááŒá±á áœá¬ááŸáá·áº áááá±á¬ááºá áœá¬ ááááºážáááºážáá¯á¶á¡ááŒá±á¬ááºáž ááœá±ážááœá±ážááá·áº á á®ážáá®ážáá áºáá¯á áá±á¬ááºáááºá¡á á®áááºáá¶á á¬áá áºáá¯ááŒá áºáááºá
ááááºá á®ážáá®ážáá»á¬ážááœáẠAndrei Borodin ááŸáá·áº Vladimir Leskov ááá¯á·áá¡á á®áááºáá¶á á¬áá»á¬ážá áœá¬ááŸááááºá áá«ááá¯á·áá²á á¡áá»á¬ážááŒá®ážááŸááá²á·áááºá ááŒá®ážáá±á¬á· WAL-G á¡ááŒá±á¬ááºáž ááŒá±á¬áá±áᬠááŸá áºá¡áá±á¬áºááŒá¬áá«ááŒá®á
clck.ru/F8ioz â
clck.ru/Ln8Qw â
á€á¡á á®áááºáá¶á á¬ááẠáááºážááá¬ááá¯ááºáá¬á¡ááá¯ááºážááŸáá·áºáááºáááºááŒá®áž á¡ááŒá¬ážáá°áá»á¬ážááŸáá·áº á¡áááºážáááºááœá¬ááŒá¬ážáááºááŒá áºááŒá®ážá ááá¯á·áá±á¬áº á€áá±áá¬ááœáẠáááºááœá¬áááá¯ážáááºááŸá¯ááŸáá·áºáááºá ááºááá·áºááŒá¿áá¬áá»á¬ážááᯠáá»áœááºá¯ááºááá¯á·ááŒá¯á¶ááœá±á·áá²á·ááá¯á¶á¡ááŒá±á¬ááºáž á€áá±áá¬ááœáẠááœá±ážááœá±ážáá«áááºá ááŒá®ážáá±á¬á· áá«ááᯠáááºááá¯ááºááŒá±ááŸááºážáá¬ááŸá¬ á¡áá±á¬ááºá¡áá°ááŒá áºá á±ááá·áº á¡ááŒá¶áá¬ááºáá±ážáá áºáá¯ááᯠáá»áœááºáá±á¬áºááá¯á· áááºááá¯ááá¬ááá²á
ááœááºáá²á·áá±á¬ááŸá áºá¡áááºážáááºá WAL-G ááẠCitus Data ááŸáááŸááá±á¬á¡áá±á¬áºáá±ážáá±ážáááºáá±á¬ááá±á¬áá»ááºáá áºáá¯ááŒá áºáááºá áá«ááá¯á·á áá°ááá¯ááºáá¯á¶áá²á áááºážááá¯áá°áá áºáŠážááŸáá®ááœááºáá²á·áááºá
WAL-G áá áºáá¯áááºážáᬠááŸááááº-
- áá¯á¶áá°ááŸá¡áááºáá°ážáá°áá«á
- ááá¯ážááŒáá·áºáá±á¬ á¡áááºááááºážáááºážááŸá¯áá»á¬áž áááŸááá«á
- WAL-Delta á¡áááºáá»á¬áž áááŸááá«á
- áá»á±á¬ááºáá±áá¬ááœá± á¡áá»á¬ážááŒá®ážááŸááá±ážáááºá
á€ááŸá áºá¡áááºážáááºá¡ááœááºáž WAL-G ááẠáá»á¬ážá áœá¬ááá¯ážáááºáá²á·áááºá
2020 ááœááºá á¡áááºáá«á¡áá»ááºáá»á¬ážá¡á¬ážáá¯á¶ážáá±á«áºáá¬ááŒá®ážááŒá áºáááºá áááºážááœááºáá»áœááºá¯ááºááá¯á·ááá¯áááŸááá±á¬á¡áá¬ááá¯ááá·áºááœááºážáá²á·áááº
- GitHub ááœááºááŒáẠ1 áá»á±á¬áºá
- áááºáááºáž áá áá
- áá®á¡á¬ áá áá¯ááá·áºááŸááááºá
- ááŸáá·áº á¡ááŒá¬ážáá¶á·ááá¯ážáá°áá®áá°á¡áá»á¬ážá¡ááŒá¬ážá
- áá áºáá»áááºáá¯á¶áž ááœáá·áºááœáá·áºáááºážáááºážááŒá±á¬áá«á áá«ááá¯á·á á¡á²áá®ááᯠáá±á·ááá¯ááºážááœá¬ážááŒá®ážáá±á¬á· á¡á²áá«áá²á· áááºáááºááŒá®áž áá áºáá¯áá¯áá¯ááºáá±ááá·áºáááºáž áá«áá
áá»áœááºá¯ááºááá¯á·ááá¯ááºááá¯ááºá Yandex ááŸá áá»áœááºá¯ááºááá¯á·á Managed Databases áááºáá±á¬ááºááŸá¯á¡ááœáẠáááºááá·áºá¡áá¬ááá¯á០á¡áá±á¬ááºá¡ááẠáá±á¬áºáááºáááá¯á¡ááºáá±á¬áºáááºáž á€ááá±á¬áá»ááºááẠáá»áœááºá¯ááºááá¯á·áá¡á¬áá¯á¶á áá¯ááºááŸá¯ááᯠááá¯ááá¯ááá¯á¡ááºááŒá±á¬ááºáž áááá¯á¶ážáá»á¯ááºáá¬áá«áááºá
ááŒá®ážáá±á¬á· 2018 áá²á· áá±á¬ááºážáŠážáá¬áá®ááŸá¬ áá áºáá±áá¬áá¬ááŸá¬ á¡ááœá±ážáá áºáá¯áááºáá¬áááºá áá»á¬ážáá±á¬á¡á¬ážááŒáá·áº ááá·áºááœáẠáááºááá¯á¶áá±á¬ááºáá«á á¡áá»áá¯á·áá±á¬á¡ááºá¹áá«áááºáá»á¬ážááᯠááŒá¯á á¯áá»áá¯ážáá±á¬ááºááẠááá¯á·ááá¯áẠáá»áá¯á·ááœááºážáá»ááºáá»á¬ážááᯠááŒá¯ááŒááºááẠá¡ááœá²á·ááœáẠáááºážáááºážáá»á¬ážá áœá¬ááŸááááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠá¡ááŒá¬áž developer ááᯠááŸá¬ážáááºážááŒá®áž áá°á·ááᯠááá¯ááºáá¶áá±ážááá¯ááºáááºá áá«ááŸááá¯áẠá¡áá¯ááºáááºá¡ááŒá Ạáááá±á¬ááºáááºááŒá®áž áá á¬áááºážáááºážáá±á¬ááºáá±ážááá¯á·ááá«áááºá áá«áá±ááá·áº áá¯ááºáá±ážáááºážááᯠááááºááááŒá®ážáá¬áž áá°á¡á¯ááºá á¯ááŒá®ážáááºáž ááŸááá«áá±ážáááºá áá¯ááºá¡áááºá¡ááœá±ážá áá¬áá²ááá¯áᬠáááºá¡ááŒá²ááááá«áá°ážá
á¡á²áá«ááᯠá ááºážá á¬ážááŒá®áž áá»á±á¬ááºážáá¬ážááœá±ááᯠááœá²áá±á¬ááºááá¯á· ááŒáá¯ážá á¬ážááá¯á· áá¯á¶ážááŒááºáá²á·áááºá ááá¯á·áá±á¬áº áá»á±á¬ááºážáá¬ážáá»á¬ážááẠáá»áœááºá¯ááºááá¯á·ááŸáá·áºá¡áá° á¡áá¬á¡á¬ážáá¯á¶ážááœáẠáá«áááºáááºááá¯ááºáá«á áá°ááá¯á·ááẠá¡áá¯ááºá á¡á áááºá¡ááá¯ááºážá¡áá»áá¯á·ááá¯áᬠáá¯ááºáá±á¬ááºáááºááŒá áºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºážááá¯á·ááẠá ááºážáááºááŸá¯áá»á¬ážáá±ážáá¬ážááŒááºážá á¡ááŸá¬ážá¡ááœááºážáá»á¬ážááᯠááŒááºáááºááŒááºážá áááºááá¯ááºáá±á¬ááºááá¯ááºá áœááºážááᯠáááááá¯ááºá á±ááá·áº á¡ááºá¹áá«áááºáá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá±ážáááºááŒá áºáááºá á¡ááááá¯ááºáá±á¬ááºááá¯ááºá áœááºážááŸá¬ á¡áááºááááºážáááºážááŸá¯áá»á¬áž áááºáá®ážááŒááºážááŸáá·áº á¡áááºáá°ážááŒááºážáá»á¬ážááᯠááŒááºáááºááá°ááŒááºáž ááŒá áºáááºá á¡áááºáá°ážáá°áá¬ááœáẠáá»áœááºá¯ááºááá¯á· á¡ááŸá¬ážáá¯ááºáááá«á áá±áᬠáá¯á¶ážááŸá¯á¶ážááŸá¯ ááŒá¯á¶ááœá±á·ááááºááŒá áºáá«áááºá ááŒá®ážáá±á¬á· áá«ááᯠáááºáá°á០áááá¯áá»ááºáá°ážá áá°ááá¯ááºážá á¡áá¬á¡á¬ážáá¯á¶ážááᯠá¡áááºážáá¯á¶ááŒá¯á¶á á±áá»ááºáááºá ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·áááá¯ááºááá¯ááºáááºáááºážáá±á¬ áá¯ááºááᯠááœáá·áºáááŒá¯áá»ááºáá«á ááá¯ááá¯áááºááŸá¬á á¡áá±ážááŒá®ážáá±á¬ááá¯ááºáá±á¬áá¯ááºááŸááºááá»áŸááẠáá»áœááºá¯ááºááá¯á·ááá±á¬ááºáááºá¡áá¯ááºááá¬ážáá»á¬ážáá¶á០áá»áœááºá¯ááºááá¯á·áááŸáááá¯áá±á¬á¡áá¬ááŒá áºáááºá
áááºááá¯á¡ááŒá±á¡áá±áá»áá¯ážááŸá¬ áá»á±á¬ááºážáá¬áž PR ááᯠáááºáá¶áá«ááá²á
- áááºážááá¯á·ááẠáááºážááá¯á·ááá¯ááºááᯠá ááºážáááºááŸá¯áá»á¬ážááŒáá·áº áá¯á¶ážááœáŸááºážááẠááá¯á¡ááºáááºá á¡á¬ážáá¯á¶ážá CI ááŸá¬ ááŒá áºááá·áºáááºá
- áá»áœááºá¯ááºááá¯á·áááºáááºáž áá¯á¶ážáááºáá»áẠá áá¯ááᯠááŒááºáááºážáá«áááºá áá áºáá±á¬ááºá Andrey Borodin áá²á· áá»áœááºáá±á¬áºáá áºáá±á¬ááºáá«á
- ááá¯á·á¡ááŒááºá áááºážááẠáá»áœááºá¯ááºááá¯á·ááááºáá±á¬ááºááŸá¯ááœáẠáááºááá·áºá¡áá¬á០áá»ááºááŒá¬ážáááºááá¯ááºááŒá±á¬ááºáž á á áºáá±ážáááºá¡ááœááºá á€áááááááºááŒáá·áº á ááºážáá±ážááœá²ááᯠáá®ážááŒá¬ážáááºáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠá¡áá¯á¶ážá០á¡áá¯á¶ážá á áºáá±ážááŸá¯áá»á¬ážááœáẠáááºááá·áºá¡áá¬áá»áŸ áá¡á±á¬ááºááŒááºááŒá±á¬ááºáž á á áºáá±ážáá«áááºá
Open Source á¡áá°ážáááºáááºáž
áá«á áá¬á·ááŒá±á¬áá·áº ááá¯á¡ááºááá² á áá«á áá¬ááŒá±á¬áá·áºáá² ááá¯áá¬ááᯠáááºážáááºážáá±á¬ááºáá±á¬á· ááá¯ááºááẠáááºááẠá
áá»áœááºá¯ááºááá¯á·á¡ááœáẠá¡ááŒááºááŸá¬ áááá¬áááºááŸá¬ážáááº-
- áá»áœááºá¯ááºááá¯á·ááẠá¡ááá¯áááºáá»á¬áž áááŸááá«áááºá
- ááŒá®ážáá±á¬á· á áááºáá¯ááºáá±ážáá²á· á áááºáá»áá²á· áá»á±á¬ááºážáá¬ážááœá±ááŒá¬ážááŸá¬ á¡ááœá²á·á¡ááœáẠááá¯ááºá á¬ážááŸááºáá±á¬ááºážááœá±ááᯠááŸá¬ááœá±áá±áá«áááºá
áá»á±á¬ááºážáá¬ážááœá±á¡ááœáẠáá¬á¡áá»áá¯ážááŸááá²á
á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áá»á±á¬ááºážáá¬ážáá»á¬ážááẠá¡áááºážáá¯á¶ážá¡á¬ážááŒáá·áº áá°ááá¯á·áá±ážáá±á¬áá¯ááºá¡ááœáẠááœá±ááááŸáááŒáá±á¬áºáááºáž áááºážááá¯á·ááá»á±á¬ááºážáá¬ážááŸááºáááºážá¡ááœáẠá¡ááá·áºáá»á¬ážááá¯áᬠáááŸááá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááẠáááºážááá¯á·á¡á¬áž ááŸááºážááŸááºážáááºážáááºáž ááááá¬áá±á
áá®á¡ááŒá±á¬ááºáž áá°ááá¯á·ááᯠáá±ážáááºá áá°ááá¯á·áá áá¬ážáá»á¬ážááœááºá
- Open Source ááœáẠáá«áááºáá°á¡ááœá±á·á¡ááŒá¯á¶á
- áááºá CV ááœáẠááá¯ááºážáá áºáá¯ááá°áá«á
- ááá·áºááá¯ááºáááºáááºáá±ááŒááŒá®áž Yandex ááœááºá¡ááºáá¬áá»á°ážáá áºáá¯ááŒá±ááá¯áá«á
- GSoC á¡ááœá²á·áááºááŒá áºáá«á
- áá¯ááºáá±ážááá¯áá°áá»á¬ážá¡ááœáẠ+1 á¡áá°ážáááºáááºážá
áááºáááºážááᯠáááºááá¯ááœá²á·á ááºážáá¬ážáá²ááá¯áá¬áá±á¬á· áááŒá±á¬áá±á¬á·áá«áá°ážá WAL-G á á¡ááá ááá±á¬áá»ááºááá¯á·áá² ááŒá±á¬áááºá á€áááºáááºážááœáẠOdysseyá PostgreSQL ááŸáá·áº ClickHouse áá²á·ááá¯á·áá±á¬ ááá±á¬áá»ááºáá»á¬ážááá¯áááºáž ááá·áºááœááºážáá¬ážáá«áááºá
ááŒá®ážáá±á¬á· áá°ááá¯á·á áá®áááºáááºážááŸá¬áááºáááá² áá®áááá¯áá¬ááœá±áá²á· áááºáááºážá¡áá¯ááºááœá±ááá¯áááºáž áá±ážáááºá
áá¯á¶ážá áœá²áá°ááœá±á¡ááœááºáá±á¬ áááºááá¯á¡áá»áá¯ážááŸááá²á
á¡áᯠáááºá áááºáááºá á¬ážáá¯á¶ážá¡ááá¯ááºážááᯠáááºááœá¬ážáá¡á±á¬ááºá áá«á áááºážáá¬áá±á¬ááºážáá²á á¡áááá¡áá»ááºááŸá¬ áá»á±á¬ááºážáá¬ážáá»á¬ážááẠáá»áá¯á·ááœááºážáá»ááºáá»á¬ážá áœá¬ááᯠááŒá¯ááŒááºáá²á·ááŒááŒááºážááŒá áºáááºá ááŒá®ážáá±á¬á· áááºážááá¯ááºážáá²á·á¡ááá¯ááºáž áá¯ááºááá¯ááºážáá²á· á¡ááºá¹áá«áááºááœá±ááᯠáá«ááá¯á·áá¯ááºáá¬ážáááºá
ááŒá®ážáá±á¬á· áááºážááá¯áá»ááºáá±á¬áá·áºááá²á·áá²á·á¡áá¬ááœá±áá²á· á¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áá¬ááœá±á¡ááŒá±á¬ááºáž áá«ááŒá±á¬ááŒáá«áá á±á
Tablespaces áá¶á·ááá¯ážááŸá¯á WAL-G ááẠááá¬ážááœááºáá»á¬ážáá«ááá·áº áá±áá¬áá±á·á áºá¡áááºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáá¬ážááá·áº á¡ááŒá¬áž á¡áááºáááááᬠWAL-E á áá±á¬ááºáááºááœá²ááŒá áºááá·áº WAL-G ááŒá áºáá±á¬ááŒá±á¬áá·áº WAL-G á០ááœááºáá¬ááááºážá ááá¬ážááœááºáá»á¬ážááᯠáá»áŸá±á¬áºááá·áºáá¬ážáááºá
á¡á²áá«á áá¬áá²ááá¯áá¬áá²á· áá¬ááŒá±á¬áá·áº ááá¯á¡ááºáá¬áá²ááá¯áᬠá¡áá»ááºážáá»á¯á¶ážááŒá®áž ááááá±ážáá«áá á±á áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá áááºá Postgres áá±áá¬á¡á¬ážáá¯á¶ážááẠbase áá¯áá±á«áºáá±á¬ ááá¯ááºá áá áºááœáẠáááºážááœáŸááºáá áºáá¯áá°áá¬ážáááºá ááá¯á·á¡ááŒáẠá€áááºážááœáŸááºááœáẠPostgres ááá¯á¡ááºáá±á¬ ááá¯ááºáá»á¬ážááŸáá·áº ááá¯ááºááœá²áá»á¬áž á¡á¬ážáá¯á¶ážáá«ááŸáááŒá®ážááŒá áºáááºá
Tablespaces áá»á¬ážááẠPostgres áá±áá¬áá«áááºáá±á¬ áááºážááœáŸááºáá»á¬ážááŒá áºáá±á¬áºáááºáž áááºážááá¯á·ááẠá¡ááŒá±áá¶áááºážááœáŸááºá¡ááŒááºáááºááœáẠááááºááŸááá«á áááá¯ááºááẠááá¬ážááœááºáá»á¬ážááᯠá¡ááŒá±áá¶áááºážááœáŸááºá á¡ááŒááºáááºááœáẠááŸááá±ááŒá±á¬ááºáž ááŒááááºá
Postgres ááá¯ááºááá¯ááºá áááºááá¯áá¯á¶á á¶áá²á á¡ááŒá±áá¶áááºážááœáŸááºááœáẠáá®ážááŒá¬ážáááºážááŒá±á¬ááºážááœá² pg_tblspc ááŸááááºá áááºážááœáẠá¡ááŒá±áá¶áááºážááœáŸááºá¡ááŒááºáááºááŸá Postgres áá±áᬠá¡ááŸááºááááºáá«ááŸááá±á¬ áááºážááœáŸááºáá»á¬ážááŸáá·áº áááºá¹áá±ááá»á¬ážáá«ááŸááááºá
á€á¡áá¬á¡á¬ážáá¯á¶ážááᯠáááºá¡áá¯á¶ážááŒá¯áá±á¬á¡áá«á ááá·áºá¡ááœáẠá€á¡áááá·áºáá±á¬áºáá»á¬ážááẠá€áá²á·ááá¯á·ááŒá áºááá¯ááºáááºá ááá¯ááá¯áááºááŸá¬ áááºááẠáááºááŸááºáá¬ážáá±á¬ ááá¬ážááœááºá¡áá»áá¯á·ááœáẠááá¬ážáá áºáá¯ááᯠáááºáá®ážááŒá®áž áááºážááẠááᯠáááºááá·áºáá±áá¬ááœáẠááŸááá±áááºááᯠááŒááºááá¯ááºáááºá á€áááºááŸá¬ áá±á¬ááºáá¯á¶ážá á¬ááŒá±á¬ááºážááŸá áºááŒá±á¬ááºážááŒá áºááŒá®ážá áá±á¬ááºáá¯á¶ážá¡áááá·áºááŸá áºáá¯áᯠáá±á«áºáááºá ááá¯áá±áá¬á áááºážáááºážá¡áá»áá¯á·ááŸááá±ááŒá±á¬ááºáž áááºááŸá¬ážáááºá áá«áá±ááá·áº áááºááœá±á·ááŸá¬áá±á¬á· áá«á áááá·áºáááºážáááºážááá¯ááºáá«áá°ážá á€áááºááŸá¬ base directory á០tablespace ááá¯á· ááŸá±á·ááœá¬ážáááºážááŒá±á¬ááºážááŒá áºáááºá áááºážá០áááºážááẠáááºá áá±áá¬á¡á á áºá¡ááŸááºááá¯á· ááá¯á·áá±á¬ááºáá±ážááá·áº áááºá¹áá±ááá áºáá¯ááŸáá·áº ááá¯ááºáá®áá«áááºá
áá»áœááºá¯ááºááá¯á·ááẠá€á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá»áœááºá¯ááºááá¯á·áá¡ááœá²á·ááœáẠá¡áá¯á¶ážáááŒá¯áá±á¬áºáááºáž áááºážááá¯á·ááẠWAL-G ááá¯á·ááŒá±á¬ááºážááœáŸá±á·ááá¯ááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á·áᶠá á¬áá±ážáá²á·áá±á¬ á¡ááŒá¬áž WAL-E á¡áá¯á¶ážááŒá¯áá°áá»á¬ážá០á¡áá¯á¶ážááŒá¯áá²á·áá±á¬áºáááºáž áááºážááᯠáááºááá·áºá á±áá²á·áááºá áá«ááᯠá¡áᯠáá±á¬ááºááœááºáá±ážáá±áá«ááŒá®á
áá»áœááºáá±á¬áºááá¯á·áá²á· á¡áá°ážáááºáááºážá áá»áœááºáá±á¬áºááá¯á·ááᯠáá°áá±á¬ááºáá¬áá²á· áá±á¬ááºáááºáá°ážááŒá¬ážáá»ááºáá áºáá¯ááá±á¬á· ááááºááŸá áºá Postgres áá²á·ááẠOracle áá²á· ááá¯á¡áá¯ááºáá¯ááºáá°ážáá°ááœá±áᬠááááºáá±ááºá¡ááŒá±á¬ááºážááᯠááááŒáá«áááºá
á¡á²áá« áá¬áá²ááá¯áᬠá¡ááá¯áá»á¯á¶ážááŒá±á¬áá«á áá»áœááºá¯ááºááá¯á·ááááºáá±á¬ááºááŸá¯ááŸá á¡á á¯á¡áá±ážá ááááºááá¯ááºážáá±áááẠá¡áá»á¬ážá¡á¬ážááŒáá·áº á€áá²á·ááá¯á·áá±á¬áá¯á¶áá±á«ááºááá¯ááºáááºá áá«ááá¯á·ááŸá¬ áá¬á áá¬ááŸááááºá áááºážá០áá±áž-ááŒáá¯áááºááŸááºáááºážááᯠááá¯ááºááá¯ááºáá¯ááºááœáŸáá·áºááá·áº áá¯á¶áá°áá áºáá¯ááŸááááºá áá¯á¶áá°ááẠáááºááŸáááœáẠáááºááá·áº LSN ááá¯ááœáá·áºáá¬ážááŒá±á¬ááºáž áá¬á áá¬á¡á¬áž ááŒá±á¬ááŒáááºá áááºážááŸáá·áºá¡ááŒáá¯áẠáá áºáá±áá¬áá¬ááœáẠááŸááºáááºážááᯠááááºážáááºážááá¯ááºáááºá ááŸááºáááºážááᯠááááºážáááºážááŒááºážá¡ááŒááºá áááá¹áá°áá°ážáá°ááŸá¯áá»á¬ážááá¯áááºáž cloud ááá¯á· áá±ážááá¯á·áá«áááºá ááŒá®ážáá±á¬á· ááŒá áºááá»áœááºážáá±á«áº á¡áááºáá°ážáá¬ááœá±ááᯠááá¯á·áááºá
áá¬ááŒá¿áá¬ááŸáááá¯ááºáá²á ááá·áºááœáẠá¡ááœááºááŒá®ážáá¬ážáá±á¬ áá±áá¬áá±á·á áºáá áºáá¯ááŸááá±á¬á¡áá«á áááºááá¯á¶á á¶áá°ááẠáá¬á áá¬áá±á¬ááºááœáẠáá±á¬ááºáá»áá»ááºáá±áá±á¬á·áááºááᯠááœá±á·ááŸáááá±áááºá ááŒá®ážáá±á¬á· áá°áá²á· áááºáá±á¬á·á០ááá¯ááºááá®ááá¯ááºáá±á¬ááºá¡á±á¬áẠáá±á¬ááºáá»áá»ááºáá±áá²á·áááºá áá®ááŒá¿áá¬ááᯠáá»á¬ážáá±á¬á¡á¬ážááŒáá·áº áá áºáááºážáááºážáá²á· ááŒá±ááŸááºážááá¯á· ááá¯áá«áááºá
á¡ááœááºáá¯á¶ážáááºážáááºážááŸá¬ áá¯á¶áá°ááᯠáááºááŸá¬ážááŒá®áž ááŒááºáááºá¡ááºáá¯ááºáá¯ááºááŒááºážááŒá áºááŒá®áž áááºážááẠáááºááá·áºá¡áá«á០ááá¯ááºáá»á±á¬áá®ááœá±áááŒá áºáá²á ááŒá¿áá¬ááᯠááŒá±ááŸááºážááẠááá¯á¡ááºáá«áááºá ááá¯á·áá±á¬áº 10 TB áá±áá¬áá±á·á áºá¡áááºáá°ážáá°ááŒááºážááᯠááŒááºáááºááá°ááŒááºážááẠá¡ááœááºááŸááºáá»á¬ážáá±á¬ á¡áá»áááºááŒá áºáá±á¬ááŒá±á¬áá·áºá áá®ááá¯ááŒá¿áá¬ááœá± ááŒá¯á¶áá¬áááºáááºáž áá«ááᯠáááºááá¯ááºááá»áŸ ááŒááºááŒááºááŒá®ážá á±áá»ááºáááºá á¡á²áá«á ááááºááŸá áºá¡ááœááºáá²á
Catchup ááẠááá·áºá¡á¬áž á€áááºážááŒáá·áº cloud ááœááºááááºážáááºážáá¬ážááá·áº delta backups ááá¯á¡áá¯á¶ážááŒá¯áááºááœáá·áºááŒá¯áááºá áááºááẠáááºááá·áº LSN ááẠáá±á¬ááºáá»áá±áá±á¬ áá¯á¶á á¶áá°ááᯠááœáá·áºáá¬ážáááºáᯠáááºááŒá±á¬ááŒá®áž áááºá áááºááŸááááºááŸááá±ááá·áº á¡ááá¯áá« LSN ááŸáá·áº LSN á¡ááŒá¬áž ááŒá áºááá»áœááºážáá±á«áº á¡áááºáá°ážáá°ááŸá¯ááᯠáááºáá®ážáááºá¡ááœáẠáááºážááᯠáááºážáá¯ááºáá¬ážáá±á¬ ááœááºáááºážááœáẠáááºááŸááºáá«á ááá¯á·áá±á¬ááºááœáẠáááºááẠáá±á¬ááºáá»áá»ááºáá±áá±á¬ áá¯á¶á á¶áá°ááá¯á· á€á¡áááºáá°ážáá°ááŸá¯ááᯠááŒááºáááºááá°áá«á
á¡ááŒá¬ážááŒá±áá¯ááºá áááºážáá»á¬áž
áá»á±á¬ááºážáá¬ážáá»á¬ážáááºáááºáž á áœááºážáá±á¬ááºáá»ááºáá»á¬ážá áœá¬ááᯠáá áºááŒáá¯ááºááẠáá°áá±á¬ááºáá¬ááŒáááºá Yandex ááœááºáá»áœááºá¯ááºááá¯á·ááẠPostgres ááá¯áá»ááºááŒá¯ááºáá¯á¶áá¬ááá áá»áœááºá¯ááºááá¯á·ááœáẠMySQLá MongoDBá Redisá ClickHouse áááºážááŸááááºá áá áºáá»áááºáá»áááºááœááºáá»áœááºá¯ááºááá¯á·ááẠMySQL á¡ááœáẠpoint-in-time recovery ááŒáá·áºá¡áááºáá°ážáá°áááºááá¯á¡ááºáááºá ááá¯á·ááŸáᬠupload áááºáááºá¡ááœáá·áºá¡áááºážááŸááááºá ááááºááá¯ááºáá®ááá¯á·á
ááŒá®ážáá±á¬á· WAL-G áá¯ááºáá²á·áááºážáá²á· á¡áá¬ážáá°áá¯ááºáá»ááºáááºá ááŒá®ážâáá±á¬á· áá»áœááºââáá±á¬áºâááá¯á· á ááºážáááºâááŒáá·áºâááá¯á· áá¯á¶ážááŒááºâááá¯ááºâáááºâá
á¡á ááá¯ááºážááŸá¬áá±á¬á· áá®áá¯áá¹áááá±áááᯠáááºááá¯áááºážáá²á·á០ááá»áŸáá±áá² áááºážáá¯á¶áááºážááœááŸá¬ áá¯ááºááá¯áá±ážáá²á·áá«áááºá áá»áœááºáá±á¬áºááá¯á·ááŸá¬ á¡áá¯ááºáá¯ááºáá²á· áá¯á¶á á¶áá áºáá»áá¯ážáá»áá¯ážááŸáááŒá®áž áá»á¶áááºážááá¯ááºáááºááá¯áᬠáá°ááá¯á·ááŒááºáááºá ááá¯á·áá±á¬áẠáá»áœááºá¯ááºááá¯á·á á¡áááá¡ááá¯ááºá¡áááºážááẠpostgresists ááŒá áºáááºáᯠáá»áœááºá¯ááºááá¯á·áááºáá²á·ááŒáááºá áááºážááá¯á·ááẠWAL-G ááᯠá¡áá¯á¶ážááŒá¯ááŒáááºá áá«ááŒá±á¬áá·áº áá®á¡ááá¯ááºážááœá±ááᯠáá áºáááºážáááºážáá²á· ááœá²ááá¯á· ááá¯áá«áááºá ááá¯ááá¯áááºááŸá¬á áá»áœááºá¯ááºááá¯á·ááẠPostgres á¡ááœááºáá¯ááºááᯠáááºážááŒááºáá±á¬á¡áá«á áá»áœááºá¯ááºááá¯á·ááẠMySQL ááᯠááá»áá¯ážáá»ááºáá²á áá»áœááºá¯ááºááá¯á·ááẠMySQL ááᯠáááºážááŒááºáá±á¬á¡áá«á áá»áœááºá¯ááºááá¯á·ááẠPostgres ááᯠáá»áá¯ážáá»ááºáááºááá¯ááºáá«á
áá«ááᯠááœá²áá¯ááºáá¯á¶áá²á· áááºáááºááŒá®áž ááááá¯á¶áž á áááºáá°ážááá±á¬á· PostgreSQL extensions ááœá±ááŸá¬ áá¯á¶ážáá²á· áá°áá®áá²á· áá»ááºážáááºáááºážááᯠá¡áá¯á¶ážááŒá¯áá¬ážáᬠááŒá áºáá«áááºá ááááºáá±á¬á·á MySQL á¡áááºáá°ážáá°ááá¯á· dynamic library áá áºáá»áá¯ážáá»áá¯ážááᯠááá·áºááœááºážááá«áááºá
ááá¯á·áá±á¬áº á€áá»ááºážáááºááŸá¯á á¡áá»áá¯ážááá®ááŸá¯ááᯠáá»ááºáá»ááºážááŒááºááá¯ááºáááºá ááẠPostgres ááᯠáááá¹áá°áá°ážáá±á¬á¡áá«á áááºááẠáááºážáá±á«áºááœáẠPostgres á¡ááœáẠáá¯á¶ááŸááºá¡áááºáá°ážáááºááŒá®áž á¡áá¬á¡á¬ážáá¯á¶áž á¡áááºááŒá±áá«áááºá MySQL á¡ááœááºá áááºááẠPostgres á¡ááœáẠá¡áááºáá áºáá¯ááᯠááá·áºááœááºážááŒá®áž áááºážá¡ááœáẠMySQL á¡ááœáẠááœá±á·áá»á¬ážá á¬ááŒáá·áºááá¯ááºáá áºáá¯ááá¯áááºáž ááá·áºááœááºážááŒá±á¬ááºáž áá±á«áºááœááºá á±áááºá á¡áá¶á áá áºáá»áá¯ážáááºážáááºá áá»áœááºá¯ááºááá¯á·áááºáž ááá¯áá²á·ááá¯á·ááœá±ážááŒá®áž á€á¡áá¬ááẠáá»áœááºá¯ááºááá¯á·ááá¯á¡ááºáá±á¬ á¡ááŒá±ááá¯ááºááŒá±á¬ááºáž áá¯á¶ážááŒááºáá²á·áááºá
Postgresá MySQLá MongoDBá Redis á¡ááœáẠá¡áá»áá¯ážáá»áá¯ážáá±á¬ áááºáá±á¬ááºááŸá¯áá»á¬áž
áá«áá±ááá·áº áá«á áá»áœááºáá±á¬áºááá¯á·ááᯠááŸááºáááºáá²á· áá¯á¶ážááŒááºáá»áẠáá»ááŸááºááá¯ááºá á±ááẠ- ááá°áá®áá²á· á¡ááŒá±áá¶á áááºážááœá±á¡ááœáẠááá°áá®áá²á· á ááºážáá±ážááœá²ááœá±ááᯠááœá²áá±áá»áá¬ážááá¯á· ááœáá·áºááŒá¯áá²á·áááºá áááºážááẠWAL-G á¡áá±á¬ááºá¡áááºáá±á¬áºáá±á¬ááºááœááºááá·áº áá¯á¶ API ááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááá·áº áá±áá¬áá±á·á áºá¡áá»áá¯ážáá»áá¯ážá á¡áááºáá°ážáá»á¬ážááŸáá·áº áááºá ááºáá±áá±á¬ áá¯áá¹ááááᯠááœá²áá¯ááºááá¯ááºá á±áá²á·áááºá
áá®á¡ááá¯ááºážááá±á¬á· áá»á±á¬ááºážáá¬ážááœá±ááᯠááŒá¿áá¬áááŸááºážáááºááŸá¬ áá»áœááºáá±á¬áºááá¯ááºááá¯ááºáá±ážáá²á·áá²á·á¡ááá¯ááºážáá«á ááá¯ááá¯áááºááŸá¬á á€áááºááŸá¬ áá°ááá¯á·á¡ááŸá¬ážáá áºáá¯áá¯áá¯ááºááá¯ááºááá·áº á¡ááá¯ááºážááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áº á€áá²á·ááá¯á·áá±á¬á¡áá¬áá»áá¯ážááᯠááá¯áá±á¬ááºážá¡á±á¬ááºááŒá¯áá¯ááºááŒá®áž á¡á¬ážáá¯á¶ážá¡áááºááŒá±ááœá¬ážáááºááŒá áºááŒá±á¬ááºáž áá¯á¶ážááŒááºáá²á·áááºá
á¡á²áá«ááŒá®ážááẠáá»áœááºáá±á¬áºááá¯á·á ááŒá¿áá¬ááœá±ááᯠááŸááºážáá±ážáááºá áá°ááá¯á· áá»ááºáá»ááºáž ááŒá¯ááºáá áºááá¯ááºáááºá áá»á±á¬ááºážáá¬ážáá»á¬ážááᯠá¡ááŒá±áᶠáá¯á¶ážáᯠáá±á¬ááºáá¶á·ááẠááá¯á¡ááºáááºá
á€áááºážááŒáá·áº WAL-G ááá¯á¡áá¯á¶ážááŒá¯á á¡áááºáá°ážáá¬ážáá±á¬ MySQL ááẠáá áºááŸá áºáá»á±á¬áºááŒá¬áá«áááºá
ááá¯áááºáž MongoDB ááẠááá¯ááºáá áºáá¯ááŒáá·áº ááŒá®ážááœá¬ážááá·áº áá¯ááºáá¯ááºááŸá¯ááᯠáá»ááºážáááºáá±ááŒá®ááŒá áºáááºá ááááºáá±á¬á·á áá®á¡áá¬á¡á¬ážáá¯á¶ážá¡ááœáẠáá°áá±á¬ááºááᯠáá±ážáá²á·áááºá áá±á¬ááºáá±á¬á· áá»á±á¬ááºážáá¬ážááœá±á áá¯ááºááá¯á·ááá²á· á¡áá¬ááœá±ááᯠáá±ážáááºá ááŒá®ážáá±á¬á· áá»áœááºáá±á¬áºááá¯á·á áá°ááá¯á·ááᯠáá¯ááºáá¯ááºááŸá¯ááŸá¬ áááºáá¶ááá¯ááºáá²á· á¡ááŒá±á¡áá±áá áºáá¯áá® ááá¯á·áááºá
á€ááŒá¿áá¬áá»á¬ážááẠá€áá±áá¬áá±á·á áºáá áºáá¯á á®á¡ááœáẠááŒá®ážááŒáá·áºá á¯á¶áá±á¬ á¡áááºáááááá¬áá»á¬ážááᯠáá±ážáá¬ážááẠáá»á±á¬ááºážáá¬ážáá»á¬ážááŸáá·áº ááá°áá«á áá«ááá¯á·ááŸá¬ áá®ááá¯ááŒá¿áá¬áááŸááá°ážá áá»áœááºá¯ááºááá¯á·áááŒá¿áá¬ááŸá¬ á¡áá»áááºááŸáá·áºáá áºááŒá±ážáá® ááŒááºáááºááá°ááá¯ááŒá®áž cloud ááá¯á· áááá¹áá°áá°ážááá¯ááŒááºážááŒá±á¬áá·áºááŒá áºáááºá áá«ááá¯ááŒá±ááŸááºážááá¯ááºááá·áº áá¯ááºááá»áá¯á·áá±ážááá¯á· áá»á±á¬ááºážáá¬ážááœá±ááᯠáá°ááá¯á·á áá±á¬ááºážááá¯áááºá áá»á±á¬ááºážáá¬ážáá»á¬ážááẠááŸáááŸáá·áºááŒá®ážáá¬áž áááá¹áá°áá°ážááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááŒá®ážá áá áºá á¯á¶áá áºáá¯áá±á¬ á¡áááºááááºážááŒááºážááᯠáá°áᬠáááºážááá¯á·á¡á¬ážáá¯á¶ážááᯠcloud ááá¯á· áááºááá·áºááá¯á·ááá·áº WAL-G ááŸáá·áº áá±á«ááºážá ááºáá¬ážáááºá ááá¯á·á¡ááŒáẠáááºážááá¯á·ááẠá€á¡ááœáẠpoint-in-time recovery ááá¯áááºáž ááá·áºááœááºážáá¬ážáááºá
áá»á±á¬ááºážáá¬ážááœá± áá¬ááœá± áá°áá¬áá±ážáá²á áááºážááá¯á·ááẠWAL-G ááá¯á· Libsodium áá¯ááºááŸááºááŒááºážáá¶á·ááá¯ážááŸá¯ááᯠáá°áá±á¬ááºáá¬áá²á·áááºá
áá»áœááºá¯ááºááá¯á·ááœáẠá¡áááºááá¯ááŸá±á¬ááºááŸá¯ áá°áá«ááá»á¬ážáááºáž ááŸááááºá ááá¯á¡áá« á¡áááºááááºážááŸá¯áá»á¬ážááᯠá¡ááŒá²áááºážá¡ááŒá Ạá¡ááŸááºá¡áá¬ážááŒá¯ááá¯ááºáá«áááºá ááá·áºáááºáá±á¬ááºááŸá¯ááẠáááºážááá¯á·ááᯠááááºážáááºážááŒááºážáá¯ááºáááºážá ááºááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááẠáá áºáááºážáááºážááŒáá·áº ááá¯ááá¯á¡áááºááŒá±áá«áááºá
áá®á ááºážáááºááŸá¯áá²á·ááááºááá¬áá²á
áááºáááºážá¡ááœáẠáááŠáž á á¬áááºážáá±ážááœááºážáá¬ážáá° 100 áá»á±á¬áºááŸááááºá Yekaterinburg ááŸá ááá¹áááá¯ááºááẠUral Federal University áᯠá¡á ááœáẠáá»áœááºáá±á¬áº áááŒá±á¬áá²á·áá«á á¡á²áá®ááŸá¬ á¡áá¯ááºáá¯á¶ážááᯠááŒá±áá¬áááºá áá° 100 á á¬áááºážááœááºážáá¬ážáááºá ááááºáá±á¬á· áá° 30 áá±á¬ááºá áá áºáá¯áá¯ááᯠá áá¯ááºáá±á¬á· áá°áááºážáááºá
ááŸáááŸáá·áºááŒá®ážáá¬ážáá¯ááºáá»á¬ážá¡ááœáẠá á¬áá±ážááœá²áá»á¬ážáá±ážááẠááá¯á¡ááºáá±á¬ááŒá±á¬áá·áº áááºáááºážááŒá®ážáá¯á¶ážáá°áááºážáá«ážáááºá ááá¯á·á¡ááŒáẠáá»áá¯á·ááœááºážáá»ááºá¡áá»áá¯á·ááá¯áááºáž ááŒááºáááºáá« ááá¯á·ááá¯áẠáá¯ááºáá±á¬ááºáá»ááºá¡áá»áá¯á· ááŒá¯áá¯ááºáá«á áá»á±á¬ááºážáá¬ážááá»áá¯á·áááºáž áááºáááºážááááºáá¯ááºážáá«áá²á
áááºááŸáááœááºá á€áááºáááºážáá¬áá¡ááœááºáž áá»á±á¬ááºážáá¬ážáá»á¬ážááẠááŒá¿áᬠáá áá¯ááá·áºááᯠááŒááºáááºááŒá®áž á¡ááœááºá¡á á¬ážá¡áá»áá¯ážáá»áá¯ážááŸá á¡ááºá¹áá«ááẠáá áá¯ááᯠááŒá¯áá¯ááºáá²á·áááºá áá±á¬ááºááŒá®ážáá±á¬á· áá«á developer áá áºáá±á¬áẠááá¯á·ááá¯áẠááŸá áºáá±á¬ááºáá²á· ááŒáá·áºá á¯á¶áá²á· á¡á á¬ážááá¯ážááŸá¯áá áºáá¯ááá¯á· áá»áœááºáá±á¬áºáááºáá«áááºá
á¡ááŒá¬ážá¡áá¬áá»á¬áž á¡áá±ááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠáá®áááá¯áá¬áá»á¬ážááŸáá·áº áááºáááºážáá»á¬ážááᯠáá¯ááºáá±ážáá«áááºá áá®áááá¯áᬠáá áᯠáááŸááá²á·áá«áááºá áá°ááá¯á·áá²á á áá±á¬ááºá âá â ááŸá¬ áá°ááá¯á·ááá¯ááºáá°ááá¯á· áá¬ááœááºááŒá®ážáá¬ážáá«á áá»ááºáá²á·áá²á·áá°ááœá±á á¡áá¬á¡ááœááºáááá±ážáá±ááá·áº áá°ááá¯á·á¡ááœááºáááºáž á¡á¬ážáá¯á¶ážá¡áááºááŒá±áááºááá¯á· áááºáá«áááºá
á¡áá¬ááá»á¡ááŸáá»á¡á á®á¡á áá»ááŒá¬áž
áá«ááá¯á·á¡áá¬áááºá¡ááœáẠáááºááá¯á¡á á®á¡á ááºááœá±ááŸááá²á
á¡áááºážáá¯á¶áž á¡áá¯á¶ážááŒá¯áá°áá»á¬ážáá¶á០áá»áœááºá¯ááºááá¯á·ááŒá¬ážáááá¬ážááŒá®ážááŒá áºááá·áº áá±á¬ááºážááá¯áá»ááºáá»á¬ážááŸáá·áº ááŒá¯áá¯ááºááá¯áá«áááºá á€-
- HA á¡á á¯á¡áá±áž á¡áááºááááºážáááºážááŸá¯ááœáẠá¡áá»áááºááá¯ááºážááŒá±áá¬áá¶ááŒááºážá ááŸááºáááºááŸá¯ááᯠá á±á¬áá·áºááŒáá·áºááŒááºážá áá«ááᯠWAL-G áá²á· áá¯ááºááá¯ááºáá«áááºá ááŒá®ážáá±á¬á· áá®ááá á¹á ááᯠáá¬áááºáá°ááá·áº áá»á±á¬ááºážáá¬ážááœá±áááºáž ááŸááááºáááºáááºá
- áá»áœááºá¯ááºááá¯á·ááœáẠá¡áááºááááºážáááºážááŸá¯áá»á¬ážááŸáá·áº WAL ááᯠcloud áá»á¬ážááŒá¬ážááœáẠááœáŸá²ááŒá±á¬ááºážáá±ážááẠáá¬áááºááŸááá¯áá¹ááá¯ááºáá áºáŠážááŸáááŸáá·áºááŒá®ážááŒá áºáááºá
- á á¬áá»ááºááŸá¬áá»á¬ážááᯠááŒááºáááºáá±ážáá¬ážááŒááºážáááŒá¯áá² áá»áœááºá¯ááºááá¯á·áá¶áá±ážááá¯á·áá±á¬ áá±á¬áºááœááºážááá¯ááºáá»á¬ážááᯠááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºááŒááºážáááŸááá² ááá¯ážááŒáá·áºáá±á¬á¡áááºáá»á¬ážááá¯áá¯ááºááá¯ážááŒááºážááŒáá·áº WAL-G ááᯠááá¯ááá¯á¡ááŸáááºááŒáŸáá·áºááá¯ááºá á±ááá·áº á¡áá¯ááºáá®áá¬ááᯠáááŒá¬áá±ážáá®á áá¯ááºááŒááºáá²á·áááºá
áááºážááá¯á·ááᯠá€áá±áá¬ááœáẠáááºáá»áŸáá±ááá¯ááºáá«áááºá
áá®á¡á á®áááºáá¶á á¬á áá¬á¡ááœááºáá²á áá«á·á¡ááŒáẠá¡áᯠáá®ááá±á¬áá»ááºááᯠáá¶á·ááá¯ážáá±ážáá²á· áá° á áá±á¬ááºá¡ááŒááºá á¡á²áá®áá²áá០áá±á¬ááºááẠáááºááœá±áááºáž á¡áá»á¬ážááŒá®ážááŸááá«áááºá á¡áá°ážáááŒáá·áº ááá¯ááºáá±ážááá¯ááºáᬠáááºáá±á·áá»áºáá²á· áá°ááá¯á·áá® áá±ážáá±ážáááºáá±á«á·á áááºááá±áá¬ááᯠá¡áááºááááºážááŒá®áž WAL-G ááᯠá¡áá¯á¶ážááŒá¯á áá¯ááºáá±á¬ááºáá«á ááá¯á·ááá¯áẠWAL-G ááá¯á· ááŒá±á¬ááºážááœáŸá±á·ááá¯áá«áá ááá·áºááá¹ááá»á¬ážááᯠáá»áœááºá¯ááºááá¯á· á¡ááœááºááá° ááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá á±ááá¯ááºáááºá
áááºážááẠQR áá¯ááºááŸáá·áº ááá·áºááºáá áºáá¯ááŒá áºáááºá áááºážááá¯á·ááá¯ááŒááºá ááá·áºááá¹áá¡á¬ážáá¯á¶ážááᯠáá±ážááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠáá»áá¯á·ááœááºážáá»ááºá¡áá»áá¯á·ááᯠáááŒá¯ááŒááºáá«á ááá¯á·ááá¯áẠáááºááẠá¡áá»áá¯á·áá±á¬ á¡ááºá¹áá«áááºáá»á¬ážááᯠá¡ááŸááºáááẠááá¯áá»ááºáá±á¬áºáááºážá áá»áœááºá¯ááºááá¯á·á á¡áá«á¡ááẠáááºááá·áº á¡áááºááááºážááŸá¯ááœááºá០áááá±ážáá«á áá®á¡ááŒá±á¬ááºážááᯠáá±áá»á¬áá±ážáá«á
áá±ážááœááºážáá»á¬ážááá¯
áááºá¹ááá¬áá«! á¡á á®áááºáá¶á á¬á¡ááœáẠáá»á±ážáá°ážáááºáá«áááºá WAL-G ááŸáá·áºáááºáááºáá±á¬áá±ážááœááºážááŒá áºáá±á¬áºáááºáž Postgres á¡ááŒá±á¬ááºážááá¯ááºáá«á WAL-G ááẠMySQL ááᯠá¡áááºááááºážááŒá®áž á¡ááá¯á¡áááºáá°ážáá°ááŸá¯ááᯠáá±á«áºáááºá á¡áááºá áá»áœááºá¯ááºááá¯á·ááẠCentOS ááœáẠáá±ááºáá®áááºáááºááŸá¯áá»á¬ážááá¯áá°á MySQL ááá¯ááá·áºááœááºážáá«á MariDB ááá¯ááá·áºááœááºážáááá·áºáááºá áá¬ážááŸááºáž 10.3 á០á¡ááá¯á¡áááºáá°ážááŒááºážááᯠááá¶á·ááá¯ážáá«á MariDB á¡áááºáá°ážááŒááºážááᯠáá¶á·ááá¯ážáá¬ážáááºá áá«ááᯠáááºážáááºááá¯áá±áá²á
áá±á¬áá±á¬ááẠMariDB ááᯠá¡áááºáá°ážááá¯á· áááŒáá¯ážá á¬ážáá±ážáá«áá°ážá áá»áœááºá¯ááºááá¯á·ááœáẠFoundationDB áá¶á·ááá¯ážáá°áá®ááŸá¯á¡ááœáẠáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááŸááá²á·áá±á¬áºáááºáž áá±áá¯áá»á¡á¬ážááŒáá·áºá ááá¯ááá¯á·áá±á¬áá±á¬ááºážááá¯ááŸá¯ááŸááá«áá áááºážááá¯áá¯ááºáá±á¬ááºááá·áºáá°áá»á¬ážááᯠáá»áœááºá¯ááºááá¯á·ááŸá¬ááœá±ááá¯ááºáááºá ááŸááºáá»á¬ážááẠáááºááá±á¬áẠááááºáá²áá«áá°ážá
áááºá¹ááá¬áá±á·áááºáááºážáá« á¡á á®áááºáá¶á á¬á¡ááœáẠáá»á±ážáá°ážáááºáá«áááºá á¡áá¬ážá¡áá¬á¡áá áºáá»á¬ážá¡ááŒá±á¬ááºáž áá±ážááœááºážá áááºááẠááááºááœá±áá»á¬ážááá¯á· áá°ážáá°ááá¯ááºá á±ááẠWAL-G ááááºáá»á¬ážááŒáá·áº áá¯ááºáá±á¬ááºááẠá¡áááºááá·áºááŒá áºááŒá®áá¬ážá
ááááºááá¯ááŸá±á¬ááºááŸá¯ááœáẠáááá¹áá°áá°ážááŒááºážááᯠááá¯ááá¯áááºááŸá¬ áááºááŸá¬ážáá«ááá¬ážá
áá¯ááºáá«áááºá
áá®áá±ážááœááºážááᯠáá«á·ááẠááá¯áá±á¬ááºážá¡á±á¬áẠááŒá±ááá¯ááºáá²á· Andrei Borodin ááŸááááºá
(á¡ááºááá®) áá¯ááºáá²á· áá±ážááœááºážá¡ááœáẠáá»á±ážáá°ážáááºáá«áááºá cloud ááá¯ááŸá±á¬ááºááŸá¯á០ááááºááá¯á· á¡áááºáá°ážáá°ááẠáá±á¬ááºážááá¯áá»ááºáá
áºáá¯ááŸááááºá áá®á¡ááœááº
á¡á á®áááºáá¶á á¬á¡ááœáẠáá»á±ážáá°ážáááºáá«áááºá á áááºáááºá á¬ážá áᬠááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ áá¯ááºáááºážá ááºá áááá¹áá°áá°ážááŒááºážááẠá ááºážáááºááŸá¯áá»á¬ážááŒáá·áº áá±á¬ááºážááœááºá áœá¬ ááœáŸááºážááŒá¯á¶áá¬ážááá·áºáá±á¬ áá±ážáááºáá±á¬ áá¯ááºáá±á¬ááºááá¯ááºá áœááºážáá áºáá¯ááŒá áºáááºá áá±áá¬áá±á·á áºá¡áá áºá¡ááœáẠáá¯ááºáá±á¬ááºááá¯ááºá áœááºážááᯠáááºá¡áá±á¬ááºá¡áááºáá±á¬áºáá±á¬á¡áá«á áá»á±á¬ááºážáá¬ážáá»á¬ážááẠá á¬áá±ážááœá²áá»á¬ážááᯠáá±ážáá²á·ááá¬ážá ááá¯á·ááá¯áẠáááºááá¯ááºááá¯áẠá á¬áá±ážááœá²áá»á¬ážááᯠáá±ážááŒá®áž áá»á±á¬ááºážáá¬ážáá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá±ážáá«ááá¬ážá
áá»á±á¬ááºážáá¬ážááœá±ááááºáž á á¬áá±ážááœá²ááœá± áá±ážáááºá ááá¯á·áá±á¬áº áá»á±á¬ááºážáá¬ážáá»á¬ážááẠáá±áá¬áá±á·á áºá¡áá áºáá»á¬ážáá²á·ááá¯á·áá±á¬ á¡ááºá¹áá«áááºáá»á¬ážá¡ááœáẠááá¯ááá¯áá±ážáá¬ážáá²á·áááºá áá±á«ááºážá ááºážáá±áž á á¬áá±ážááœá²ááœá± áá±ážááŒáááºá áá°áá áºá á¬áá±ážááœá²ááœá± áá±ážááŒáááºá áá±á«ááºážá ááºážááŸá¯á¡á±á¬ááºááŒááºááœá¬ážáá«áá ááá¯ááá¯áááºááŸá¬á á€áááºááŸá¬á á€áááºááŸá¬ áááºááá¯ááºááá¯ááºáá¯ááºáá±á¬ááºááá·áº script áá áºáᯠááá¯á·ááá¯áẠá¥ááá¬á¡á¬ážááŒáá·áº áááºááŒá¯áá¯ááºáá±ááá·áº cron ááŸááááºá ááá¯ááá¯áá¬á á¡á²áá®ááŸá¬ áá¬ááºááœáŸááºážá á¡áááºážááŸááºážáááºá
áá»á±á¬ááºážáá¬ážááœá±á á¡ááœá±á·á¡ááŒá¯á¶ ááááºáááŸáááŒáá°ážá ááŒááºáááºáá¯á¶ážáááºááŒááºážá á¡áá»áááºá¡áá»á¬ážááŒá®ážáá°ááá«ááá¬ážá
áá¯ááºáá²á·á áá¯á¶ážáááºáá»ááºááœá±á á¡áá»áááºá¡áá»á¬ážááŒá®ážáá°ááá«áááºá ááá¯ááá¯áááºááŸá¬á áá»á¬ážáá±á¬á¡á¬ážááŒáá·áº áá±á¬áºááá®ááẠá¡áá»á¬ážá¡ááŒá¬ážááẠáá«áá¯ááºáááºáᯠáá áºááŒáááºáááºáž áá¬ááŒá±á¬áá±á¬á¡áá«á áá«áá¯ááºáááºá ááá¯á·áá±á¬áẠáááºážááá¯á·áá±ážáá¬ážáááºááᯠááááŸáááẠáá±á·áá áºáááºááá·áº áááºáá¬ážááẠááá¯á¡ááºáááºá áá¬ááŒá±á¬áá·áºáá²ááá¯áá±á¬á· áá¯ááºááᯠáá±áá»á¬áááºááááºá áá°ááá¯á·ááŸá¬ á¡ááºáá¬áá»á°ážáááŸááá°ážá áááºážááá¯á·ááᯠáá»áœááºá¯ááºááá¯á· áá±á¬ááºážá áœá¬ááááá±á¬ááŒá±á¬áá·áº á¡áá»áááºáá»á¬ážá áœá¬ááŒá¬áá«áááºá
á¡á á®áááºáá¶á á¬á¡ááœáẠáá»á±ážáá°ážáááºáá«áááºá ááááºáá Andrey Borodin ááẠWAL-G ááŸá archive_command ááᯠááá¯ááºááá¯ááºáá±á«áºááá¯ááá·áºáááºáᯠááŒá±á¬ááŒá¬ážáá²á·áááºá ááá¯á·áá±á¬áº á¡áá»áá¯á·áá±á¬ cluster cartridge á¡áá»áá¯ážá¡á á¬ážááœááºá shafts áá±ážááá¯á·ááá·áº node ááá¯áá¯á¶ážááŒááºááẠáá±á¬ááºááẠlogic ááá¯á¡ááºáá«áááºá áá®ááŒá¿áá¬ááᯠáááºááá¯ááºááá¯áẠáááºááá¯ááŒá±ááŸááºážááá²á
áá®ááŸá¬ áááºážááŒá¿áá¬ááá¬áá²á ááá·áºááœáẠá¡áááºáá°ážáá°áá±ááá·áº synchronous áá¯á¶á á¶áá°áá áºáᯠááŸááááºáᯠááá¯ááŒáá«á áá¯á·á áá«ááŸááá¯áẠáá¬áá²?
(Andrey) á¡ááŸááºááŸá¬ WAL-G ááᯠshell script ááá«áá² á¡áá¯á¶ážááŒá¯ááẠáááºááœááºáá«áááºá áá áºáá¯áá¯áá»á±á¬ááºáá¯á¶ážáá±áá«á WAL-G á¡ááœááºážááŸáááá·áºáá±á¬ áá¯áá¹áááá±áááᯠáá±á«ááºážááá·áºááŒáá«á áá¯á·á archiving ááẠáááºááá·áºáá±áá¬á០áá¬ááááºááŒá áºááŒá®ážá ááááºážáááºážááŒááºážááẠá¡á á¯á¡áá±ážááŸá áááºááŸááá¬á áá¬áá¶á០ááŒá áºááá·áºáááºáᯠáá»áœááºá¯ááºááá¯á· áá¯á¶ááŒááºáá«áááºá áá¯á¶áá°áá áºáá¯á០ááááºážáááºážááŒááºážááẠááá±á¬ááºážáá±á¬ á¡ááŒá¶áá áºáá¯ááŒá áºáááºá ááŒá¿áá¬ááœá± ááŒá áºááá¯ááºááŒá± á¡áá»áá¯ážáá»áá¯ážááŸááá«áááºá á¡áá°ážáááŒáá·áºá á¡áá»áááºááá¬ážáá»á¬áž ááááºážáááºážááŒááºážááŸáá·áº á¡ááá¯áá±á¬ááºážá¡áá»ááºá¡áááºáá»á¬áž ááááºážáááºážááŒááºážááá¯ááºáᬠááŒá¿áá¬áá»á¬ážá áá±ážááœááºážá¡ááœáẠáá»á±ážáá°ážáááºáá«áááºá
(ááŸááºážáááºážáá»ááº- áá»áœááºá¯ááºááá¯á·ááẠshell script áá»á¬ážááᯠáááºááŸá¬ážáá²á·áááºá
áááºá¹ááá¬ááá±áááºážáá«! á¡á á®áááºáá¶á á¬á¡ááœáẠáá»á±ážáá°ážáááºáá«áááºá áááºážááŒá±á¬áá²á·áá²á· ááááºááŸá Ạá¡ááºá¹áá«áááºááᯠáá«á áááºáááºá á¬ážáááºá áá¯á¶áá°áá±á¬ááºááœááºá០ááá¯ááºááá®ááá¯ááºáá±á¬ á¡ááŒá±á¡áá±ááŸáá·áº áááºááá¯ááºáá²á·ááááºá WAL-G á á¬ááœááºá á¬áááºážáá»á¬ážááœáẠá€á¡ááºá¹áá«áááºá áá±á¬áºááŒáá»ááºááᯠáá»áœááºá¯ááºáááœá±á·áá²á·áá«á
Catchup ááẠ20 áá¯ááŸá Ạáááºááá«áá®á 2020 áááºáá±á·ááœáẠá¡ááŸááºá¡ááá¯ááºážáá±á«áºáá¬áááºá á á¬ááœááºá á¬áááºážááẠá¡áá¯ááºááá¯ááá¯á¡ááºááá¯ááºáááºá áá«ááá¯á·ááá¯ááºááá¯ááºáá±ážááŒá®áž áá±á¬ááºážáá±á¬ááºážááá±ážáááºáá°ážá ááŒá®ážáá±á¬á· áá»á±á¬ááºážáá¬ážááœá±ááᯠá á¬áá±ážááá¯ááºážááá·áºáááºá
áá¯ááºááŒá®ážááŒá®áá¬ážá
ááœá²áá¯ááºááẠáá±á¬ááºážááá¯áá»ááºááẠáá»ááºáá±ááŒá®á ááá¯ááá¯áááºááŸá¬ áááºážááᯠáá»áœááºá¯ááºá á áºáá±ážáá²á·áááºá áá«ááᯠá ááºážáááºááŸá¯á¡á á¯á¡áá±ážááŸá¬ á ááºážáá²á·áááºá ááá¯ááºááœá²ááá°áá¬áá áºáá¯ááœáẠá€á¡áá¬ááᯠáá»áœááºá¯ááºááá¯á· á ááºážáááºááá¯ááºááá·áº á¡ááŒá±á¡áá±áá»áá¯áž ááá¯á¡áá»áááºá¡áá áá»áœááºá¯ááºááá¯á·ááœáẠáááŸááá±ážáá«á
áááºá¡áá»áááºááŸá¬ áá»áŸá±á¬áºááá·áºáááá²?
áá»áœááºáá±á¬áºááááá«á áá áºááá±á¬ááºá á±á¬áá·áºááŒá®áž áá±áá»á¬á á áºáááºá
source: www.habr.com