Django ( http://djangoproject.com ) フレームワークは現在、次のデータベースをサポートしています: PostgreSQL、SQLite 3、MySQL 5、および Oracle。この質問はこれらのデータベースの比較に関するものではありません。逆に、Django との互換性と、単純な (しかし成長している) プロジェクトに適切なデータベースを選択する方法について詳しく知りたいです。
3 に答える
場合によります。Oracleに(莫大な)プレミアムを払いたくない場合は、MySQLとPostgreSQLのどちらかを選択します(SQLiteは主に開発用であり、本番用ではありません)。PostgreSQLはほとんどのDjangoコア開発者の選択のようです(Andrew Godwinは、「友人がMySQLを使用することを友人に許可しない」ことをDjangoConトークに入れました)。それにもかかわらず、MySQLはDjangoによって完全にサポートされており、本番環境の多くのDjangoWebサイトで使用されています。
IMHO、PostgreSQLにはMySQLに比べて2つの明らかな利点があります。
簡単な答えは、それは実際には問題ではないということですが、私が1つを選択する必要がある場合、それはおそらくPostgreSQLでしょう。
元々のDjango開発者は、初期にはPostgreSQLを強く推奨していました。PostgreSQLは間違いなく/技術的にはMySQLよりも「優れた」データベースであるため、これまで使用したことがない場合は、時間をかけて学習する価値があるかもしれません。
今日では、すべてのDBドライバーが同等に機能すると想定しても安全だと思います。したがって、MySQLまたはOracleに精通している場合は、代わりにそれらを使用しても問題はありません。MySQLでDjangoを使用しただけで、問題はありません。
プラグ可能なデータベースはすべてサポートされています。つまり、モデル/db-layer が db 固有のものを抽象化します。パフォーマンスに関しては、MySQL 5 または Postgresql をお勧めします。オラクルは間違いなくうまく機能しますが、長期的にはより高価になる可能性があります. プロジェクトを開始したばかりの場合、sqlite3 はあなたの友達です。数秒でセットアップされるからです。
開発と本番の並行設定の処理については、さまざまなブログ記事で説明されています。たとえば、次の記事です。