MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tối ưu hóa tác vụ luồng không khí chuyển dữ liệu từ BigQuery sang MongoDB

Câu trả lời ngắn gọn là các hoạt động không đồng bộ đang làm xáo trộn hồ sơ của bạn.

Tài liệu về bq.query cho biết kết quả google.cloud.bigquery.job.QueryJob đối tượng là một không đồng bộ công việc truy vấn. Điều này có nghĩa là, sau khi truy vấn được gửi, trình thông dịch python không chặn cho đến khi bạn cố gắng sử dụng kết quả của truy vấn với một trong các QueryJob đồng bộ phương thức, to_dataframe() . Một phần đáng kể trong 87 giây mà bạn đang thấy có thể chỉ dành để chờ truy vấn trả lại.

Bạn có thể đợi truy vấn hoàn tất bằng cách gọi QueryJob.done lặp đi lặp lại cho đến khi nó trả về true, sau đó gọi câu lệnh in cấu hình thứ hai của bạn.

Đây không hoàn toàn là một sự tối ưu hóa mã của bạn, nhưng hy vọng sẽ giúp đi đúng hướng. Có thể một số điều chỉnh vòng quay của gấu trúc có thể hữu ích, nhưng tôi nghĩ rằng có thể phần lớn thời gian của bạn đang được dành để chờ đọc / ghi từ cơ sở dữ liệu của bạn và việc viết hiệu quả hơn hoặc một số lượng lớn hơn các truy vấn nhỏ hơn sẽ là của bạn tùy chọn duy nhất để cắt giảm tổng thời gian.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Node mongoose tìm truy vấn trong vòng lặp không hoạt động

  2. Dự án lọc thuộc tính trong mảng lồng nhau thứ hai

  3. Truy vấn Spring Data MongoDB AND / OR với nhiều tham số tùy chọn

  4. Mongoose đang lưu tài liệu ngay cả khi tôi kiểm tra xem tài liệu đã tồn tại chưa

  5. MongoDB:Làm thế nào để giải quyết DBRef ở phía máy khách?