Wstawiasz strumieniowo 10 tys. wiadomości z mediów społecznościowych na minutę do BigQuery i natychmiast uruchamiasz agregacje, ale zapytania pomijają wiersze w trakcie przetwarzania z powodu ostatecznej spójności. Jak należy dostosować projekt aplikacji?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Oszacuj średnie opóźnienie dostępności danych po wstawieniach strumieniowych i zawsze uruchamiaj zapytania po odczekaniu dwukrotnie dłuższego czasu..
Dlaczego to jest odpowiedź
Problem wynika ze spójności ostatecznej (eventual consistency) w BigQuery dla danych strumieniowych. Oznacza to, że nowo wstawione wiersze mogą nie być natychmiast widoczne dla zapytań. Czekanie na ustabilizowanie się danych po wstawieniu strumieniowym jest kluczowe. Oszacowanie średniego opóźnienia i odczekanie dwukrotnie dłuższego czasu zapewnia, że większość, jeśli nie wszystkie, wstawione wiersze będą dostępne dla zapytań, minimalizując pomijanie danych. Przepisywanie aplikacji na ładowanie zgromadzonych danych co 2 minuty (ładowanie wsadowe) jest inną strategią, ale nie rozwiązuje problemu natychmiastowej agregacji. Przekształcenie wstawiania strumieniowego na ładowanie wsadowe dla pojedynczych wiadomości jest sprzeczne z ideą strumieniowania i nieefektywne. Ładowanie do Cloud SQL i eksportowanie co godzinę wprowadza zbyt duże opóźnienie i jest niepotrzebnie skomplikowane dla tego scenariusza.
Zdaj egzamin — bez niekończącego się szukania odpowiedzi
Uzyskaj wszystkie zweryfikowane pytania i wyjaśnienia do tego egzaminu w jednym miejscu i zaoszczędź godziny przygotowań. Ponad 1000 certyfikacji · Ponad 20 języków · Zacznij za darmo.
Zdaj egzamin szybciej → Karta nie jest wymagana