Puncte:0

Care este cea mai bună infrastructură AWS pentru a rula o migrare a datelor de la un server SQL la mongoDB?

drapel id

Am câțiva terabytes de date în sistemul nostru moștenit care rulează serverul SQL. Versiunea noastră mai nouă rulează pe MongoDB. Migrem aceste date la MongoDB. Avem scripturi Python scrise și verificate, toate mișcările de date au loc corect.

Am făcut asta pe o mașină inferioară cu 4 nuclee, dacă o facem pe o mașină mai mare, va fi foarte scump. AWS Lambda are un timp de procesare de 15 minute, care durează mai mult de 24 de ore pentru ca o iterație să se termine. Funcțiile AWS Step promite, dar nu sunt sigur dacă este cea potrivită.

drapel in
Răspunde asta la întrebarea ta? [Mă puteți ajuta cu planificarea capacității mele?](https://serverfault.com/questions/384686/can-you-help-me-with-my-capacity-planning)
J Bourne avatar
drapel id
Mulțumesc pentru răspuns, dar nu caut planificarea capacității, am acele detalii, am nevoie de cea mai bună infrastructură (în mare parte din cloud AWS) pentru a rula scripturile mele în mod unitar timp de câteva zile, care ar migra datele SQL în mongo, astfel încât sunt terminate la timp.
Puncte:2
drapel gp
Tim

Nu puteți să faceți „mongoexport” local, să exportați pe S3 (sau un dispozitiv fizic AWS Snowcone), să utilizați o instanță EC2 pentru a „mongoimport”, apoi să rulați scriptul pentru a face actualizări de la descărcare?

În ceea ce privește modul de rulare, probabil că veți scăpa folosind o instanță spot EC2, mai ales dacă o utilizați în afara orelor de vârf pentru regiune - poate un weekend. Dacă munca dvs. nu poate fi întreruptă, atunci EC2 la cerere. Un m5.xlarge cu 4 nuclee / 16 GB RAM costă 0,20 USD pe oră, pentru câteva zile, 10 USD.

De asemenea, voi sublinia că să spunem că 3TB la 100Mbps va dura 2,6 zile pentru a trimite, dar la 800Mbps va dura 7 ore - dar susținerea acelei lățimi de bandă poate fi dificilă fără DirectConnect. S-ar putea să-ți folosești cel mai bine un AWS Snowcone care este un dispozitiv fizic pe care copiați datele pentru a le livra apoi la AWS.

Aș sugera să utilizați AWS Database Migration Service pentru migra de la MongoDB la AWS DocumentDB, care este versiunea lor de MongoDB cu un nume diferit. DMS va migra datele, apoi trebuie doar să îndreptați aplicația către noua instanță și să o dezactivați pe cea veche.

Oscar De León avatar
drapel la
Pentru „doar” 3 TB un bulgăre de zăpadă poate exagerat. Poate luați în considerare un con de zăpadă?
Tim avatar
drapel gp
Tim
Da, mă gândeam la familia Snow, voi edita pentru a fi mai precis.
J Bourne avatar
drapel id
Folosesc deja m5.xlarge, nu ajută prea mult. dar mulțumesc pentru conul de zăpadă și familia de zăpadă, o să aruncăm o privire.
Tim avatar
drapel gp
Tim
Sunteți cel mai bine plasat să luați în considerare cerințele de instanță, deoarece aveți acces la valori - aveți nevoie de mai mult CPU, mai multă RAM, mai mult sau mai rapid spațiu de stocare sau altceva? Cred că un dispozitiv pentru familia de zăpadă va fi o alegere bună pentru asta.
J Bourne avatar
drapel id
Da, am nevoie de mai mult CPU și RAM, de mare viteză, nu fac migrarea datelor offline, fac de la un server DB live la altul server DB live.
Tim avatar
drapel gp
Tim
Costul unei instanțe mai mari pentru o zi sau două pentru a migra o bază de date uriașă nu ar trebui să fie mult. M-aș uita la utilizarea AWS Database Migration Service pentru a migra la AWS DocumentDB, care este practic MongoDB cu o etichetă diferită, în loc să folosesc script-uri personalizate și propria instanță EC2. Răspuns actualizat.

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.