Ezen az oldalon
Képzelj el egy támogatói képernyőt, amely egy választ kér: kifizették ezt a rendelést? A fizetési rendszer tudja. Az integrációs csapat azt javasolja, hogy minden fizetési rekordot másoljanak egy második adatbázisba, tartsák frissen, és ebből olvassanak, amikor az ügyintéző megnyitja a rendelést. Ez képzeletbeli működési példa, nem a hivatkozott bemutató analitikai esete.
Lehet, hogy erre van szükség. Előbb kérdezd meg, csak egy mostani, engedélyezett válasz kell-e a képernyőnek.
Egy technikai bemutató a felhők közötti analitikai lekérdezésekről meglévő adatforrásokon átívelő lekérdezést mutat anélkül, hogy előbb állandó másolatot építene a forrástáblából a célrendszerben. Ugyanez a bemutató összekapcsolt táblát is materializál, tehát távoli hozzáférés és másolás egy munkafolyamaton belül is együtt létezhet. Ez valódi termékképesség, de nem ígéret arra, hogy az analitikai lekérdező szolgáltatás alkalmas egy operatív fizetésiállapot-képernyőre, vagy hogy a végrehajtás alatt egyáltalán nem mozog adat. A Google Cloud föderált lekérdezési dokumentációja elmagyarázza, hogy bizonyos külső lekérdezési eredmények átmenetileg a lekérdező szolgáltatásba kerülnek. A fontos különbség a tartósan szinkronizált másolat és a konkrét kérdésre korlátozott olvasás között van.
A fogyasztó feladata alapján dönts
A „kösd össze a rendszereket” kérésben két külön feladat rejtőzik. Az egyik: „Mit mond most a forrás?” A másik: „Milyen állapotot kell a célrendszernek őriznie, hogy később cselekedhessen?”
A támogatói képernyőnél korlátozott olvasás visszaadhatja a rendelés állapotát és a megfigyelés idejét. A forrás marad mértékadó. Ha a forrás nem elérhető, a képernyő közölje, hogy az aktuális állapot nem áll rendelkezésre, vagy jelölje egyértelműen a gyorsítótárazott választ. A második másolat új kérdést teremtene: melyik állapot számít, ha a kettő eltér?
A fogyasztó egy aktuális választ kér a forrástól engedélyezett, szűk lekérdezéssel; az átmeneti adatfeldolgozás nem feltétlenül hoz létre tartós másolatot.
Egy elhagyott kosár kampánynál a célrendszernek talán úgy kell cselekednie, hogy senki nem nyit meg képernyőt. Időben érkező esemény, hozzájárulási állapot és a vásárlás után sorban álló üzenet törlési módja kellhet. A kampány idején végzett élő olvasás továbbra is segíthet, de a kérésre adott válasz önmagában nem a teljes feladat.
| Amire a fogyasztónak szüksége van | Első tesztelendő megoldás | Fő kompromisszum |
|---|---|---|
| Egy aktuális válasz | Szűk lekérdezés a gazdához | Függ a forrás hozzáférésétől és késleltetésétől |
| Folyamatos cselekvés változásra | Esemény vagy minimális változásszinkronizálás | Kezelni kell késést, duplikációt és kimaradt eseményt |
| Döntés történeti bizonyítéka | A fontos mezők verziózott pillanatképe | Szabályozni kell a megőrzést és hozzáférést |
| Működés forráskiesés alatt | Kifejezett gyorsítótár vagy másolat | Elavulhat; korhatár kell |
Ez döntési táblázat, nem teljesítménymérés. Nem vezethető le belőle általános határ a lekérdezés és másolás között.
A másolatnak folyamatos költsége van
Az első kinyerés könnyen alábecsülhető, mert egyszer véget ér. A másolat tovább él. Új mező jelenik meg, azonosítók egyesülnek, jogosultság változik, vagy régi esemény érkezik az új után. A célrendszer olyan választ tárolhat, amelyet a forrás elutasítana.
A költség nem csak tárhely. Az összeegyeztetés is: a késés figyelése, kimaradt változások újrajátszása, szükség esetén adatok törlése és annak megmagyarázása, miért tegnapi értékre épült a döntés. Ezek akkor indokoltak, ha a célrendszernek önálló állapotra van szüksége. Ha az egyetlen elvárt eredmény az aktuális válasz, felesleges munkák.
A lekérdezésnek is vannak költségei. Terhelheti a forrást, mezőket mutathat másik jogosult szereplőnek, hálózati határt léphet át, és a legrosszabb pillanatban hibázhat. A lekérdezéstervező több adatot dolgozhat fel, mint amennyit a látható eredmény sugall. A föderációs dokumentáció olyan végrehajtási részleteket ír le, amelyeket ellenőrizni kell, mielőtt a távoli lekérdezést nulla adatmozgásnak neveznénk.
A biztonságos lekérdezés célja és eredménye szűk. Nevezd meg a mező gazdáját. Korlátozd a hívó jogosultságát. Döntsd el, milyen idős lehet a válasz, meddig vár a lekérdezés, és mit mond a felület időtúllépésnél. A válasszal együtt tartsd meg a megfigyelés idejét.
Amikor az ellenőrzött másolat megéri az árát
„A helyi adat kiszámítható felületet és kevesebb távoli hibát ad.” Ez komoly érv. Ha a munkafolyamatnak szigorú válaszidő kell, vagy forráskiesés alatt is folytatódnia kell, az ellenőrzött másolat lehet a helyes terv.
Az ellenőrzött szó a kulcs. Határozd meg, mely mezőket másolod, milyen gyorsan kell frissülniük, mi történik, ha a frissítések megállnak, és mikor utasítja el a fogyasztó az elavult állapotot. A késői javítást is teszteld, ne csak az ideális utat. A gyors, de elavult válasz rosszabb lehet a láthatóan nem elérhetőnél.
A fogyasztó legkisebb kérdésével kezdj. Ha egy olvasás megoldja, maradjon a forrás mértékadó. Ha egy műveletnek helyi állapot kell, csak annyit másolj, amennyit a művelet indokol.
Kis próbával eldönthető a választás általános replikációs réteg építése nélkül. Válassz egy valós fogyasztói kérdést, rögzítsd a szükséges frissességet, és futtass engedélyezett lekérdezést a forrás ellen. Valós hozzáférés-ellenőrzéssel figyeld a késleltetést, a forrás terhelését és a hibamódot. Ezután próbáld ki a legszűkebb másolt állapotot, amely ugyanannak a fogyasztónak elég. Ne csak a válaszidőt hasonlítsd össze, hanem a javítás, törlés és kiesés viselkedését is. Az integrációtervezési útmutató a tágabb munkafolyamatot adja; ez a próba azt dönti el, hol lakjon a válasz. A folyamatos fenntartást beszámítva egyik út sem automatikusan olcsóbb.
Egy kapcsolat értékét nem az azon átkelt sorok száma adja.
Gyakran Ismételt Kérdések
Mikor jobb a távoli lekérdezés, mint a szinkronizálás?
Akkor, ha a hívónak a mértékadó forrás válasza kell, és elfogadja annak rendelkezésre állását és késleltetését. A hozzáférést korlátozd a szükséges körre, és mutasd meg, mikor olvasták a választ.
Mikor kell adatot másolni?
A legkisebb szükséges állapotot másold, ha egy másik rendszernek élő lekérdezés nélkül kell cselekednie, auditálható pillanatképet kell megőriznie, vagy a forrás által nem biztosítható késleltetési vagy rendelkezésre állási követelményt kell teljesítenie.
A helyben lekérdezés azt jelenti, hogy az adat sosem mozog?
Nem. A föderációs szolgáltatás a lekérdezés végrehajtásához köztes vagy eredményadatot továbbíthat. Ellenőrizd a szolgáltató dokumentált végrehajtási, megőrzési és biztonsági viselkedését.