web-dev-qa-db-ja.com

実行する理由Drupal

利用可能な機能とパフォーマンスの観点から、Drupal PostgreSQLで実行する最も強力な理由は何ですか?Drupalでサポートされている)---のどのpostgres機能が利用できません mysql?たとえば、postgresはACID準拠とトランザクションで知られていますが、Drupalコアはこれらまたは他の機能を何らかの方法で利用しますか?

この質問は、一般にどちらがより良いDBであるかではなく、mysqlよりもpostgresを選択する特定の理由があるかどうかです。明らかなトレードオフの1つは、多くのcontribモジュールがpostgresで実行するとバグが多いことです。

私はD6を使用していますが、どのメジャーバージョンにも自由に回答してください。

6
ted.strauss

個人的には、MySQLではなくPostgreSQLを選択する唯一の理由は、あなた(またはあなたのクライアント)がすでにPostgreSQLショップで、PostgreSQLをよく理解し、ベビーシッターの内外を知っているDBAがいる場合だと思います。 MySQLのみの関数を含むcontribモジュールを使用していない場合は、PostgreSQLよりもMySQLを選択する場合にも同じことが当てはまります。

7
mpdonadio

一部のクライアントは、PostgreSQLを社内でサポートできる唯一のデータベースであるため、PostgreSQLの使用を強く求めています。

Postgresを使用していくつかの複雑なDrupalプロジェクトを実装した後、Postgresは一般的に高速であり、サイトがかなり複雑なビューを多数必要とする場合はそれを検討します。MySQLには結合アルゴリズムが1つしかない(ネストされたループ) )Postgresはいくつかの機能を提供しているため、ビューに多くのJOINがある場合、Postgresの方が有利かもしれません。これらのビューにも多くの公開されたフィルタがある場合、これはより当てはまります。ただし、ビュー(2.xと3.xの両方)は、 DISTINCTを使用する一部のビューは、まったく機能しない場合があります。

1日の終わりに、クライアントがPostgresの使用を主張し、パフォーマンスが優先される場合は、試してみてください。ただし、一部の一般的なモジュールまたは一部の機能が適切に機能しない可能性があるので、十分に注意してください。または、リスクに対する欲求がない場合は、MySQLを使用してください。

2
Invisigoth

個人的には、PostGIS拡張機能が必要なため、PostgresでDrupalを使用していますが、これは多くのアプリケーションに必要なものではないと考えています。

1
Giustiniano