Projektujesz aplikację czatu z wieloma pokojami i trwałą historią wiadomości, używając Firestore. Jak należy modelować pokoje i wiadomości?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Utwórz kolekcję rooms; każdy dokument pokoju zawiera podkolekcję, której dokumenty przechowują pojedynczą wiadomość..
Dlaczego to jest odpowiedź
Poprawna odpowiedź to „Utwórz kolekcję rooms; każdy dokument pokoju zawiera podkolekcję, której dokumenty przechowują pojedynczą wiadomość”. Takie modelowanie danych jest najbardziej efektywne dla Firestore. Tworzenie podkolekcji dla wiadomości w ramach każdego pokoju (dokumentu) pozwala na łatwe skalowanie, ponieważ liczba wiadomości w pokoju może być bardzo duża, a Firestore jest zoptymalizowany do obsługi dużych podkolekcji. Zapytania o wiadomości w konkretnym pokoju są szybkie i proste. Pozostałe opcje są mniej optymalne: Przechowywanie całej zawartości wiadomości w jednym dokumencie pokoju jest nieefektywne i szybko przekroczy limit rozmiaru dokumentu (1 MB), a także utrudni zapytania o pojedyncze wiadomości. Tworzenie podkolekcji zawierającej jeden dokument na wiadomość jest nieprecyzyjnym opisem, ale intencja jest podobna do poprawnej odpowiedzi. Kluczowe jest, że każdy dokument w podkolekcji reprezentuje jedną wiadomość. Tworzenie oddzielnej kolekcji wiadomości najwyższego poziomu z odniesieniami w dokumentach pokoju wymagałoby dodatkowych zapytań (joins), co jest mniej wydajne w Firestore i może prowadzić do problemów z wydajnością przy dużej liczbie wiadomości.
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