プロが教える店舗&オフィスのセキュリティ対策術

WEB上で利用者数10万のマイページ機能をもつようなビジネスサイトを構築しようと考えています。
ユーザーのID,PASS管理と
ユーザーごとのマイページの中にスケジュール管理機能、顧客管理機能
を設けます。
このような大規模なデータベースの設計例を教えていただけないでしょうか?
データベースにはMySQLを使用しようと考えています。
ユーザーのID管理は一つのテーブルじゃ無理ですよね?
その場合どのように分ければいいのしょうか?
ユーザーごとのマイページはユーザーごとにスケジュールテーブルなどを
作るべきなのでしょうか?
MySQLの物理的最大DB,テーブル数の制限などあるのでしょうか?
私自身はデータベースプログラムが出来ないため設計の部分でお教えいただけたらと思います。

A 回答 (2件)

MySQLで顧客情報などが10万レコードという規模は特別大きくありません。

性能的にはまだまだ楽々いけちゃうでしょう。ユーザのID管理を分散することを考えるより、バックアップレプリケーションなどの運用に力を入れるほうが実際的です。

あえて検討項目として考えるとすると、(1)データベース部分のディスク容量 (2)同時接続数(想定)対応のコネクション確保 (3)その前提でのメモリーサイズの確保 だと思います。

MySQLではインデックスのキャッシュなどのサイズを指定できますから、パフォーマンスチューニング部分で改善できることは十分あると思います。

参考までに、その手のセミナーもありますよ。

参考URL:http://techstyle.jp/
    • good
    • 0

こんにちは.


DBの設計は難しいですよね.私なら下記のように3テーブルに分けると思います.

■ログインテーブル
 内部ID(連番), ユーザーID, パスワード
■顧客情報テーブル
 ログインテーブルの内部ID, 名前,住所,・・・
■スケジュールテーブル
 ログインテーブルの内部ID, 日付,スケジュール内容

ログイン時に見に行くテーブルによけいなデータを入れたくないのでログインテーブルは別にもうけます.顧客情報テーブルは,ログイン時に内部管理しているIDを入れると,ログインテーブルと顧客情報テーブルの連携が可能です.スケジュールテーブルも同様で,ログインテーブルの内部IDを入れることで関連づけることができます.このテーブル設計ならユーザーごとにスケジュールテーブルをもうける必要はありません.インデックスをはる位置に気をつければ,なかなか快適に動くと思います.

この回答への補足

参考になります。ありがとう御座います。
別件になるのですが、x-gameさんはオンラインショップのDB設計はご存知でしょうか?
http://www.muji.net/のような一般的なオンラインショップのDB設計例など
お知りでしたら教えて下さい。
(受注伝票、顧客管理、入金管理など)

補足日時:2002/04/07 19:34
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!