Yalnızca Cloud Firestore Enterprise sürümü için geçerlidir. |
Bu sayfada, mongoimport
gibi araçlarla MongoDB uyumluluğu olan Cloud Firestore'a toplu veri yüklerken yararlanabileceğiniz en iyi uygulamalar açıklanmaktadır.
Cloud Firestore, işletmenizin ihtiyaçlarını karşılamak için otomatik ölçeklendirme sunan, yüksek oranda dağıtılmış bir sistemdir. Cloud Firestore, sistemin aldığı yüke göre verilerinizi dinamik olarak böler ve birleştirir.
Yük tabanlı bölme, önceden yapılandırma gerektirmeden otomatik olarak gerçekleşir. Cloud Firestore Yük tabanlı bölme sisteminin, verilerinizi modellendirirken aklınızda bulundurmanız gereken diğer belge veritabanlarına kıyasla bazı önemli ve benzersiz özellikleri vardır.
Cloud Firestore'nın dağıtılmış yapısı, özellikle birincil replikanın yazma işleme hızı için darboğaz olduğu veritabanları için optimize edilmiş iş yüklerinde bazı tasarım tercihlerinin değiştirilmesini gerektirebilir.
En İyi Uygulamalar
Tek iş parçacıklı istemcide büyük miktarda veri işleyen iş yükleri darboğaz oluşturabilir. İstemci ve sunucu işleme hızı benzer şekilde eşleştiğinden istemciler, verileri toplu olarak yüklemek için tek iş parçacığı kullanabilir. Bir Cloud Firestore veritabanı çok daha fazla paralelliği işleyebilir ancak bunun için istemcileri istekleri paralel olarak gönderecek şekilde yapılandırmanız gerekir.
mongoimport
mongoimport
aracı kullanılırken istekler varsayılan olarak sırayla yapılır.
Cloud Firestore yükleme süresini iyileştirmek için --numInsertionWorkers
işaretiyle çalışan sayısını ayarlayın.
Doğru ayar, müşterinizin boyutuna göre ince ayar yapmayı gerektirebilir ancak genellikle en az 32
ile başlamanızı öneririz.
eş zamansız programlama
MongoDB ile uyumlu API'leri kullanarak kendi yazılımınızı geliştirirken paralelliği aşağıdaki şekillerde iyileştirebilirsiniz:
- Eşzamansız çerçeveler: Eşzamansız çerçeveler kullanarak istekleri paralel olarak işleyip yanıtlayabilirsiniz. Veritabanınıza çağrı yaparken karmaşık bir havuz oluşturma veya kuyruğa alma işlemi geliştirmeniz gerekmez. Her istek akışı bağımsız bağlantılar kullanabilir ve veritabanı çağrılarını paralel olarak yapabilir.
- Paralelleştirilmiş bilgi işlem tekliflerinden yararlanın: Cloud Run gibi hizmetleri kullanarak sisteminiz, verileri işlemek için gereken bilgi işlem çalışanlarının sayısını ölçeklendirebilir.
Geçici Hatalar
Cloud Firestore gibi büyük bir dağıtılmış sistemle çalışırken ağdaki kısa süreli kesintiler veya bir dokümanda yaşanan anlaşmazlıklar gibi geçici hatalarla karşılaşabilirsiniz.
Büyük miktarda bilgi toplu olarak yüklenirken, daha büyük toplu yükleme işleminin başarısız olmasına neden olmadan başarısız yazma işlemleri için yeniden deneme stratejisi sürdürmek önemlidir.