2017-07-30 62 views
0

添加到一個數據庫中定期我有一個項目是:收集關係數據和使用Python

  • 從Active Directory
  • 獲取數據基於活動目錄數據
  • 聚集數據
  • 從不同的服務獲取數據
  • 約50000行已被添加到數據庫中,每15分鐘

我使用PostgreSQL作爲數據庫和Django作爲ORM工具。但我不確定django是否適合這些項目。我必須刪除並添加50000行數據,我擔心性能。 有沒有另一種方法來做這樣的過程?

回答

0

可以肯定還有其他的方法,如果這就是你在問什麼。但是Django的ORM整體上非常靈活,如果你仔細寫下你的查詢,那麼不會有大的開銷。 15分鐘內50000行不夠大。我使用Django ORM和PostgreSQL每天處理數百萬條記錄。

+0

請問您可以另闢蹊徑?謝謝 – jojo

+0

您可以使用SQLAlchemy,或使用其他ORM,或直接使用psycopg2,這允許您執行低級[COPY功能](http://initd.org/psycopg/docs/usage.html#using-copy -to-和複製的)。 –

0

您可以爲此編寫一個自定義Django的管理命令,然後調用它像

python manage.py collectdata 

Here is the documentation link

+0

Django是這種項目的正確工具嗎?我必須刪除並添加50000行數據,我擔心性能。 – jojo

+0

@jojo,Django只是一個框架。刪除和添加行發生在數據庫級別。 Postgresql絕對有能力做到這一點。 –

1

50k行/ 15m無需擔心。

但是我會確保使用bulk_create來避免50K往返數據庫,這可能是一個問題,這取決於您的數據庫網絡設置。