рд╡рд╛рд▓-рдЬреА рд╕реЗ рдмреИрдХрдЕрдкред 2019 рдореЗрдВ рдХреНрдпрд╛ рд╣реИ? рдПрдВрдбреНрд░реЗ рдмреЛрд░реЛрдбрд┐рди

рдореИрдВ рдЖрдВрджреНрд░реЗрдИ рдмреЛрд░реЛрдбрд┐рди рджреНрд╡рд╛рд░рд╛ 2019 рдХреА рд╢реБрд░реБрдЖрдд рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ "рд╡рд╛рд▓-рдЬреА рд╕реЗ рдмреИрдХрдЕрдкред 2019 рдореЗрдВ рдХреНрдпрд╛ рд╣реИ?"



рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░! рдореЗрд░рд╛ рдирд╛рдо рдПрдВрдбреНрд░реА рдмреЛрд░реЛрдбрд┐рди рд╣реИред рдореИрдВ рдпреИрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, 2016 рдХреЗ рдмрд╛рдж рд╕реЗ рдореБрдЭреЗ PostgreSQL рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд░рд╣реА рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ - рдЖрдк рд╕реНрд░реЛрдд рдХреЛрдб рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдФрд░ рддрдм рд╕реЗ рдореИрдВ рд░реБрдХ рдирд╣реАрдВ рд╕рдХрддрд╛ - рдореИрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪреАрдЬреЗрдВ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВред


рдореИрдВ рдЬреЛ рдХреБрдЫ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╡рд╣ рд╡рд╛рд▓-рдЬреА рдмреИрдХрдЕрдк рд╕рд┐рд╕реНрдЯрдо рд╣реИ ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпреИрдВрдбреЗрдХреНрд╕ рдореЗрдВ рд╣рдо рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ PostgreSQL рдореЗрдВ рдмреИрдХрдЕрдк рд╕рд┐рд╕реНрдЯрдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдФрд░ рдЖрдк рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЫрд╣ рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдмреИрдХрдЕрдк рд╕рд┐рд╕реНрдЯрдо рдХреИрд╕реЗ рдмрдирд╛рддреЗ рд╣реИрдВред рдФрд░ рд╣рд░ рд╕рд╛рд▓ рд╡реЗ рдереЛрдбрд╝рд╛ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдереЛрдбрд╝рд╛ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрддреЗ рд╣реИрдВред


рд▓реЗрдХрд┐рди рдЖрдЬ рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯ рди рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рднреА рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рд╕рд░рд▓ рд╣реИ рдФрд░ рдпрд╣ рдХреНрдпрд╛ рд╣реИред рдЖрдкрдореЗрдВ рд╕реЗ рдХрд┐рддрдиреЗ рд▓реЛрдЧ рдореЗрд░реА рд╡рд╛рд▓-рдЬреА рд░рд┐рдкреЛрд░реНрдЯ рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВ? рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдХрд╛рдлреА рд▓реЛрдЧреЛрдВ рдиреЗ рдирд╣реАрдВ рджреЗрдЦрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЪреАрдЬ рд╕реЗ рд╢реБрд░реВ рдХрд░реВрдВрдЧрд╛ред



рдпрджрд┐ рдЕрдЪрд╛рдирдХ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ PostgreSQL рдХреНрд▓рд╕реНрдЯрд░ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдПрдХ рдЬреЛрдбрд╝реА рд╣реИ, рдФрд░ рдЕрдЪрд╛рдирдХ рдХреЛрдИ рдмреИрдХрдЕрдк рд╕рд┐рд╕реНрдЯрдо рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХреЛрдИ рднреА S3 рд╕рдВрдЧреНрд░рд╣рдг рдпрд╛ Google рдХреНрд▓рд╛рдЙрдб рд╕рдВрдЧрдд рд╕рдВрдЧреНрд░рд╣рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



, Yandex Object Storage, S3 .



Bucket. .



.



C aws-s3-key.



WAL-G.


? . , , , . . , - , , . . , . . .



, WAL-G, ┬лbackup list┬╗, . Object Storage, , . , , . , . , .



. WAL-G ┬лbackup-push┬╗ WAL-G pgdata . , , PostgreSQL , , ┬лarchive-mode┬╗.



, ┬лarchive_mode = on┬╗ ┬лarchive_command┬╗, WAL-G. - - WAL-G. , . , WAL-G. - , GitHub. WAL-G , , archive_command.



WAL-G High Availability Database management.



. Yandex Object Storage.



тАУ Point in time recovery. . .



. ? , . . pg_basebackup , . , , .



. -, .



  • , , pg_basebackup .
  • . , , .
  • , . - , .
  • , . , contribution WAL-G. WAL-G, : ┬л , - ?┬╗. WAL-G.
  • , , . .
  • .
  • .


. , PostgreSQL. - , - , - .



, WAL-G. . .



, тАУ , WAL-G .



WAL-G 4 . :


WAL-PUSH тАУ .


WAL-FETCH тАУ .


BACKUP-PUSH тАУ .


BACKUP-FETCH тАУ .



, WAL-G , . . listing , .



тАУ -.


- , , . , WAL. WAL-, - . , , , - fail, 4 - 10 WAL. , - .



LSN-based тАУ , , LSN LSN , , . , , -.



, .



API PostgreSQL . PostgreSQL WAL- WAL-. WAL- ┬лWAL-FETCH┬╗, ┬лWAL-PREFETCH┬╗, 8 , .


, archive_status WAL-. WAL . , WAL. , , , API PostgreSQL. PostgreSQL archive_status , WAL-. , , . PostgreSQL, , .



LSN-based WAL- , mode-time . , . , WAL-.


, WAL , , , . , . , delta-.


Delta- WAL-, , WAL. delta- .



, , , , WAL, , , , .



_delta_partial . , , WAL , , .


, , , , , , , LSN-based .



, WAL-G. , , , - тАУ , . ( https://github.com/wal-g/wal-g/tree/master/internal/walparser)



. delta-. , , delta- , . , . delta-.



. . LSN-based, . , LSN-based delta- . . WAL-delta 20. . . , .



, , тАУ PostgreSQL, ┬лpg_prefaulter┬╗



, , Stand-by restore command, WAL-G WAL-. , WAL . , SSD . WAL , . page-. , . WAL-G, , WAL . , . SSD-, , , , .


, .



, .



, WAL-delta . , . WAL-delta , . WAL-delta , . , . ┬лinstant WAL-delta┬╗.



, , , , . . . WAL, PostgreSQL , .


. , - , . . . WAL-delta. , , , - - , delta pg_basebackup, .


. . . - , , , .


, , .



WAL-G. , . , API MySQL . MySQL PITR WAL-, binlog. MySQL, - , binlog . - cron тАУ - ?


MySQL restore command, , - -. , , , . , . , , - . (: MySQL )



, WAL-G .



, WAL-G . , . , WAL-G. - , High Availability , .



, 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 , , mode-time md5 PostgreSQL тАУ OK, , , .


WAL-E , archive command, WAL-G, WAL-E .


, , WAL-G , .


-, . , . , . , . . , WAL-G , smoke-: pg_dumpall /dev/null amcheck .



WAL-G WAL. . . . , , , . : ┬л , ┬╗. WAL-G . ( тАФ . тАФ backup-mark https://github.com/wal-g/wal-g/blob/master/PostgreSQL.md)



PITR.



Google Summer of Code. , - Go ┬лG┬╗, . , . , .



, . .


, WAL-G , . , , . pg_control . , - . , , . , .


offline-. , . . LSN, . LSN control . . . .


. . . - Go , bucket. pull request.


, , , , . . , , . , , PostgreSQL 9.4-9.5. , PostgreSQL, , . , , .



WAL-G , Database management. .


TODO. , , pull request, .




! ! , WAL-delta, , , full-page writes. , ? . , FPW ?


Full-page writes , . . . , , . , , , . FPW . , .


! . тАУ ?


pull request. SSD NMVE . , . , . , , , . , pull request. ( 0.2.13)


. , WAL-G , . . ?


, , . , , . , . , , тАУ Go.


! ! WAL-G GPG . , . - ? .


GitHub, .


. . ?


, WAL-G , , : ┬л , ?┬╗. , . . . , , . GPG , . GPG, open PGP, WAL-G, . Libsodium ( 0.2.15). , , тАУ , . - . (PGP encryption without external GPG тАФ v0.2.9)


! ! . , pg_basebackup WAL log , . . . - ?


, .


, .


. . , issue GitHub?


, .


, Google Summer of Code, , , .


. issue GitHub. , -, . restore. , . issues. , . . , .


, - (CEPH) , . ? retry . . - , , . , , . retry тАФ exponential backoff. , , . . . , . ? , , . , , , .


SLA? , ?


, , , . . . Amazon Google Cloud, Yandex Object Storage .


?


. - , , WAL-G. , . Object Storage, - listing . , folder. WAL-G тАУ - , , , , . . . , , Object Storage - , .


Mail .


reproduceтАж


тАж


reproduce, , , retry , , . , , . , . . 16 , retry 8 , 4 , 2 . . - 7,5 , 7,5 . .


! workflow WAL-G? , , . , . , , . - delta- , . . - ?


API delta- . тАУ max delta steps, . . , , backup-push, . , , 3, , backup-push, . , 3 .


. . , WAL-G, ?


, WAL-G, , .


, , pg_basebackup?


, , . Pg_basebackup . WAL-G , . warning, .


Pg_basebackup .


, . Pg_basebackup . , , , . pg_basebackup . , , .


, CephFS. Object Storage .


, , , . .


! . remote storage, , - -?


тАУ . , , . . . , . 0.2. , . . . WAL-E, . delta-backup. . , , Google Cloud, S3- storage.


, . , WAL-G тАУ - barmen? ?


, . WAL-G , , . , . , - , . , , . WAL-G . - , .


, storage. , , , , . , - . . , , . , - . . , , . - , , тАУ , .


PS рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг 0.2.15 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ , рдЬрд┐рд╕рдореЗрдВ рдЖрдк .walg.json рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯреНрд░реА рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдерд┐рдд рд╣реИред рдЖрдк рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рд╕рдХрддреЗ рд╣реИрдВред .Walg.json рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рдЕрдВрдХ рдореЗрдВ рд╣реИ https://github.com/wal-g/wal-g/issues/545


рд╡реАрдбрд┐рдпреЛ:



All Articles