1

私は php/mysql が初めてで、単純な CMS をコーディングしています。ただし、この場合、システムを使用するために料金を支払う複数の会社 (各会社に複数のユーザーがいる) をホストします。

それで...私の質問は、データベースを整理する方法についてです...セキュリティ、管理、およびパフォーマンスについて話すと、これらのケースのどれが最高であるかについて、皆さんの意見を知りたいだけです:

  1. すべての会社を単一の DB でホストすると、ユーザーと一致する会社 ID が取得されます。

  2. 各企業には、そこにユーザーを保持する個別の DB があります (そして、企業 ID はもう必要ありません)。

最初の状況に続いて開発を開始します...しかし、ハッカーの攻撃/ sqlインジェクションが発生した場合、すべてのクライアントが害を受けると思っていました。DBを分離しているため、被害は1つのクライアントのみになります。したがって、セキュリティの観点からは、2 番目の状況の方が優れている可能性があります。しかし、管理とパフォーマンスについては同じことが言えませんでした。

したがって、あなたの経験に基づいて、どんな助けやヒントも素晴らしいでしょう!

事前に感謝し、私の下手な英語について申し訳ありません.

4

4 に答える 4

0

リソースが (比較的) 安価な Azure データベースなどのクラウド環境でこのデータベースをホストすることを計画している場合、クライアントは同じコード ベースを実行しており、データベース スキーマは (明らかに) 同じであり、一部を共有する可能性があります。企業間でデータをやり取りする場合、マルチテナント データベースが最適な場合があります。それ以外の場合は、おそらくマルチテナント データベースで多くの余分な作業を作成することになります。

別のデータベース ルートに進む場合、後でマルチテナント クラウド ソリューションに移行しようとするのは非常に大きな作業になることに注意してください。ここ数年、IT ウォーター クーラーの周りで「クラウド! クラウド! クラウド!」という言葉しか聞いていないので、これについてだけ言及します。

于 2013-04-24T14:47:07.407 に答える