Google PCD: Applicatiedata, state en opslagpatronen — Studiegids

Onderdeel van de Google Professional Cloud Developer — Studiegids. Oefen met geverifieerde antwoorden in het Google-examencentrum, of doe getimede oefentests op ExamRoll.io.

Overzicht

Moderne applicaties op Google Cloud combineren routinematig meerdere datastores om een balans te vinden tussen latency, consistentie, schaalbaarheid, kosten en operationele complexiteit. Het selecteren van geschikte services en patronen — en het begrijpen van hun faalscenario’s — is essentieel voor een veerkrachtig ontwerp. Dit gedeelte geeft een samenvatting van praktische richtlijnen voor Cloud SQL, Cloud Spanner, Firestore, Bigtable, Memorystore en Cloud Storage, en behandelt migraties, partitionering en databescherming.

Relationele Data op Cloud SQL

Cloud SQL biedt beheerde MySQL, PostgreSQL en SQL Server met de vertrouwde semantiek van een RDBMS.

Veelvoorkomende faalscenario’s en oplossingen:

Planet-scale Relationeel op Cloud Spanner

Cloud Spanner levert horizontale schaalbaarheid met opties voor globale consistentie.

Afwegingen:

Operationele NoSQL-opslag: Firestore en Bigtable

Kies het NoSQL-model dat past bij de querypatronen en het doorvoerprofiel.

Patronen voor Caching en Object Storage

Migratie, Consistentie, Partitionering en Gegevensbescherming

Praktijkscenario

Aurora Outfitters migreert een monolithisch e-commerceplatform naar Google Cloud. Ze moeten: 1) MySQL met een lift-and-shift verplaatsen om risico’s te verminderen, 2) 500 MB aan uploads van productmedia verwerken zonder de app te overbelasten, 3) de leesdoorvoer voor productcatalogi schalen, en 4) rate limits per gebruiker afdwingen tijdens verkooppieken.

Aanpak:

  1. Migreer MySQL naar Cloud SQL met een privé-IP en regionale HA

    • Reden: Een privé-IP elimineert publieke blootstelling en IP-allowlists, wat veilige connectiviteit vanaf GKE en Compute Engine vereenvoudigt. Regionale HA beschermt tegen zonale storingen; verwacht korte onderbrekingen van de verbinding bij een failover, dus de app zal herhaalbare transacties en logica om opnieuw te verbinden implementeren.
  2. Schakel geautomatiseerde back-ups en PITR in, en valideer het herstel

    • Reden: Geautomatiseerde back-ups en transactielogs maken point-in-time recovery mogelijk na gebruikers- of applicatiefouten. Een wekelijks gepland herstel naar een niet-productie-instance verifieert dat de back-ups bruikbaar zijn en meet de RTO.
  3. Voeg een read replica toe voor het lezen van de catalogus

    • Reden: Het verplaatsen van catalogusquery’s naar een read replica vermindert de contentie op de primary. De app leest van de primary wanneer write-after-read nodig is (winkelwagen/afrekenen), en van de replica voor het bladeren door de catalogus, waarbij rekening wordt gehouden met de afwegingen rondom replica lag.
  4. Introduceer connection pooling aan de applicatiekant en beperk de concurrency

    • Reden: PgBouncer/HikariCP beperkt en hergebruikt verbindingen, wat verbindingsstormen tijdens autoscaling en HA-failovers voorkomt. Pools worden gedimensioneerd op basis van CPU-cores, niet op het maximale aantal pods, om overbelasting te voorkomen.
  5. Offload media-uploads naar Cloud Storage met signed URL’s en resumable uploads

    • Reden: De app geeft kortstondige signed URL’s uit waarmee clients rechtstreeks kunnen uploaden. Resumable uploads zijn geschikt voor onbetrouwbare netwerken; de mediaservice luistert naar Pub/Sub finalize-notificaties om de verwerking te activeren. Precondition-headers (ifGenerationMatch) beschermen tegen overwrite races.
  6. Implementeer Memorystore for Redis voor paginacaching, sessies en rate limiting

    • Reden: Read-through caches verminderen de databasebelasting voor productpagina’s, met TTL’s die zijn afgestemd op de updatefrequentie. Sessiegegevens worden efemeer bewaard in Redis met korte TTL’s; de applicatiestatus blijft in Cloud SQL. Een fixed-window tokenstrategie gebruikt INCR/EXPIRE voor request-limieten per gebruiker. De cache wordt behandeld als niet-gezaghebbend; de app tolereert cacheverlies en vult deze opnieuw aan bij misses.
  7. Bereid een gefaseerd pad voor naar Cloud Bigtable voor catalogusfuncties met hoge doorvoer

    • Reden: Naarmate het verkeer groeit, worden gedenormaliseerde, voor lezen geoptimaliseerde catalogusweergaven verplaatst naar Bigtable. Rijsleutels worden ontworpen als bucket#category#reverse_ts om schrijfacties te distribueren en op tijd geordende lijsten te ondersteunen zonder hotspotting.
  8. Stel procedures voor schemamigratie en rollback vast

    • Reden: Migraties zijn additief: voeg kolommen/indexen toe, voer een backfill uit met idempotente jobs, deploy code die beide versies leest/schrijft, en verwijder later de oude velden. Feature flags bewaken nieuwe paden; een rollback schakelt schrijfacties naar nieuwe velden uit zonder destructieve DDL.
  9. Stel beleid voor datalevenscyclus en -bescherming in

    • Reden: Cloud Storage-buckets gebruiken lifecycle-regels om thumbnails over te zetten naar koudere opslag en verouderde tijdelijke uploads te verwijderen. Cloud SQL-back-ups en Spanner/Bigtable-back-ups (naarmate deze worden ingevoerd) worden regelmatig hersteld voor verificatie. Auditlogs leggen verwijderingsworkflows vast; Bigtable GC wordt in compliancedocumenten erkend als asynchroon.
  10. Implementeer client- en server-retries met truncated exponential backoff

    • Reden: Cloud Storage kan tijdens pieken 429/5xx retourneren; backoff vlakt de belasting af en vermindert het aantal fouten. Database- en cache-operaties gebruiken idempotency keys om veilige retries te garanderen, met name tijdens een failover en bij netwerkproblemen.

Dit plan levert onmiddellijke risicovermindering via Cloud SQL met privéconnectiviteit en HA, houdt de app responsief en kostenefficiënt met caching en uploads via signed URL’s, en bouwt een duidelijk pad om de leesdoorvoer en dataresilience te schalen naarmate het verkeer groeit.


API-ontwerp · Alle domeinen · Identiteit

Oefen deze vragen → · Getimede oefening op ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Slaag voor je examen →

Blader door Google →

Related guides

Alles-in-één toegang

Eén abonnement. Elk examen.

Elk plan ontgrendelt onbeperkt zoeken naar antwoorden, oefentests, AI-uitleg en de volledige bronnenbibliotheek — in meer dan 20 talen.

Maandelijks
24.87
Just €0.83/day
Alles inbegrepen:
  • Onbeperkt zoeken naar antwoorden
  • Onbeperkte oefentests
  • AI-gestuurde uitleg
  • Volledige bronnenbibliotheek
  • 20+ talen
  • Wekelijkse contentupdates
  • Beloningen & verwijzingen
  • Prioriteitsondersteuning
Start gratis proefperiode

Geen creditcard vereist*

Beste waarde
12 maanden
179.87
Just €0.49/daySave 40%
Alles inbegrepen:
  • Onbeperkt zoeken naar antwoorden
  • Onbeperkte oefentests
  • AI-gestuurde uitleg
  • Volledige bronnenbibliotheek
  • 20+ talen
  • Wekelijkse contentupdates
  • Beloningen & verwijzingen
  • Prioriteitsondersteuning
Start gratis proefperiode

Geen creditcard vereist*

✓ Gratis plan inbegrepen · ✓ Annuleer op elk moment · ✓ Alle plannen ontgrendelen het volledige product