Op deze pagina
Stel je een supportscherm voor met één vraag: is deze bestelling betaald? Het betaalsysteem kent het antwoord. Een integratieteam stelt voor om elke betaling naar een tweede database te kopiëren, die kopie actueel te houden en haar te lezen zodra een medewerker de bestelling opent. Dit is een hypothetisch operationeel voorbeeld, niet de analytische toepassing uit de aangehaalde demonstratie.
Misschien is die kopie nodig. Vraag eerst of het scherm op dit moment alleen één antwoord nodig heeft waartoe het toegang mag krijgen.
Een technische demonstratie van analytische queries over meerdere clouds toont een query over bestaande gegevensbronnen zonder eerst een permanente kopie van de brontabel in het doelsysteem te bouwen. Dezelfde demonstratie maakt ook een samengevoegde tabel aan. Toegang op afstand en kopiëren kunnen dus in één workflow samengaan. Dit is een echte productmogelijkheid, geen belofte dat een analytische querydienst geschikt is voor een operationeel betaalstatusscherm of dat er tijdens uitvoering nooit gegevens bewegen. Volgens de documentatie van Google Cloud over federatieve queries verplaatsen sommige externe queryresultaten tijdelijk naar de querydienst. Het relevante onderscheid is dat tussen een permanente gesynchroniseerde kopie en een begrensde lezing voor een concrete vraag.
Vertrek vanuit de taak van het ontvangende systeem
“Verbind deze systemen” kan twee verschillende verzoeken betekenen. Het eerste vraagt: “Wat zegt de bron nu?” Het tweede: “Welke toestand moet het doelsysteem bewaren om later te handelen?”
Voor het supportscherm kan een lezing met beperkte rechten de bestelstatus en het tijdstip van waarneming teruggeven. De bron blijft gezaghebbend. Is de bron uitgevallen, dan moet het scherm melden dat de huidige status niet beschikbaar is, of een antwoord uit de cache duidelijk als zodanig markeren. Een tweede kopie voegt een vraag toe: welke status geldt als de twee verschillen?
Een ontvangend systeem vraagt via een toegestane, afgebakende query één actueel antwoord aan de bron; de query kan tijdelijke gegevens verwerken zonder duurzame kopie te maken.
Voor een campagne rond een verlaten winkelwagen moet het doelsysteem misschien handelen zonder dat iemand een scherm opent. Het kan een tijdig event, de toestemmingsstatus en een manier nodig hebben om na een aankoop een ingepland bericht te annuleren. Een live lezing op het moment van de campagne kan nog steeds helpen, maar een antwoord op verzoek is niet de hele taak.
| Behoefte van het doelsysteem | Eerste ontwerp om te testen | Belangrijkste afweging |
|---|---|---|
| Eén actueel antwoord | Afgebakende query aan de eigenaar | Afhankelijk van brontoegang en vertraging |
| Doorlopend handelen bij verandering | Event of minimale synchronisatie van wijzigingen | Moet vertraging, duplicaten en gemiste events verwerken |
| Historisch bewijs voor een besluit | Momentopname van relevante velden met versienummer | Bewaartermijn en toegang moeten worden beheerd |
| Doorwerken bij bronuitval | Expliciete cache of kopie | Kan verouderd zijn; vraagt om een ouderdomsregel |
Dit is een beslijstabel, geen benchmark. Ze levert geen universele grens op tussen queryen en kopiëren.
Een kopie blijft kosten veroorzaken
De eerste extractie lijkt goedkoop omdat ze afloopt. De kopie blijft bestaan. Er verschijnt een nieuw veld, een identificatie wordt samengevoegd, een recht verandert of een oud event komt na een nieuw binnen. Nu kan het doelsysteem een antwoord bewaren dat de bron zou afwijzen.
De kosten zitten niet alleen in opslag, maar in afstemming: achterstand bewaken, gemiste wijzigingen opnieuw afspelen, gegevens verwijderen waar dat moet en uitleggen waarom een besluit op de waarde van gisteren berustte. Dat werk is terecht wanneer het doelsysteem onafhankelijke toestand nodig heeft. Het is overbodige ballast wanneer alleen een actueel antwoord nodig is.
Ook queries kosten iets. Ze kunnen de bron belasten, velden aan een andere partij tonen, een netwerkgrens passeren en op het slechtste moment mislukken. Een queryplanner kan meer gegevens verwerken dan het zichtbare resultaat doet vermoeden. De documentatie over federatie beschrijft details die je moet controleren voordat je een externe query als nul gegevensverplaatsing behandelt.
Een veilige query heeft een smal doel en een klein resultaat. Benoem de eigenaar van het veld. Beperk de rechten van de aanroeper. Bepaal hoe oud een antwoord mag zijn, hoe lang de query mag wachten en wat de interface bij een time-out zegt. Bewaar het waarnemingstijdstip bij het antwoord.
Wanneer een beheerste kopie haar kosten waard is
“Lokale gegevens geven ons een voorspelbare interface en minder storingen op afstand.” Dat is een serieus argument. Bij een harde eis aan responstijd, of als de workflow tijdens bronuitval moet doorgaan, kan een beheerde kopie het juiste ontwerp zijn.
Beheerd is hier het sleutelwoord. Leg vast welke velden je kopieert, hoe snel ze moeten worden bijgewerkt, wat gebeurt als updates stoppen en wanneer het doelsysteem weigert op verouderde toestand te handelen. Test naast de ideale route ook een late correctie. Een snel maar verouderd antwoord kan erger zijn dan een zichtbaar ontbrekend antwoord.
Begin bij de kleinste vraag van het doelsysteem. Lost een lezing die op, laat dan de bron beslissen. Vereist een handeling lokale toestand, kopieer dan alleen wat die handeling rechtvaardigt.
Een kleine proef kan de keuze bepalen zonder een algemene replicatielaag te bouwen. Kies één vraag die het doelsysteem echt stelt, leg vast hoe actueel het antwoord moet zijn en voer met realistische toegangsrechten een toegestane query uit op de bron. Meet vertraging, belasting van de bron en gedrag bij storingen. Test daarna de kleinste gekopieerde toestand die dezelfde behoefte dekt. Vergelijk niet alleen de responstijd, maar ook correctie, verwijdering en uitval. De gids voor integratieplanning biedt bredere workflowcontext; deze proef bepaalt waar het antwoord hoort te staan. Geen van beide routes is vanzelf goedkoper als je doorlopend onderhoud meetelt.
Een verbinding meet je niet aan het aantal rijen dat erdoorheen ging.
Veelgestelde vragen
Wanneer is een externe query beter dan synchronisatie?
Als iemand een antwoord uit de gezaghebbende bron nodig heeft en de beschikbaarheid en vertraging van die bron kan accepteren. Beperk de toegang en laat zien wanneer het antwoord is gelezen.
Wanneer moeten gegevens worden gekopieerd?
Kopieer zo weinig mogelijk toestand wanneer een ander systeem zonder live query moet handelen, een controleerbare momentopname moet bewaren of eisen aan snelheid en beschikbaarheid heeft waaraan de bron niet voldoet.
Betekent op de bron queryen dat er nooit gegevens verplaatsen?
Nee. Een federatiedienst kan tussenresultaten of uitkomsten verplaatsen om een query uit te voeren. Controleer de gedocumenteerde werking, bewaartermijnen en beveiliging van de aanbieder.