Na této stránce
Představte si obrazovku podpory, která potřebuje jedinou odpověď: byla tato objednávka zaplacena? Platební systém ji zná. Integrační tým navrhuje zkopírovat všechny záznamy plateb do druhé databáze, udržovat kopii aktuální a číst z ní při otevření objednávky. Jde o hypotetický provozní příklad, ne analytické použití v citované ukázce.
Kopie může být potřebná. Nejprve se zeptejte, zda obrazovka nyní nepotřebuje jen jednu odpověď z dostupného zdroje.
Technická ukázka analytických dotazů napříč cloudy předvádí dotaz nad existujícími zdroji bez předchozí trvalé kopie zdrojové tabulky v cíli. Tatáž ukázka také zhmotní spojenou tabulku, takže vzdálený přístup i kopírování mohou být součástí jednoho postupu. Jde o skutečnou schopnost produktu, ne slib, že analytická dotazovací služba je vhodná pro provozní obrazovku plateb nebo že se při provedení data nepohnou. Dokumentace federativních dotazů Google Cloud vysvětluje, že některé výsledky vnějších dotazů dočasně vstupují do dotazovací služby. Podstatný rozdíl je mezi trvalou synchronizovanou replikou a omezeným čtením pro konkrétní otázku.
Rozhodujte podle úlohy příjemce
V požadavku „propojte tyto systémy“ se skrývají dvě různé věci. Jedna se ptá: „Co říká zdroj nyní?“ Druhá: „Jaký stav musí cíl držet, aby mohl později jednat?“
Pro obrazovku podpory může dotaz s omezeným rozsahem vrátit stav objednávky a čas pozorování. Zdroj zůstává autoritou. Pokud nefunguje, obrazovka má uvést, že současný stav není dostupný, nebo jasně označit odpověď z cache. Druhá kopie vytváří další otázku: který stav má přednost, když se liší?
Příjemce žádá zdroj o jednu současnou odpověď oprávněným dotazem s omezeným rozsahem; dotaz může zpracovat dočasná data bez vytvoření trvalé repliky.
U kampaně opuštěných košíků může cíl potřebovat jednat, aniž někdo otevře obrazovku. Může potřebovat včasnou událost, stav souhlasu a způsob zrušení čekající zprávy po nákupu. Živé čtení v okamžiku kampaně může stále pomoci, ale pouhá odpověď na vyžádání není celá práce.
| Potřeba příjemce | První návrh k otestování | Hlavní kompromis |
|---|---|---|
| Jedna současná odpověď | Dotaz omezený na vlastníka dat | Závisí na přístupu a odezvě zdroje |
| Průběžná akce při změnách | Událost nebo minimální synchronizace změn | Nutno zvládnout zpoždění, duplicity a chybějící události |
| Historický důkaz rozhodnutí | Verzovaný snímek příslušných polí | Nutno řídit uchování a přístup |
| Provoz při výpadku zdroje | Výslovná cache nebo replika | Může zastarat; potřebuje pravidlo stáří |
Jde o rozhodovací tabulku, ne benchmark. Neurčuje univerzální hranici mezi dotazem a kopií.
Kopie má trvalé náklady
První export se snadno podcení, protože skončí. Kopie žije dál. Objeví se nové pole, spojí se identifikátory, změní se oprávnění nebo stará událost přijde po nové. Cíl nyní může obsahovat odpověď, kterou by zdroj odmítl.
Nákladem není jen úložiště. Je jím slaďování: sledování zpoždění, přehrávání zmeškaných změn, mazání dat, když je vyžadováno, a vysvětlení, proč rozhodnutí použilo včerejší hodnotu. Tato práce má smysl, když cíl potřebuje nezávislý stav. Je zbytečná, pokud je jediným výsledkem současná odpověď.
Dotaz také něco stojí. Může zatížit zdroj, odhalit pole jinému subjektu, překročit síťovou hranici a selhat v nejhorší chvíli. Plán dotazu může zpracovat více dat, než napovídá viditelný výsledek. Dokumentace federace popisuje podrobnosti provedení, které stojí za kontrolu, než vzdálený dotaz označíte za nulový pohyb dat.
Bezpečný dotaz má úzký účel a úzký výsledek. Jmenujte vlastníka pole. Omezte oprávnění volajícího. Rozhodněte, jak stará může být odpověď, jak dlouho může dotaz čekat a co rozhraní řekne při vypršení času. Čas pozorování ponechte u odpovědi.
Kdy si řízená kopie zaslouží svou cenu
„Místní data nám dají předvídatelné rozhraní a méně vzdálených výpadků.“ To je vážný argument. Pokud má postup přísný požadavek na odezvu nebo musí pokračovat při výpadku zdroje, řízená replika může být správný návrh.
Slovo řízená je zásadní. Určete kopírovaná pole, rychlost jejich aktualizace, co se stane po zastavení aktualizací a kdy příjemce odmítne jednat podle zastaralého stavu. Testujte opožděnou opravu stejně jako běžnou cestu. Rychlá zastaralá odpověď může být horší než jasně označená nedostupnost.
Začněte nejmenší otázkou příjemce. Pokud ji čtení řeší, nechte zdroj vládnout. Pokud akce vyžaduje místní stav, kopírujte jen to, co tím lze obhájit.
Malý pokus může rozhodnout bez obecné vrstvy replikace. Vyberte otázku, kterou příjemce skutečně klade, určete potřebnou aktuálnost a spusťte oprávněný dotaz na zdroj. Pozorujte odezvu, zatížení zdroje a chování při výpadku s realistickými přístupovými právy. Poté vyzkoušejte nejužší kopii stavu splňující stejnou potřebu. Porovnejte nejen dobu odpovědi, ale i opravy, mazání a výpadky. Průvodce plánováním integrace dává širší kontext postupu; pokus volí místo odpovědi. Žádná cesta není automaticky levnější po započtení dlouhodobé údržby.
Propojení se neměří počtem přenesených řádků.
Často Kladené Otázky
Kdy je vzdálený dotaz lepší než synchronizace?
Když volající potřebuje odpověď z autoritativního zdroje a může přijmout jeho dostupnost a odezvu. Omezte přístup a ukažte čas načtení odpovědi.
Kdy se data musejí kopírovat?
Kopírujte nejmenší nutný stav, když jiný systém musí jednat bez živého dotazu, uchovat auditovatelný snímek nebo splnit požadavek na odezvu či dostupnost, který zdroj nezvládne.
Znamená dotazování na místě, že se data nikdy nepřesouvají?
Ne. Federativní služba může při provedení dotazu přenést mezivýsledky nebo výsledná data. Zkontrolujte dokumentovaný způsob provedení, uchování a zabezpečení.