Ko taku whakaaro kia panui koe i te tuhinga o te purongo mai i te timatanga o te 2019 na Andrey Borodin "Taupiri me te WAL-G. He aha kei reira i te 2019?"
Kia ora katoa! Ko Andrey Borodin toku ingoa. He kaiwhakawhanake ahau i Yandex. Kei te pirangi ahau ki te PostgreSQL mai i te 2016, i muri i taku korero ki nga kaiwhakawhanake me ta ratou kii he maamaa nga mea katoa - ka tangohia e koe te waehere puna ka hangaia, ka pai nga mea katoa. A mai i tera wa kaore e taea e au te mutu - ka tuhia e au nga momo mea rereke katoa.
Ko tetahi o nga mea e mahi ana ahau he punaha taapiri.
Engari i tenei ra ko te ripoata ehara i te mea mo o taatau mahi anake, engari mo te ngawari me te aha. E hia o koutou kua kite i aku purongo mo WAL-G? He pai te iti o te hunga kaore i mataki, na te mea ka timata ahau ki te mea ngawari.
Ki te ohorere kei a koe he kahui PostgreSQL, a ki taku whakaaro he tokorua nga tangata katoa ki a raatau, karekau ano he punaha taapiri, katahi ka hiahia koe ki te tiki i tetahi rokiroki S3 me te rokiroki hototahi a Google Cloud.
Hei tauira, ka taea e koe te haere mai ki to maatau turanga me te tango i tetahi waehere whakatairanga mo Yandex Object Storage, he S3 hototahi.
Na ka hanga he Peere. He ipu noa mo nga korero.
Waihangahia he kaiwhakamahi ratonga.
Waihangahia he kī uru mo te kaiwhakamahi ratonga: aws-s3-key.
Tikiake i te putanga pūmau hou o WAL-G.
He pehea te rereke o o tatou tukunga-mua ki nga whakaputanga? He maha nga wa ka tonohia ahau ki te tuku wawe. A, ki te kahore he bug i roto i te putanga mo te wa rawaka, hei tauira, he marama, ka tukuna e ahau. Anei tenei tukunga mai i Noema. A ko te tikanga o ia marama ka kitea e matou etahi momo pepeha, i te nuinga o te waa i roto i nga mahi tino kore, engari kaore ano kia tukuna he tuku. Ko te putanga o mua ko Noema anake. Karekau he pepeha e mohiotia ana e matou i roto, ara, i taapirihia nga pepeke i te wa e haere ana te kaupapa.
Ina tangohia e koe te WAL-G, ka taea e koe te whakahaere i tetahi whakahau "rarangi taapiri" ngawari, me te whakawhiti i nga taurangi taiao. A ka hono atu ki te Rokiroki Ahanoa ka korero ki a koe he aha nga taapiri kei a koe. I te tuatahi, o te akoranga, kaua koe e whai taapiri. Ko te kaupapa o tenei kiriata he whakaatu he tino ngawari nga mea katoa. He tono papatohu tenei e whakaae ana ki nga taurangi taiao me te whakahaere i nga whakahau iti.
I muri i tenei, ka taea e koe te hanga i to taapiri tuatahi. Korerohia te "pana-pana" i roto i te WAL-G ka tohua ki te WAL-G te waahi pgdata o to huinga. A ko te mea pea, ka kii atu a PostgreSQL ki a koe, mena kaore koe i te punaha taapiri, me whakaahei koe i te "aratau-puranga".
Ko te tikanga me haere koe ki nga tautuhinga me te huri i te "archive_mode = on" me te taapiri i te "archive_command", he whakahau iti ano hoki i roto i te WAL-G. Engari mo etahi take ka whakamahi te tangata i nga tuhinga pae mo tenei kaupapa ka takai ki te WAL-G. Tena koa kaua e mahi i tenei. Whakamahia te taumahinga e kitea ana i WAL-G. Mena kei te ngaro koe i tetahi mea, tuhia ki
Ka whakamahi matou i te WAL-G ki te hanga i tetahi kapoi Waetanga Nui i roto i te whakahaerenga Raraunga Raraunga Yandex.
A ka whakamahia i roto i te topology o te Kaiwhakaako kotahi me te maha o nga tukurua. I te wa ano, ka hangaia he kape taapiri i roto i te Rokiroki Ahanoa Yandex.
Ko nga ahuatanga tino noa ko te hanga kape o te kapoi ma te whakamahi i te Point in time recovery. Engari i tenei keehi, ko te mahi o te punaha taapiri ehara i te mea nui ki a maatau. Me tuku ake he kahui hou mai i te taapiri.
I te nuinga o te waa, ka hiahia taatau ki te mahi punaha i te wa e taapirihia ana he node hou. He aha te mea nui? Ko te tikanga ka taapirihia e te tangata he node hou ki tetahi tautau na te mea kaore e taea e te kahui o naianei te kawe i te uta panui. Me taapiri he tauira hou. Mena ka taapirihia e tatou te uta mai i te pg_basebackup ki te Kaiwhakaako, ka hinga pea te Kaiwhakaako. No reira, he mea nui ki a matou kia tere te tuku ake i tetahi node hou mai i te puranga, kia iti te utaina ki runga i te Kaiwhakaako.
Me tetahi atu ahuatanga rite. Koinei te hiahia ki te whakaara ano i te Kaiwhakaako tawhito i muri i te whakawhiti i te Kaiwhakaako Cluster mai i te Raraunga Raraunga i ngaro te hononga.
- Ko te mutunga, i te wa e whakatakoto ana i nga whakaritenga mo te punaha kape, i mohio matou kaore e pai te pg_basebackup mo matou i te wa e mahi ana i te kapua.
- I pirangi matou kia kaha ki te kopiri i a matou raraunga. Engari ko te nuinga o nga punaha taapiri i tua atu i nga mea ka puta mai i roto i te pouaka ka whakarato i te kohinga raraunga.
- I hiahia matou ki te whakarara i nga mea katoa na te mea ka hokona e te kaiwhakamahi i roto i te kapua te maha o nga punaha tukatuka. Engari ki te kore he whakarara i roto i etahi mahi, ka kore e whai hua te maha o nga matua.
- E hiahia ana matou ki te whakamunatanga na te mea he maha nga raraunga ehara i a matou, kaore e taea te penapena i roto i nga tuhinga maamaa. I te ara, i timata ta matou takoha ki te WAL-G me te whakamunatanga. I oti i a matou te whakamunatanga i roto i te WAL-G, i muri i tera ka pataihia mai ki a matou: "Ka taea e tetahi o matou te whakawhanake i te kaupapa?" A mai i tera wa kua neke atu i te kotahi tau ahau e mahi ana me te WAL-G.
- I hiahia hoki matou ki te tarai i nga rawa, na te mea i te roanga o te waa ki te whakamahi i te kapua, ka mohio matou i etahi wa ka nui te utaina kai a te tangata i te po, kare e taea te whakararuraru i tenei kawenga. Koira te take i taapirihia ai e matou te aukati rauemi.
- Me te raarangi me te whakahaere.
- Me te manatoko.
I titiro matou ki te maha o nga taputapu rereke. Waimarie, he nui ta matou kowhiringa i PostgreSQL. A i nga waahi katoa i ngaro tetahi mea, tetahi mahi iti, etahi waahanga iti.
Na i te tirotiro i nga punaha o naianei, ka whakatau maatau ka whakawhanakehia e matou te WAL-G. He kaupapa hou tera i tera wa. He tino ngawari ki te awe i te whanaketanga ki te hanganga kapua o te punaha taapiri.
Ko te whakaaro nui e u ana matou ko te WAL-G kia ngawari ano he balalaika.
E 4 nga whakahau a WAL-G. Tenei:
WAL-PUSH – pūrangatia te take.
WAL-FETCH – tikina he rakau.
PURI-PUSH – hanga he tārua.
BACKUP-FETCH – tikina he taapiri mai i te punaha taapiri.
Inaa, kei a WAL-G ano te whakahaere o enei taapiri, ara ko te raarangi me te whakakore i nga rekoata me nga taapiri i roto i nga hitori kaore e hiahiatia ana i tenei wa.
Ko tetahi o nga mahi nui mo tatou ko te mahi o te hanga kape delta.
Ko te tikanga o nga kape Delta kaore matou e hanga i te taapiri katoa o te kohinga katoa, engari ko nga whaarangi kua whakarerekehia o nga konae kua whakarerekehia i roto i te roopu. Te ahua nei he tino rite tenei ki te kaha ki te whakaora ma te whakamahi i te WAL. Engari ka taea e tatou te whakarara i tetahi taapiri delta miro-kotahi a WAL. No reira, ina he taapiri taketake i mahia i te Rahoroi, ko nga taapiri delta i ia ra, a i te Taite ka hinga, katahi ka hurihia kia 4 nga taapiri delta me te 10 haora mo te WAL. He rite tonu te waa na te mea ka huri whakarara nga taapiri delta.
LSN-based deltas - ko te tikanga i te wa e hanga ana he taapiri, me whakakotahi ia wharangi me te tirotiro i tana LSN me te LSN o te taapiri o mua kia mohio ai kua huri. Ko nga wharangi kei roto pea nga raraunga kua whakarerekehia me noho ki te taapiri delta.
Ka rite ki taku korero, he nui te aro ki te whakarara.
Engari he rite tonu te API puranga i PostgreSQL. Ko te PostgreSQL he whakapuranga i tetahi konae WAL, a, i te wa e whakaora ana ka tono kia kotahi te konae WAL. Engari ka tonohia e te papaunga raraunga kia kotahi te konae WAL ma te whakamahi i te whakahau "WAL-FETCH", ka karangahia te whakahau "WAL-PREFETCH", e whakarite ana i nga konae e 8 e whai ake nei ki te tiki raraunga mai i te toa taonga i te whakarara.
A, ka tono mai te papaaarangi ki te whakapuranga i tetahi konae, ka tirohia te archive_status me te kite mena he konae WAL ano. A kei te ngana ano matou ki te tango i te WAL i roto i te whakarara. He nui te hua o te mahi me te tino whakaiti i te tawhiti o te maha o nga WAL kaore i putunga. He maha nga kaiwhakawhanake punaha e whakapono ana he punaha whakararu tenei na te mea ka whakawhirinaki matou ki o maatau mohiotanga o roto o te waehere ehara i te PostgreSQL API. Kaore a PostgreSQL e whakapumau i te noho mai o te kōpaki archive_status mo matou, kaore hoki e kii i nga tohu tohu, te aroaro o nga tohu rite mo nga konae WAL kei reira. Heoi ano, kei te ako matou i te waehere puna, ka kite matou he pera ano, kei te ngana matou ki te whakamahi. Ka whakahaerehia e matou te ahunga e whanake ana a PostgreSQL; mena ka pakaru ohorere tenei tikanga, ka mutu te whakamahi.
I roto i tona ahua parakore, me panui te WAL delta i runga i te LSN i tetahi konae kahui kua rereke te waa-waa i roto i te punaha konae mai i te taapiri o mua. I noho matou me tenei mo te wa roa, tata ki te tau. Na i te mutunga ka tae mai ki te whakatau kei a matou nga WAL deltas.
Ko te tikanga ko nga wa katoa ka whakapurangihia e matou te WAL ki runga i te Kaiwhakaako, ehara i te mea ka kopeke noa, ka whakamuna ka tukuna ki te whatunga, engari ka panuihia e matou i te wa ano. Ka tātarihia, ka panuihia nga rekoata kei roto. E mohio ana matou ko wai nga poraka kua whakarereke me te kohikohi i nga konae delta.
Ko te konae delta e whakaatu ana i etahi momo konae WAL, e whakaatu ana i nga korero mo nga poraka i whakarerekehia i tenei awhe o WAL. Na ka purangatia ano enei konae delta.
I konei ka anga tatou ki te meka he tere tonu te whakarara i nga mea katoa, engari kaore e taea e taatau te panui i te hitori raupapa i roto i te whakarara, na te mea i tetahi waahanga ka tutaki pea tatou ki te mutunga o te rekoata WAL o mua, kaore he mea hei hono atu, na te mea Ko te panui whakarara i ahu mai i te tuatahi ka wetewete i nga mea kei te heke mai, kaore ano kia whai korero o mua.
Ko te mutunga mai, me hoatu e matou nga waahanga kore e marama ki roto i nga konae _delta_partial. Ko te mutunga mai, ka hoki ano tatou ki nga wa o mua, ka whakapirihia e tatou nga wahanga o te rekoata WAL kia kotahi, ka mutu ka wetewetehia, ka maarama he aha nga huringa o roto.
Mena i roto i te hitori o ta maatau poroporo he iti rawa te waahi kaore matou e mohio ki nga mea kei te tupu, na, i te wa o te taapiri e whai ake nei ka akiakihia matou ki te panui ano i te kohinga katoa, pera i ta matou mahi me te LSN auau. -i runga i te delta.
Ko te mutunga mai, ko o matou mamae katoa i ahu mai ki te whakatuwhera i te puna korero WAL-G parsing library. Ki taku mohio, kare ano he tangata e whakamahi ana, engari ki te pirangi tetahi, tuhia me te whakamahi, kei roto i te marea. (Hono kua whakahoutia
Ko te mutunga mai, he ahua uaua nga rerenga korero katoa. Ka whakarangatirahia e to tatou Kaiwhakaako te rakau me nga konae delta. A ko te tauira e hanga ana i te kape taapiri me whiwhi i nga konae delta i roto i te waa kua pahemo i waenga i nga taapiri. I roto i tenei take, ko nga waahanga o te hitori me taapiri kia nui, ka tohatohahia, na te mea kaore te hitori katoa e uru ki nga waahanga nui. A muri noa i tenei ka taea e te tauira te pupuri i te taapiri delta katoa.
I runga i nga kauwhata he ahua ngawari ake nga mea katoa. He tangohanga tenei mai i tetahi o a matou tino tautau. Kei a matou te LSN, i mahia i te ra kotahi. Na ka kite tatou i rere te taapiri delta-a-LSN mai i te toru i te ata ki te rima i te ata. Ko te kawenga tenei i roto i te maha o nga puku tukatuka. Ko te WAL-delta i kawe mai i a maatau mo nga meneti 20. Arā, i tino tere ake, engari i te wa ano ka kaha ake te whakawhiti i runga i te whatunga.
I te mea kei a matou nga korero e pa ana ki nga poraka i whakarereke me te wa i roto i te hitori o te papaaarangi, ka haere tonu matou ka whakatau ki te whakauru i nga mahi - he toronga PostgreSQL ko "pg_prefaulter"
Ko te tikanga ka mahia e te turanga tu-a-taha te whakahau whakaora, ka kii ki a WAL-G kia tikina te konae WAL e whai ake nei. Kei te mohio matou ko tehea nga raraunga e aukati ana i te tukanga whakaora a te WAL ka uru atu i nga wa e heke mai nei ka timata i te mahi panui mo enei poraka. I mahia tenei hei whakanui ake i nga mahi a nga kaiwhakahaere SSD. Na te mea ka tae te rarangi WAL ki te wharangi me whakarereke. Kei te kōpae tenei wharangi, a, kaore i te keteroki wharangi. A ka tatari ia mo te taenga mai o tenei wharangi. Engari kei te tata tonu ko WAL-G, e mohio ana kei roto i nga rau megabytes e whai ake nei o WAL ka hiahia tatou ki etahi wharangi me te wa ano ka timata te whakamahana. Ka kōkiri i nga urunga kōpae maha kia mahia ai i roto i te whakarara. He pai te mahi i runga i nga puku SSD, engari, ko te mea kaore e tika ana mo te puku pakeke, na te mea ka pokanoa noa e matou ma o matou akiaki.
Koinei te mea kei roto i te waehere inaianei.
He ahuatanga e hiahia ana matou ki te taapiri.
Ko tenei pikitia e whakaatu ana he poto te wa poto o te WAL-delta. A ko te panui tenei i nga huringa i puta i roto i te paataka korero i te ra. Ka taea e matou te mahi WAL-delta ehara i te po anake, na te mea ehara i te mea he puna nui o te utaina. Ka taea e taatau te panui WAL-delta ia meneti na te mea he iti. I roto i te meneti kotahi ka taea e tatou te matawai i nga huringa katoa kua puta ki te tautau. A ka kiia tenei ko "WAL-delta inamata".
Ko te kaupapa, ka whakahokia e tatou te tautau, ka whakaitihia te maha o nga korero e tika ana kia huri haere. Arā, ko te nui o te WAL ka hurihia e PostgreSQL me whakaheke, na te mea he wa nui.
Engari ehara ko tera anake. Mena ka mohio tatou ka hurihia etahi poraka ki te waahi o te rite tonu, kaore e taea te whakarereke i nga wa o mua. Arā, ināianei kei a mātou te arotautanga kōnae-a-kōnae mo te tuku whakamua WAL-delta. Ko te tikanga, ki te mea, hei tauira, i te Rātapu ka mukua katoatia tetahi teepu, ka mukua katoatia ranei etahi konae mai i te tepu, katahi ka huri te delta i te Mane me te Hatarei ka whakahokia mai te pg_basebackup o te Hatarei, kaore matou e hanga i enei raraunga.
E hiahia ana matou ki te whakawhānui i tenei hangarau ki te taumata wharangi. Arā, ki te huri etahi wahanga o te konae i te Mane, engari ka tuhiruatia i te Wenerei, katahi ka whakahokia ki tetahi waahi a te Taite, kaore e tika kia tuhia nga waahanga tuatahi o nga wharangi ki te kopae.
Engari he whakaaro tonu tenei e kaha korerohia ana i roto i a tatou, engari kaore ano kia tae ki te waehere.
Kei te pirangi matou ki te hanga i tetahi atu waahanga ki WAL-G. Kei te pirangi matou ki te whakawhanuihia na te mea me tautoko matou i nga papaa raraunga rereke me te hiahia kia rite te huarahi ki te whakatata atu ki te whakahaerenga taapiri. Engari ko te raru ko nga API MySQL he tino rerekee. I roto i te MySQL, ko te PITR kaore i runga i te raupapa WAL tinana, engari i runga i te binlog. A karekau he punaha whakapuranga i MySQL hei korero ki etahi punaha o waho kua oti tenei binlog me te pupuri. Me tu tatou ki tetahi waahi i roto i te cron me te paataka korero me te tirotiro mena kua rite tetahi mea?
He pera ano, i te wa o te whakahokinga mai i te MySQL, kaore he whakahau whakahoki ka taea te korero ki te punaha e hiahia ana ahau ki nga konae penei. I mua i to tiimata ki te hanga ano i to roopu, me mohio koe he aha nga konae ka hiahia koe. Me whakaaro koe he aha nga konae ka hiahiatia e koe. Engari ka taea pea enei raruraru te karohia. (Whakamaramatanga: Kua tautokona kē a MySQL)
I roto i te purongo, i hiahia ano ahau ki te korero mo era keehi kaore e pai ana a WAL-G mo koe.
Mena karekau he tauira tukutahi, kaore a WAL-G e kii ka mau tonu te waahanga whakamutunga. A, ki te mea kei muri te whakapuranga i nga waahanga o mua o te hitori, he raru tena. Mena karekau he tauira tukutahi, kaore au e kii ki te whakamahi i te WAL-G. Heoi ano, he mea tino hangaia mo te whakaurunga kapua, e kii ana he otinga Whakaaetanga Nui me te tauira tukutahi, kei a ia te kawenga mo te haumaru o nga paita whakamutunga i mahia.
Ka kite ahau i nga tangata e ngana ana ki te whakahaere i te WAL-G me te WAL-E i te wa kotahi. Ka tautoko matou i te hototahi whakamuri i runga i te tikanga ka taea e WAL-G te whakahoki mai i tetahi konae mai i te WAL-E ka taea hoki te whakahoki i tetahi taapiri i hangaia ki WAL-E. Engari i te mea e whakamahi ana enei punaha e rua ki te whakarara wal-pana, ka timata ratou ki te tahae i nga konae mai i a raatau ano. Mena ka whakatikahia e tatou i roto i te WAL-G, ka noho tonu ki te WAL-E. I roto i te WAL-E, ka titiro ki te mana-puranga, ka kite i nga konae kua oti, ka whakapurangihia, ko etahi atu punaha kaore e mohio kei te noho tonu tenei konae WAL, na te mea kaore a PostgreSQL e ngana ki te pupuri i te waa tuarua.
He aha ta tatou e whakatika i konei i te taha WAL-G? E kore matou e whakamohio atu ki a PostgreSQL kua whakawhitia tenei konae ki te whakarara, a ka tono mai a PostgreSQL ki a matou ki te pupuri i te konae, kua mohio kee matou ko taua konae me tenei aratau-waa me tenei md5 kua purangahia, ka kii noa matou PostgreSQL - Ae, kua rite nga mea katoa me te kore e mahi i tetahi mea.
Engari ko tenei raru kare pea e whakatikahia ki te taha WAL-E, no reira karekau e taea te hanga i tetahi whakahau puranga hei pupuri i te konae ki te WAL-G me te WAL-E.
I tua atu, he waahi kaore e pai ana a WAL-G mo koe inaianei, engari ka tino whakatikahia e matou.
Tuatahi, i tenei wa karekau he manatoko taapiri i roto. Karekau he manatoko i te wa o te taapiri, te whakaora ranei. Ko te tikanga, ka whakatinanahia tenei i roto i te kapua. Engari ka whakatinanahia tenei ma te tirotiro i mua, ma te whakahoki mai i te kohinga. E hiahia ana ahau ki te tuku i tenei mahi ki nga kaiwhakamahi. Engari ma te manatoko, ka whakaaro ahau kei roto i te WAL-G ka taea te whakahoki mai i te tautau ka tiimata, ka whakahaere i nga whakamatautau paowa: pg_dumpall ki / dev / null me te tohu tohu tohu tohu.
I tenei wa i roto i te WAL-G karekau he huarahi ki te hiki i tetahi taapiri mai i te WAL. Arā, ka tautokohia e matou etahi matapihi. Hei tauira, te penapena i nga ra e whitu kua hipa, te penapena i nga taapiri tekau whakamutunga, te penapena i nga taapiri e toru whakamutunga. He maha nga wa ka haere mai nga tangata ka kii: "Kei te hiahia taatau ki te whakahoki i nga mea i tupu i te Tau Hou ka hiahia matou kia mau tonu." Kaore ano kia taea e WAL-G tenei. (Tuhipoka - Kua oti kee te whakatika. Panui atu - Ko te whiringa tohu-purua kei roto
Karekau he arowhai wharangi me nga arowhai pono mo nga wahanga rakau katoa ina whakamanahia te PITR.
Mai i enei mea katoa i kohia e ahau he kaupapa mo Google Summer of Code. Mena kei te mohio koe ki nga akonga mohio e hiahia ana ki te tuhi i tetahi mea ki roto i te Haere me te whiwhi i etahi mano taara mai i te kamupene kotahi me te reta "G", katahi ka tohuhia ta maatau kaupapa ki a raatau. Ka noho ahau hei kaiakopono mo tenei kaupapa, ka taea e ratou. Mena karekau he akonga, ka tangohia e au ka mahia e au i te raumati.
A he maha atu ano nga raru iti kei te mahia e matou. A ka tupu etahi mea kee.
Hei tauira, ki te hoatu e koe he taapiri kore ki a WAL-G, ka taka noa. Hei tauira, ki te korero koe ki a ia e hiahia ana ia ki te whakahoki i tetahi kōpaki kore. Karekau te kōnae pg_control i reira. A ka whakaaro ia kaore ia e mohio ki tetahi mea. I roto i te ariā, i roto i tenei take me tuhi koe i tetahi karere noa ki te kaiwhakamahi ki te whakamarama ki a ia me pehea te whakamahi i te taputapu. Engari ehara tenei i te ahuatanga o te kaupapa, engari he ahuatanga o te reo pai me te mohio.
Kare matou e mohio me pehea te mahi taapiri tuimotu. Mēnā kei te teka te pātengi raraunga, kāore e taea e mātou te pūrua. Engari he tino ngawari nga mea katoa i konei. Ka karanga matou i nga taapiri a LSN i te wa i timata ai. Me panui te LSN o te turanga o raro mai i te konae mana. A ko tenei ahuatanga kaore i tino mohio. Ka taea e te maha o nga punaha taapiri te whakahoki i tetahi papaa raraunga. A he watea.
I tenei wa kaore e taea e matou te whakahaere tika i te kore o te waahi taapiri. Na te mea ko te nuinga o te waa ka mahi matou me nga taapiri nui i te kainga. A kaore ratou i tae atu ki tera. Engari ki te hiahia tetahi ki te hotaka i roto i te Haere i naianei tonu, taapirihia te whakahaere mo nga hapa o waho ki te peere. Ka tino titiro ahau ki te tono kume.
A ko te mea nui e awangawanga ana matou ko te hiahia kia maha nga whakamatautau whakaurunga docker ka taea te tirotiro i nga ahuatanga rereke. Inaianei kei te whakamatautau noa matou i nga ahuatanga taketake. I runga i nga mahi katoa, engari kei te pirangi matou ki te tirotiro commit-by-commit nga mahi katoa e tautokohia ana e matou. Ina koa, hei tauira, ka nui te tautoko mo te PostgreSQL 9.4-9.5. Ka tautoko matou i a raatau na te mea kei te tautoko te hapori i te PostgreSQL, engari kaore matou e tirotiro i te commit-by-commit kia kore ai e pakaru nga mea katoa. A ki ahau nei he tino kino tenei.
Kei a matou te WAL-G e whakahaere ana i runga i te neke atu i te kotahi mano nga tautau i roto i te whakahaeretanga a Yandex Database. Ka tautokohia e ia etahi rau terabytes o nga raraunga ia ra.
He maha nga TODO kei roto i ta maatau waehere. Mena kei te pirangi koe ki te hotaka, haere mai, kei te tatari tatou mo nga tono toia, kei te tatari mo nga patai.
Au uiui
Te ahiahi pai! Mauruuru koe! Ko taku whakaaro, mena kei te whakamahi koe i te WAL-delta, kei te tino whirinaki koe ki nga tuhinga wharangi-katoa. A, ki te pera, i whakahaere koe i nga whakamatautau? I whakaatu koe i tetahi kauwhata ataahua. Kia pehea te ataahua ake ki te weto te FPW?
Ko te tuhi wharangi-katoa kua whakahohea mo matou, kaore ano matou i ngana ki te whakakore. Arā, ko ahau, hei kaiwhakawhanake, kaore i ngana ki te whakaweto. Ko nga kaiwhakahaere o te punaha kua rangahaua kua rangahaua pea tenei take. Engari me FPW. Tata ki te kore tetahi e whakakore, na te mea kaore e taea te tango i tetahi taapiri mai i te tauira.
Nga mihi mo te ripoata! E rua aku patai. Ko te patai tuatahi ka ahatia nga mokowā tepu?
Kei te tatari matou mo te tono toia. Kei te noho a maatau paparangi raraunga ki nga kōpae SSD me te NMVE, a, kaore e tino hiahia ana matou ki tenei waahanga. Kaore au i te reri ki te whakapau i te waa nui i tenei wa ki te mahi pai. Ka tohe tonu ahau ki te tautoko i tenei. He tangata i tautoko, engari i tautoko i runga i te huarahi e pai ana ki a ratou. I mahia e ratou he marau, engari kaore ratou e tono tono. (Apitihia ki te putanga 0.2.13)
A ko te patai tuarua. I kii koe i te timatanga ko te whakaaro a WAL-G ka mahi anake karekau he takai e hiahiatia ana. Ka whakamahi ahau i nga takai. He aha e kore ai e whakamahia?
E hiahia ana matou kia rite ki te balalaika. Ko te tikanga kaore koe e hiahia ki tetahi mea engari he balalaika. E hiahia ana matou kia ngawari te punaha. Mena kei a koe nga mahi e hiahia ana koe ki te mahi i roto i te tuhinga, haere mai korero mai - ka mahia e matou i roto i te Haere.
Te ahiahi pai! Nga mihi mo te ripoata! Kaore i taea e matou te WAL-G ki te mahi me te wetemuna GPG. Ka whakamuna noa, engari kaore e hiahia ki te wetemuna. He mea kaore i pai mo tatou? He pouri te ahuatanga.
Waihangatia he take i runga i a GitHub ka whakatauhia e tatou.
Koina, kaore koe i tutaki ki tenei?
He ahuatanga o te purongo hapa na te kore e marama a WAL-G he aha te ahua o te konae, ka patai: "Kei te whakamunatia pea?" Ko te raru pea ehara i te whakamunatanga. E hiahia ana ahau ki te whakapai ake i te takitaki mo tenei kaupapa. Me whakamarama e ia. I tenei wa kei te mahi matou i runga i tenei kaupapa i runga i te ahua kaore matou e tino pai ki te whakarite i te punaha mo te whiwhi ki nga taviri a te iwi me te tangata motuhake. Na te mea ka karanga matou i te GPG o waho kia homai e ia ona ki. Na ka mauhia e matou enei taviri ka whakawhiti atu ki te GPG o roto, he PGP tuwhera, kua whakahiatohia mo matou i roto i te WAL-G, a, i reira ka karanga matou ko te whakamunatanga. I tenei ahuatanga, e hiahia ana matou ki te whakapai ake i te punaha me te hiahia ki te tautoko i te whakamunatanga Libsodium (Kua taapirihia ki te putanga 0.2.15). Ae ra, me mahi te wetewete, me whakaaro - me nui ake te tohu tohu i nga kupu e rua. Ka taea e koe te huihui ki te rūma o te kaikōrero i etahi wa ka titiro ki te punaha. (PGP whakamunatanga kahore GPG waho - v0.2.9)
Kia ora! Nga mihi mo te ripoata! E rua aku patai. He hiahia rereke taku ki te mahi pg_basebackup me te takiuru WAL ki roto i nga kaiwhakarato e rua, ara, ka hiahia ahau ki te mahi i tetahi kapua me tetahi atu. He huarahi ano hei mahi i tenei?
Kaore tenei i te waahi inaianei, engari he whakaaro whakamere.
Kaore au i te whakawhirinaki ki tetahi kaiwhakarato, kei te pirangi au kia rite ano ki tetahi atu, mena he take.
He rawe te whakaaro. Ma te hangarau, ehara i te mea uaua ki te whakatinana. Kia kore ai e ngaro te whakaaro, ka taea e au te tono ki a koe kia puta he take ki runga i a GitHub?
Tuhinga o mua.
Na, ka tae mai nga akonga ki te Google Summer of Code, ka taapirihia e matou ki te kaupapa kia nui ake ai nga mahi ki te whai hua mai i a raatau.
A ko te patai tuarua. He take kei runga i a GitHub. Ki taku whakaaro kua kati kē. He pawera i te wa whakaora. A ki te hinga i a koe, i hanga e koe he huihuinga motuhake. He tika i roto i nga take. A he whiringa ki te mahi i tetahi taiao rereke i roto i te miro kotahi. Na ko te aha te mahi tino puhoi. A i pa ki a matou tenei raru, kaore ano kia whakatikahia.
Ko te raruraru ko te mea mo etahi take ka tautuhia e te rokiroki (CEPH) te hononga ka tae mai ki a maatau me te tino rite. He aha te mahi mo tenei? He penei te ahua o te arorau ngana ano. E ngana ana matou ki te tango ano i te konae. I tetahi paahitanga, he maha nga konae kaore i tangohia, ka mahia he tuarua mo te hunga katoa kaore i uru mai. A, i te mea ka utaina kia kotahi te konae mo ia whitiwhitinga, ka tukurua, ka tukurua, ka tukurua. I whakapai ake matou i te arorau o te ngana ano - whakamuri taupū. Engari kaore i te tino marama he aha te mahi me te mea ka pakaru noa te hononga ki te taha o te punaha rokiroki. Arā, ka tukuake ki te kōawa kotahi, karekau e pakaru enei hononga. He aha ta tatou e pai ake ai i konei? Kei a matou te aukati whatunga, ka taea e matou te whakawhāiti i ia hononga ma te maha o nga paita ka tukuna. Ki te kore, kaore au e mohio me pehea te mahi i te mea kaore e taea e te rokiroki ahanoa te tango i a maatau ki te tango, ki te tango ranei mai i te mea whakarara.
Kaore he SLA? Kaore i tuhia mo ratou te pehea e tuku ai ratou ki te whakamamae?
Ko te take ko nga tangata ka puta mai tenei patai i te nuinga o te waa kei a raatau ake ahuru. Arā, karekau he tangata mai i Amazon, Google Cloud, Yandex Object Storage ranei.
Ko te patai pea kua kore mo koe?
Ko te patai i konei mo tenei keehi kaore he take ki a wai. Mena he whakaaro mo te mahi i tenei, me mahi i roto i te WAL-G. Engari tae noa ki tenei wa karekau he whakaaro pai mo tenei mahi. Arā etahi Rokiroki Ahanoa e tautoko ana i nga rarangi taapiri rereke. Ka tono koe kia whakarārangihia he ahanoa, ka taapirihia he kōpaki ki reira. Ka mataku a WAL-G ki tenei - he momo mea kei konei ehara i te konae, e kore e taea e au te whakaora, ko te tikanga kaore i whakahokia mai te taapiri. Arā, inā rā, he kāhui kua whakahokia katoatia mai, engari he tūnga pohehe koe na te mea i whakahokia e te Rokiroki Ahanoa etahi korero kee kaore i tino marama.
He mea tenei ka tupu i roto i te kapua Mēra.
Mena ka taea e koe te hanga i te whakaputa uri ...
He rite tonu te whakaputa...
Mena he whakaputanga, ka whakaaro ahau ka whakamatau tatou i nga rautaki ngana ano me te whakaaro me pehea te ngana ano me te mohio ki nga hiahia o te kapua ki a tatou. Tena pea ka pumau mo tatou i runga i nga hononga e toru, kare e pakaru te hononga, katahi ka ata tae ki te toru. Na te mea i tenei wa ka tino tere te tuku i te hononga, ara, ki te whakarewahia e matou he whakaora me nga miro 16, ka mutu te whakamatautau tuatahi ka 8 nga miro, e 4 nga miro, e 2 nga miro me te kotahi. Na ka toia te konae ki te awa kotahi. Mena he uara makutu penei i te 7,5 nga miro te mea pai mo te pupuhi, katahi ka noho tatou ki runga ka ngana ki te hanga i etahi atu miro 7,5. Anei tetahi whakaaro.
Nga mihi mo te ripoata! He aha te ahua o te rerenga mahi mo te mahi me te WAL-G? Hei tauira, i roto i te take poauau ina kahore he delta puta noa i nga wharangi. Na ka tangohia e matou ka tango i te taapiri tuatahi, katahi ka pupuri i te rakau kia puru te mata. I konei, ki taku mohio, he pakaru. I tetahi wa ka hiahia koe ki te hanga i te taapiri delta o nga wharangi, ara, kei te peia tenei e etahi o nga mahi o waho, me pehea ranei tenei?
He tino ngawari te API taapiri delta. He nama kei reira – max delta steps, koira te ingoa. Ka taunoa ki te kore. Ko te tikanga ko nga wa katoa ka mahi koe i te pana-rua, ka tangohia e ia he taapiri katoa. Mena ka huri koe ki tetahi tau pai, hei tauira, 3, katahi ka mahi koe i te pana-purua, ka tirohia te hitori o nga taapiri o mua. Ka kite ia kaore koe e neke ake i te mekameka o te 3 delta ka hanga he delta.
Arā, ia wa ka whakarewahia e matou te WAL-G, ka ngana ki te hanga i te taapiri katoa?
Kao, kei te whakahaere matou i te WAL-G, a ka ngana ki te hanga delta mena ka whakaaetia e o kaupapa here.
Ko te tikanga, ki te rere koe me te kore i nga wa katoa, ka rite te ahua o te pg_basebackup?
Kao, ka tere tonu te oma na te mea ka whakamahia te kopeke me te whakarara. Ka waiho e Pg_basebackup te hiku ki te taha o koe. Kei te whakaaro a WAL-G kua whirihorahia e koe te whakapuranga. A ka tukuna he whakatupato ki te kore e whirihora.
Ka taea te whakahaere Pg_basebackup me te kore he rakau.
Ae, katahi ka rite tonu ta ratou whanonga. Pg_basebackup kape ki te punaha konae. Ma te ara, he ahuatanga hou ta matou kua wareware ahau ki te whakahua. Inaianei ka taea e taatau te whakahoki ki te punaha konae mai i pg_basebackup. Kaore au i te mohio he aha te take i hiahiatia ai tenei, engari kei reira.
Hei tauira, i runga i te CephFS. Kaore nga tangata katoa e hiahia ki te whirihora i te Rokiroki Ahanoa.
Ae, koinei pea te take i patai ai ratou mo tenei ahuatanga kia taea ai e matou. Na i mahia e matou.
Nga mihi mo te ripoata! He patai noa mo te kape ki te punaha konae. I waho o te pouaka, kei te tautoko koe i te kape ki te rokiroki mamao, hei tauira, mena he papa kei te pokapū raraunga, tetahi atu mea ranei?
I roto i tenei whakatakotoranga, he patai uaua tenei. Ae, kei te tautoko matou, engari kaore ano kia whakauruhia tenei mahi ki tetahi tukunga. Arā, ko nga tukunga-mua katoa e tautoko ana i tenei, engari kaore nga putanga tuku. I taapirihia tenei mahi ki te putanga 0.2. Ka tere ka tukuna, ka whakatikahia e matou nga pepeke katoa e mohiotia ana. Engari i tenei wa ka taea anake te mahi i mua i te tuku. E rua nga pepeke kei roto i te tuku-mua. He raruraru ki te whakaora i te WAL-E, kare ano matou i whakatika. A i roto i nga korero hou i mua i te tuku i taapirihia he bug mo te delta-backup. Na reira, ka tūtohu matou ki te katoa ki te whakamahi i nga putanga tuku. I te mea kua kore he pepeke i mua i te tuku, ka taea e matou te kii kei te tautoko matou i a Google Cloud, nga mea hototahi-S3 me te rokiroki konae.
Kia ora, mihi mo te ripoata. Ki taku mohio, ko te WAL-G ehara i te ahua o te punaha tuuturu penei i nga kaihokohoko? Kei te whakamahere koe ki te neke ki tenei huarahi?
Ko te raruraru kua neke atu tatou i tenei huarahi. Ka noho a WAL-G i runga i te kaihautu turanga, i runga i te kaihautu kahui, i runga i nga kaihautu katoa o te kahui. I to matou neke ki te maha mano nga tautau, he maha a matou whakaurunga toa. A, i nga wa katoa ka pakaru tetahi mea i roto i a raatau, he raru nui. Na te mea me whakatika, me maarama koe ko nga tautau inaianei kaore he taapiri. Kare au e whakaaro ki te whakawhanake i te WAL-G i runga i nga taputapu tinana mo nga punaha taapiri. Mena kei te pirangi te hapori ki etahi mahi i konei, kaore au e aro.
Kei a matou nga roopu e kawe ana mo te rokiroki. A ka tino pai ki a matou ehara i a matou, he tangata motuhake ka whakatakoto i a matou konae ki te waahi haumaru nga konae. Ka mahia e ratou nga momo momo tohu mohio ki reira ki te aukati i te ngaro o etahi momo konae. Ko ratou te kawenga mo te bandwidth whatunga. I a koe he kaihokohoko, ka kitea ohorere koe kua kohia nga papaa raraunga iti me te maha o nga waka ki runga i te tūmau kotahi. He ahua nui to waahi ki runga, engari mo etahi take kaore nga mea katoa e uru ki roto i te whatunga. Ka huri ke atu pea. He maha nga whatunga kei reira, kei reira nga punaha tukatuka, engari kaore he kōpae i konei. Na kua ngenge matou i tenei hiahia ki te tarai i tetahi mea, a ka neke matou ki te meka he ratonga motuhake te rokiroki raraunga, na nga tangata motuhake te kawenga.
PS Kua tukuna he putanga hou
Ataata:
Source: will.com