Sprawdzone metody zbiorczego wczytywania danych

Dotyczy tylko wersji Cloud Firestore Enterprise.

Na tej stronie opisujemy sprawdzone metody zbiorczego wczytywania danych do Cloud Firestore w trybie zgodności z MongoDB za pomocą narzędzi takich jak mongoimport.

Cloud Firestore to wysoce rozproszony system, który oferuje automatyczne skalowanie, aby zaspokajać potrzeby Twojej firmy. Cloud Firestore dynamicznie dzieli i łączy dane w zależności od obciążenia systemu.

Podział na podstawie obciążenia odbywa się automatycznie bez konieczności wstępnej konfiguracji. System podziału oparty na obciążeniu Cloud Firestore ma pewne ważne, unikalne cechy w porównaniu z innymi bazami danych dokumentów, o których warto pamiętać podczas modelowania danych.

Cloud Firestorerozproszony charakter może wymagać zmiany niektórych decyzji projektowych, zwłaszcza w przypadku obciążeń zoptymalizowanych pod kątem baz danych, w których replika podstawowa jest wąskim gardłem przepustowości zapisu.

Sprawdzone metody

Obciążenia, które przetwarzają duże ilości danych w jednowątkowym kliencie, mogą powodować wąskie gardło. Klienci mogą używać pojedynczego wątku do zbiorczego wczytywania danych, ponieważ przepustowość klienta i serwera jest podobna. Cloud Firestore Baza danych może obsługiwać znacznie większą liczbę równoległych operacji, ale wymaga to skonfigurowania klientów tak, aby wysyłali żądania równolegle.

mongoimport

Gdy używasz narzędzia mongoimport, żądania są domyślnie wysyłane sekwencyjnie. Aby skrócić czas wczytywania do Cloud Firestore, ustaw liczbę instancji roboczych za pomocą flagi --numInsertionWorkers. Prawidłowe ustawienie może wymagać dostosowania do wielkości klienta, ale zwykle zalecamy rozpoczęcie od co najmniej 32.

programowanie asynchroniczne,

Podczas tworzenia własnego oprogramowania przy użyciu interfejsów API zgodnych z MongoDB możesz zwiększyć poziom równoległości w ten sposób:

  • Platformy asynchroniczne: korzystanie z platform asynchronicznych umożliwia równoległe przetwarzanie żądań i odpowiadanie na nie. Podczas wywoływania bazy danych nie musisz tworzyć żadnych złożonych pul ani kolejek. Każdy przepływ żądań może korzystać z niezależnych połączeń i równolegle wykonywać wywołania bazy danych.
  • Korzystaj z oferty obliczeń równoległych: korzystając z usług takich jak Cloud Run, Twój system może skalować liczbę pracowników obliczeniowych potrzebnych do przetwarzania danych.

Przejściowe błędy

Podczas pracy z dużym systemem rozproszonym, takim jak Cloud Firestore, mogą wystąpić przejściowe błędy, np. problemy z siecią lub konflikty dotyczące dokumentu.

Podczas przesyłania zbiorczego dużych ilości informacji ważne jest, aby zachować strategię ponawiania prób w przypadku nieudanych zapisów bez przerywania większej operacji przesyłania zbiorczego.