Na ovoj stranici
Zamislite zaslon podrške kojem treba jedan odgovor: je li narudžba plaćena? Sustav plaćanja zna odgovor. Integracijski tim predlaže kopiranje svih zapisa o plaćanju u drugu bazu, održavanje kopije ažurnom i čitanje te kopije pri otvaranju narudžbe. Ovo je hipotetski operativni primjer, a ne analitički slučaj prikazan u citiranoj demonstraciji.
To možda jest potrebno. Najprije pitajte treba li zaslon samo jedan dopušten odgovor u ovom trenutku.
Tehnička demonstracija analitičkih upita između oblaka pokazuje upit preko postojećih izvora bez prethodnog stvaranja trajne kopije izvorne tablice na odredištu. Ista demonstracija materijalizira spojenu tablicu, pa udaljeni pristup i kopiranje mogu biti dio istog tijeka rada. To je stvarna mogućnost proizvoda, ali nije obećanje da je usluga analitičkih upita prikladna za operativni zaslon statusa plaćanja ili da se podaci pri izvršavanju uopće ne prenose. Dokumentacija za federacijske upite na Google Cloudu objašnjava da se neki rezultati vanjskih upita privremeno prenose u uslugu za upite. Važna je razlika između trajne sinkronizirane replike i ograničenog čitanja za određeno pitanje.
Odlučite prema poslu potrošača podataka
U zahtjevu „povežite ova dva sustava” kriju se dva različita pitanja. Jedno glasi: „Što izvor kaže sada?” Drugo: „Koje stanje odredište mora zadržati da bi poslije moglo djelovati?”
Za zaslon podrške upit ograničenog opsega može vratiti status narudžbe i vrijeme opažanja. Izvor ostaje mjerodavan. Ako izvor nije dostupan, zaslon treba reći da trenutačni status nije dostupan ili jasno označiti predmemorirani odgovor. Druga kopija stvorila bi novo pitanje: koji status vrijedi kada se ne slažu?
Potrošač traži jedan trenutačan odgovor od izvora dopuštenim upitom ograničenog opsega; upit može obrađivati privremene podatke bez trajne replike.
Za kampanju nakon napuštene košarice odredište možda mora djelovati bez otvaranja zaslona. Trebaju mu pravodoban događaj, stanje privole i način otkazivanja poruke koja čeka nakon kupnje. Čitanje uživo u trenutku kampanje i dalje može pomoći, ali odgovor na zahtjev nije cijeli posao.
| Što potrošaču treba | Prvi pristup za provjeru | Glavni kompromis |
|---|---|---|
| Jedan trenutačan odgovor | Ograničen upit vlasniku podataka | Ovisi o dostupnosti izvora i vremenu odziva |
| Stalno djelovanje na promjene | Događaj ili sinkronizacija najmanjih promjena | Treba obraditi kašnjenje, duplikate i propuštene događaje |
| Povijesni dokaz odluke | Verzijska snimka relevantnih polja | Treba urediti čuvanje i pristup |
| Rad tijekom prekida izvora | Jasno određena predmemorija ili replika | Može zastarjeti; treba pravilo o starosti |
To je tablica za odlučivanje, a ne mjerenje performansi. Iz nje ne slijedi univerzalna granica između upita i kopiranja.
Kopija ima trajni trošak
Prvo izvlačenje podataka lako je podcijeniti jer jednom završi. Kopija nastavlja živjeti. Pojavi se novo polje, identifikatori se spoje, dopuštenje se promijeni ili stari događaj stigne poslije novog. Odredište tada može čuvati odgovor koji bi izvor odbacio.
Trošak nije samo pohrana. To je usklađivanje: praćenje zaostatka, ponovno provođenje propuštenih promjena, brisanje podataka kada je potrebno i objašnjavanje zašto je odluka koristila jučerašnju vrijednost. Ti su poslovi opravdani kada odredište treba vlastito stanje. Suvišni su kada je jedini rezultat trenutačan odgovor.
I upit ima troškove. Može opteretiti izvor, otkriti polja drugom subjektu, prijeći mrežnu granicu i zakazati u najgorem trenutku. Plan izvršavanja može obraditi više podataka nego što vidljivi rezultat sugerira. Dokumentacija o federaciji opisuje pojedinosti koje vrijedi provjeriti prije nego što udaljeni upit proglasite prijenosom bez podataka.
Siguran upit ima usku svrhu i malen rezultat. Imenujte vlasnika polja. Ograničite dopuštenje pozivatelja. Odredite koliko odgovor smije biti star, koliko se čeka upit i što sučelje prikazuje pri isteku vremena. Uz odgovor sačuvajte vrijeme opažanja.
Kada kontrolirana kopija opravdava trošak
„Lokalni podaci daju predvidljivo sučelje i manje udaljenih kvarova.” To je ozbiljan argument. Ako tijek rada ima strogo ograničenje vremena odziva ili mora preživjeti prekid izvora, kontrolirana replika može biti ispravan izbor.
Riječ kontrolirana nosi težinu. Odredite koja se polja kopiraju, koliko brzo se moraju obnoviti, što se događa kada promjene prestanu stizati i kada potrošač odbija djelovati na zastarjelom stanju. Testirajte zakašnjeli ispravak, ne samo idealan put. Brz zastario odgovor može biti gori od jasno prikazane nedostupnosti.
Počnite od najmanjeg pitanja koje potrošač postavlja. Ako ga čitanje rješava, neka izvor ostane mjerodavan. Ako radnja zahtijeva lokalno stanje, kopirajte samo ono što ta radnja opravdava.
Mali pokus može razriješiti izbor bez gradnje općeg sloja za replikaciju. Uzmite jedno stvarno pitanje potrošača, zapišite potrebnu svježinu odgovora i pokrenite dopušteni upit prema izvoru. Promatrajte vrijeme odziva, opterećenje izvora i ponašanje pri pogrešci uz stvarne kontrole pristupa. Zatim iskušajte najuži skup kopiranih podataka koji bi zadovoljio istog potrošača. Usporedite ne samo brzinu, nego i ispravke, brisanje i ponašanje pri prekidu. Vodič za planiranje integracije daje širi kontekst tijeka rada; ovaj pokus odlučuje gdje odgovor treba živjeti. Nijedan pristup nije automatski jeftiniji kada uračunate trajno održavanje.
Veza se ne mjeri brojem redaka koji su njome prošli.
Često postavljana pitanja
Kada je udaljeni upit bolji od sinkronizacije?
Kada pozivatelju treba odgovor iz mjerodavnog izvora i može prihvatiti njegovu dostupnost i kašnjenje. Ograničite pristup na potreban opseg i pokažite kada je odgovor pročitan.
Kada se podaci moraju kopirati?
Kopirajte najmanje potrebno stanje kada drugi sustav mora djelovati bez upita uživo, čuvati provjerljivu snimku ili zadovoljiti zahtjev za brzinom ili dostupnošću koji izvor ne može ispuniti.
Znači li upit na izvornom mjestu da se podaci nikad ne prenose?
Ne. Federacijska usluga pri izvršavanju upita može prenijeti međurezultate ili rezultate. Provjerite dokumentirano ponašanje pružatelja pri izvršavanju, čuvanju podataka i zaštiti.