7

私はまだ django の経験がありませんが、すぐにプロジェクトを作成し、バックエンド (Mongodb または PostgreSQL) にどのデータベースを使用するかを考えていました。

私はそれぞれの違いを言っている投稿をたくさん読んだことがありますが、どちらを選ぶべきかを決めることはまだできません. 考慮に入れると、私はこれまで Mongodb を使用したことがありませんでした。

さぁ、何しに行こうかな??

事前にどうもありがとう

4

1 に答える 1

13

MongoDBは非リレーショナルであるため、結合などを行うことはできません。このため、django.contribアプリやその他のサードパーティアプリの多くは、mongodbで動作しない可能性があります。

ただし、postgresqlに直接入らないスキーマレスの複雑なオブジェクトを格納する必要がある場合はmongodbが非常に役立つ可能性があります(もちろん、jsonシリアル化してテキストフィールドに入力できますが、代わりにmongodbを使用する方がはるかに優れており、検索を実行できます、..)。

したがって、最善の提案は2つのデータベースを使用することです。

  • djangoコア、認証などの標準アプリケーション用のPostgreSQL ...
  • 非リレーショナルで複雑なオブジェクトを保存する必要がある場合の、アプリケーション専用のMongoDB

raw_*また、django ormによる多くの(ほとんど不要な)検証をスキップするメソッドを使用することもできます。

データベース、特にsqlとno-sqlは相互のドロップイン置換ではなく、独自の機能、長所と短所があるため、それぞれの場合にニーズに最も適したものを見つける必要があることを覚えておいてください。 1つを選んで、それをすべてに使用するだけではありません。

アップデート

私は言うのを忘れました:djangoが非リレーショナルデータベースをサポートするようにするには、 django-nonrelフォークを使用する必要があることを忘れないでください。現在はdjango1.3のフォークですが、1.4ベースのバージョンは進行中です。

于 2012-08-11T10:32:08.827 に答える