2011-01-23 102 views
1

的Django(http://djangoproject.com)框架目前支持以下數據庫:在PostgreSQL,SQLite的3,5的MySQL和Oracle。這個問題不是關於這些數據庫的比較,相反我想知道它們與Django兼容性的細節,以及如何爲簡單(但正在增長)的項目選擇適當的數據庫。數據庫選擇的選擇

回答

4

這要看情況。如果您不想爲Oracle支付(鉅額)溢價,您可以選擇MySQL和PostgreSQL(SQLite主要用於開發,而不是生產)。 PostgreSQL似乎是大多數Django核心開發者的選擇(安德魯戈德溫儘可能將「朋友不讓朋友使用MySQL」放入DjangoCon talk)。儘管如此,Django完全支持MySQL,生產中使用了many Django websites。如果您使用GeoDjango

  • 恕我直言,PostgreSQL有超過MySQL的兩個明顯的優勢。 PostGIS真的沒有其他選擇。 MySQL的GIS支持最多也是平淡無奇。

  • South。 MySQL在模式遷移過程中無法使用事務處理,這意味着如果南遷遷移出錯,您將處於兩次遷移之間,無法向前或向後移動。 PostgreSQL在這種情況下可以節省很多痛苦。
+0

要獲得最完整的答案!謝謝! ;) – Rizo 2011-01-23 16:13:17

2

所有可插拔數據庫的支持,這意味着,該模型/ DB-層將抽象的DB-細節爲您服務。至於性能,我會建議MySQL 5或Postgresql。甲骨文肯定會表現良好,但從長遠來看可能會更加昂貴。如果你剛剛開始你的項目,sqlite3是你的朋友,只是因爲它會在幾秒鐘內設置。

處理進行開發和生產平行設置已經在各種博客文章,例如討論在這一個:

2

快速回答是它並不重要,但如果我不得不選擇一個,它可能是PostgreSQL。

原來Django開發巨資推薦的PostgreSQL在初期。 PostgreSQL可以說是技術上比MySQL更好的數據庫,所以如果你之前從未使用過PostgreSQL,那麼可能需要投入一些時間來傾斜它。雖然

現在,一個天,我會說這是安全的假設,所有的DB驅動程序同樣出色的工作。所以,如果你更熟悉MySQL或Oracle,那麼使用它們應該沒有問題。我只用Django和MySQL,並沒有任何問題。