Các phương pháp hay nhất để tải dữ liệu hàng loạt

tải hàng loạt dữ liệu lên Cloud Firestore bằng các công cụ như mongoimportmongorestore.

Cloud Firestore là một hệ thống có tính phân tán cao, cung cấp khả năng mở rộng tự động để đáp ứng nhu cầu của doanh nghiệp bạn. Cloud Firestore sẽ phân tách và kết hợp dữ liệu của bạn một cách linh động dựa trên tải mà hệ thống nhận được.

Tính năng phân tách dựa trên tải sẽ diễn ra tự động mà không cần cấu hình trước. Hệ thống phân chia dựa trên tải Cloud Firestore có một số đặc điểm quan trọng và riêng biệt so với các cơ sở dữ liệu tài liệu khác mà bạn cần lưu ý khi mô hình hoá dữ liệu.

Bản chất phân tán của Cloud Firestore có thể yêu cầu thay đổi một số lựa chọn thiết kế, đặc biệt là đối với những tải được tối ưu hoá cho các cơ sở dữ liệu mà bản sao chính là điểm tắc nghẽn cho công suất ghi.

Các phương pháp hay nhất

Các tải xử lý lượng lớn dữ liệu trong một ứng dụng khách đơn luồng có thể tạo ra một điểm tắc nghẽn. Các ứng dụng có thể sử dụng một luồng để tải hàng loạt dữ liệu, vì thông lượng của ứng dụng và máy chủ được so khớp tương tự. Cơ sở dữ liệu Cloud Firestore có thể xử lý tính song song nhiều hơn đáng kể, nhưng điều này yêu cầu bạn định cấu hình máy khách để gửi các yêu cầu song song.

mongoimport

Khi sử dụng công cụ mongoimport, các yêu cầu sẽ được thực hiện tuần tự theo mặc định. Để cải thiện thời gian tải vào Cloud Firestore, hãy đặt số lượng worker bằng cờ --numInsertionWorkers. Bạn có thể phải điều chỉnh chế độ cài đặt chính xác dựa trên quy mô của ứng dụng.

mongorestore

Khi sử dụng công cụ mongorestore, hãy xoá tham số retryWrites=false khỏi chuỗi kết nối để cải thiện khả năng phục hồi khi xảy ra lỗi tạm thời.

Để cải thiện thời gian tải vào Cloud Firestore, bạn cũng có thể tăng số lượng worker chèn cho mỗi bộ sưu tập bằng cờ --numInsertionWorkersPerCollection và số lượng bộ sưu tập song song bằng cờ --numParallelCollections. Bạn có thể phải điều chỉnh chế độ cài đặt chính xác dựa trên quy mô của ứng dụng.

lập trình không đồng bộ

Khi phát triển phần mềm của riêng mình bằng các thao tác tương thích với MongoDB, bạn có thể cải thiện tính song song theo những cách sau:

  • Khung không đồng bộ: khi sử dụng khung không đồng bộ, bạn có thể xử lý và phản hồi các yêu cầu song song. Bạn không cần phát triển bất kỳ nhóm hoặc hàng đợi phức tạp nào khi gọi đến cơ sở dữ liệu. Mỗi luồng yêu cầu có thể sử dụng các kết nối độc lập và thực hiện các lệnh gọi cơ sở dữ liệu song song.
  • Sử dụng các dịch vụ điện toán song song: bằng cách sử dụng các dịch vụ như Cloud Run, hệ thống của bạn có thể mở rộng số lượng nhân viên điện toán cần thiết để xử lý dữ liệu.

Lỗi tạm thời

Khi làm việc với một hệ thống phân tán lớn như Cloud Firestore, bạn có thể gặp phải các lỗi tạm thời, chẳng hạn như sự cố mạng hoặc tranh chấp trên một tài liệu.

Khi tải hàng loạt một lượng lớn thông tin, bạn cần duy trì chiến lược thử lại cho các thao tác ghi không thành công mà không làm hỏng thao tác tải hàng loạt lớn hơn.