2011-01-23 3 views
1

Django(http://djangoproject.com)フレームワークは現在、PostgreSQL、SQLite 3、MySQL 5およびOracleのデータベースをサポートしています。この質問は、これらのデータベースの比較に関するものではありません。反対に、私はDjangoとの互換性と、単純な(しかし成長している)プロジェクトのための適切なデータベースの選び方を知りたいと思います。Djangoプロジェクトのデータベース選択

答えて

4

それは依存します。 Oracleに(巨大な)プレミアムを支払うつもりがない場合は、MySQLとPostgreSQLの間で選択します(SQLiteはほとんどが開発用であり、生産用ではありません)。 PostgreSQLはほとんどのDjangoコア開発者の選択肢と思われます(Andrew Godwinは、友人がDjangoCon talkにMySQLを使用させないようにしました)。それにもかかわらず、MySQLはDjangoによって完全にサポートされており、運用ではmany Django websitesによって使用されています。あなたがGeoDjangoを使用している場合

  • 私見では、PostgreSQLはMySQLの上の2つの明確な利点があります。実際にPostGISの代替手段はありません。 MySQLのGISサポートは良くないです。

  • South。 MySQLはスキーマの移行中にトランザクションを使用することができません。つまり、サウスマイグレーションがうまくいかない場合は、2つのマイグレーションの間に、前進または後退の明確な道筋がないままぶら下がります。 PostgreSQLはこのような状況で多くの苦痛を軽減します。
+0

最も完全な回答です!ありがとうございました! ;) – Rizo

2

すべてのプラグイン可能なデータベースがサポートされています。つまり、model/db-layerはdbの詳細を抽象化します。パフォーマンスに関しては、MySQL 5またはPostgreSQLをお勧めします。オラクルは確実に優れたパフォーマンスを発揮しますが、長期的にはより高価になる可能性があります。あなたがプロジェクトを始めたばかりの場合、sqlite3はあなたの友人です。単に数秒でセットアップされるからです。

開発と生産のための並列設定の取り扱いについては、さまざまなブログ記事、 1本で:

2

素早く答えても大した問題ではありませんが、もし私が選んだのであれば、おそらくPostgreSQLでしょう。

オリジナルのDjango開発者は、初期の段階でPostgreSQLを大いに推奨しました。 PostgreSQLは間違いなく/技術的には「より良い」データベースであるため、MySQLを使用したことがない場合は、時間をかけてそれを稼ぐ価値があります。

私は、すべてのDBドライバが同じようにうまく動作すると仮定することは安全だとは思いますが、ですから、もしあなたがMySQLやOracleに慣れていれば、それらを使う代わりに問題はありません。私はDjangoをMySQLで使用しただけで、何の問題もありませんでした。

関連する問題