Fråga källan innan du kopierar data

En fråga kan behöva ett nytt svar från källan, inte en andra databas. Välj fjärråtkomst eller synkronisering efter vad nästa system måste göra.

query source before syncing

Vad är det korta svaret?

När jobbet är att besvara en fråga, läs den tillåtna källan och returnera minsta användbara svar. Kopiera data när ett annat system måste äga tillstånd, fungera medan källan är nere eller agera på en varaktig händelse. En fjärrfråga behöver också behörighet, gränser för aktualitet och svarstid samt ett tydligt läge vid fel.

Läs mer
På denna sida

Tänk dig en supportskärm som behöver ett enda svar: är ordern betald? Betalningssystemet har svaret. Ett integrationsteam föreslår att kopiera varje betalningspost till en andra databas, hålla kopian aktuell och läsa den när en medarbetare öppnar ordern. Det är ett hypotetiskt driftsexempel, inte det analytiska användningsfall som den citerade demonstrationen visar.

Kopian kan behövas. Fråga först om skärmen just nu bara behöver ett tillåtet svar.

En teknisk demonstration av analytiska frågor mellan moln visar en fråga över befintliga datakällor utan att först skapa en permanent kopia av källtabellen i målsystemet. Samma demonstration skapar också en sammanfogad tabell. Fjärråtkomst och kopiering kan alltså finnas i ett och samma flöde. Det är en verklig produktfunktion, inget löfte om att en analytisk frågetjänst passar en operativ skärm för betalningsstatus eller att data aldrig flyttas under körningen. Google Clouds dokumentation om federerade frågor förklarar att vissa resultat från externa frågor tillfälligt flyttas in i frågetjänsten. Den viktiga skillnaden går mellan en permanent synkroniserad kopia och en avgränsad läsning för en viss fråga.

Utgå från mottagarens jobb

Två olika begäranden gömmer sig i ”koppla ihop systemen”. Den ena frågar: ”Vad säger källan nu?” Den andra: ”Vilket tillstånd måste målsystemet hålla för att kunna agera senare?”

För supportskärmen kan en avgränsad läsning returnera orderstatus och tidpunkten då den lästes. Källan förblir styrande. Om källan är nere ska skärmen säga att aktuell status inte finns eller tydligt märka ett cachat svar. En andra kopia skapar en ny fråga: vilken status gäller när de skiljer sig?

Styrande källa aktuell status
Avgränsad fråga tillåten läsning avläsningstid
Mottagare ett svar
Begreppslig avgränsad fråga

En mottagare ber källan om ett aktuellt svar genom en tillåten avgränsad fråga; tillfälliga data kan behandlas utan att en varaktig kopia skapas.

För en kampanj om övergivna varukorgar kan målsystemet behöva agera utan att någon öppnar en skärm. Det kan kräva en händelse i tid, samtyckesstatus och möjlighet att avbryta ett köat meddelande efter köp. En aktiv läsning vid kampanjen kan fortfarande hjälpa, men ett svar på begäran är inte hela jobbet.

Mottagaren behöverFörsta design att testaViktigaste avvägning
Ett aktuellt svarAvgränsad fråga till ägarenBeror på åtkomst till källan och svarstid
Fortlöpande åtgärd vid ändringHändelse eller minimal synkronisering av ändringarMåste hantera försening, dubbletter och missade händelser
Historiskt beslutsunderlagVersionsmärkt ögonblicksbild av relevanta fältKräver regler för lagring och åtkomst
Drift när källan är nereTydlig cache eller kopiaKan vara gammal; kräver regel för ålder

Tabellen hjälper ett beslut, den är inget prestandatest. Den ger ingen allmän gräns mellan att fråga och kopiera.

En kopia fortsätter kosta

Den första exporten är lätt att underskatta eftersom den tar slut. Kopian fortsätter leva. Ett nytt fält dyker upp, en identifierare slås ihop, en behörighet ändras eller en gammal händelse kommer efter en ny. Nu kan målsystemet ha ett svar som källan skulle avvisa.

Kostnaden är inte bara lagring. Den är avstämning: bevaka eftersläpning, spela upp missade ändringar, radera data när det krävs och förklara varför ett beslut byggde på gårdagens värde. Det arbetet är rimligt när målsystemet behöver eget tillstånd. Det är onödigt när leveransen bara är ett aktuellt svar.

En fråga har också kostnader. Den kan belasta källan, visa fält för en annan part, korsa en nätverksgräns och misslyckas vid sämsta tillfället. Frågeplaneraren kan behandla mer data än det synliga resultatet antyder. Dokumentationen om federation beskriver detaljer som bör granskas innan fjärrfrågor ses som noll dataflytt.

En säker fråga har ett snävt syfte och ett litet resultat. Namnge fältets ägare. Begränsa den frågandes behörighet. Bestäm hur gammalt ett svar får vara, hur länge frågan får vänta och vad gränssnittet säger vid timeout. Låt avläsningstiden följa svaret.

När en kontrollerad kopia är värd kostnaden

”Lokala data ger oss ett förutsägbart gränssnitt och färre fjärrfel.” Det är ett seriöst argument. Om arbetsflödet har ett hårt krav på svarstid eller måste fortsätta vid avbrott hos källan kan en styrd kopia vara rätt design.

Ordet styrd gör jobbet. Bestäm vilka fält som kopieras, hur snabbt de ska uppdateras, vad som händer när uppdateringar stannar och när mottagaren vägrar agera på gammalt tillstånd. Testa en sen rättning lika väl som normalfallet. Ett snabbt gammalt svar kan vara värre än ett tydligt uteblivet svar.

Börja med mottagarens minsta fråga. Om en läsning besvarar den, låt källan bestämma. Om åtgärden kräver lokalt tillstånd, kopiera bara vad åtgärden motiverar.

Ett litet försök kan avgöra valet utan en allmän kopieringslösning. Välj en fråga som mottagaren verkligen ställer, ange hur aktuellt svaret måste vara och kör en tillåten fråga mot källan. Mät svarstid, belastning på källan och felbeteende med realistiska åtkomstregler. Testa sedan det snävaste kopierade tillstånd som skulle duga. Jämför inte bara svarstid utan även rättning, radering och avbrott. Guiden för integrationsplanering ger större arbetsflödessammanhang; försöket avgör var svaret hör hemma. Ingen väg är automatiskt billigare när löpande underhåll räknas.

En anslutning mäts inte i hur många rader som passerade den.

Vanliga Frågor

När är en fjärrfråga bättre än synkronisering?

När någon behöver ett svar från styrande källa och kan acceptera dess tillgänglighet och svarstid. Avgränsa åtkomsten och visa när svaret lästes.

När måste data kopieras?

Kopiera minsta nödvändiga tillstånd när ett annat system måste agera utan en aktiv fråga, behålla en granskningsbar ögonblicksbild eller möta ett krav på svarstid eller tillgänglighet som källan inte kan uppfylla.

Betyder frågor direkt mot källan att data aldrig flyttas?

Nej. En federationstjänst kan flytta mellanliggande data eller resultat för att köra frågan. Kontrollera leverantörens dokumentation om körning, lagring och säkerhet.

Ansök om tidig åtkomst

Ange ditt förnamn och din e-postadress på jobbet. Vi skickar en länk för att bekräfta din begäran om åtkomst till Tajo.

Skaffa Brevo