0

質問はこれです:

業種ごとに1つのデータベースを用意する必要がありますか、それともすべてに1つのデータベースを用意する必要がありますか?サイトにはいくつかの販売広告が含まれます。

A)垂直方向の例ごとに1デシベル意味、これらのページを表示する場合: http ://www.site.com/cars http://www.site.com/boats

/ carsは文字通りデータベースに接続し、「db_cars」と言うことができます。そのデータベースには車のデータのみが含まれ、他には何も含まれていません。/ boatsは文字通りデータベースに接続し、「db_boats」と言うことができます。そのデータベースにはボートデータのみが含まれ、他には何も含まれていません。

両方のデータベースの構造は同じで、テーブル名は「item」「seller」などです。

また

B)すべての例で1デシベル/carsは"db_everything"に接続し、itemsテーブルにリンクされたテーブルに基づいて車をフィルタリングします。したがって、WHERE item_type = "cars" /boatsは"db_everything"に接続し、にリンクされたテーブルに基づいて車をフィルタリングします。アイテムテーブルなので、WHERE item_type = "boats"

では、AとBのどちらを選びますか?どちらかに賛否両論はありますか?MySQL、Oracle、Postgresのどれであるかは重要ですか?

4

4 に答える 4

1

ちょうど私の2セント:

1 つのアプリ内の個別の種類のデータではなく、個別のアプリに個別のデータベースを使用します。

同じアプリでボートと車を表示しますか? 同じぺージに?車とボートの両方を返す必要がある SQL クエリを実行したことがありますか?

それとも、基本的にボートと車を完全に別の Web サイトとして扱っていますか? それらが完全に分離されていて、個別にサポートでき、アプリを個別に変更できる場合は、個別のデータベースを使用するのが理にかなっています。

于 2012-07-23T21:31:34.153 に答える
0

データベースが同じユーザーの同じサーバー上にある限り、結合などを行うことができます。ただし、サイトの 1 つのセクションに 30 を超えるテーブルが必要な場合にのみ、これをお勧めします。データベースで直接作業する必要がある場合でも、管理が容易になります。

しかし、あなたのサイトがそのようなレベルの複雑さを必要としない場合、私はそれに対してアドバイスします。

于 2012-07-23T21:38:51.357 に答える
0

MySQL、Oracle、または Postgres のどれであるかは重要ですか?

絶対。

Oracle の「データベース」という用語は、他のほとんどのデータベースとはまったく異なるものを意味します。MySQL や Postgres (または SQL Server) で「データベース」を考えている場合、通常、Oracle では「スキーマ」(=ユーザー) を考えるでしょう。

PostgreSQL では、クロスデータベース クエリを実行できません。したがって、分離については、スキーマの方がおそらく優れています (より柔軟であるため)。

実際の設計上の決定について: おそらくすべてを 1 つのデータベース/スキーマにまとめたいと思われますが、実際にそれに答えるのに十分な情報がありません。

wegjprgm の答えは、かなりうまくいっていると思います。

于 2012-07-23T21:44:35.053 に答える
0

頭に浮かぶ考慮事項は、サイト コードの再利用性です。数百のカテゴリにわたって個別の db ユーザー名:パスワードの組み合わせを制御するのは面倒に思えます。

パフォーマンスに関しては、別々のデータベースが別々のマシンにない限り、分離は無関係になると思います。

また、用途によって...

長期的には、それらを 1 つのデータベースに保持することで、トレンド データやクロスリンク カテゴリを生成する柔軟性と機会が増える可能性があります。

ただし、特定の業界の他の企業に販売するエンジンを作成している場合は、垂直ごとに 1 db が理にかなっています。

私自身の傾向は、特定の必要性から別の指示がない限り、ケース B です。

于 2012-07-23T21:36:12.890 に答える