Puncte:0

Cum gestionează Google Cloud Platform backup-urile bazei de date cu --async flag?

drapel za

În prezent, lucrez la adăugarea unui pas suplimentar la conducta CI/CD a companiei noastre, astfel încât să facem copii de siguranță ale bazei de date înainte de a face o implementare care ar putea efectua migrații în baza noastră de date.

Pentru a face backup, mă autentific cu Google Cloud Platform folosind comanda: gcloud auth activate-service-account --key-file /path/to/keyfile.json

După autentificare folosesc comanda: backup-urile gcloud sql create --async --instance instance_name

Întrebarea mea este despre care sunt implicațiile adăugării steagului asincron.Înțeleg că acest lucru înseamnă că pipeline-ul meu nu va aștepta finalizarea copiei de rezervă înainte de a trece la pasul următor, totuși, dacă următorul pas implică rularea migrărilor care ar putea întrerupe ceva, înseamnă asta că backup-ul pe care l-am făcut în pasul anterior ar putea ajunge într-o stare intermediară în care migrarea a fost parțial efectuată?

Cum gestionează Google de fapt crearea de copii de rezervă? Ei fac un instantaneu al bazei de date în acel moment și apoi fac backup din acel moment? Ar fi mai sigur să eliminați indicatorul --async pentru a vă asigura că backup-ul a fost finalizat înainte de a rula eventualele migrari?

Am încercat să mă uit la documentație, dar nu intră în detalii despre asta.

Puncte:0
drapel jp

Putem cunoaște starea procesului de backup folosind aceste comenzi: -

  1. Folosește lista de operațiuni sql gcloud comanda pentru a obține ID-ul operației.

  2. Folosește Descriu operațiunile gcloud sql comanda pentru a obține operația stare. Pentru mai multe detalii vezi aici

Pentru comanda --async consultați google doc. Se pare că execuția va reveni la alte joburi, iar backup-ul va continua în fundal.

drapel za
Înțeleg că înseamnă că crearea unei copii de rezervă cu indicatorul --async înseamnă că nu ar exista nicio garanție că backup-ul nu se va termina cu o migrare parțială implementată. Am optat pentru rularea migrației fără marcajul --async.
Puncte:0
drapel us

Cred că în scopul instantaneului, cel mai bine este să nu folosiți --async, cu excepția cazului în care sunteți cu adevărat sigur că următoarea operațiune din CI/CD nu va interfera cu operația de instantaneu.

Acestea fiind spuse, cred că instantaneul ar fi finalizat, dar următoarea operație, dacă are ceva de-a face cu instanța sau bazele de date cloudsql, va eșua dacă este rulată în același timp în timp ce instantaneul rulează.

Doar, ca exemplu: nu puteți exporta mai multe baze de date prin gcloud sql export sql în mod simulat. Trebuie să așteptați ca prima execuție să se termine, altfel a doua execuție va eșua!

Sper că acest ajutor!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.