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.