1

ユーザーが電子メールをインポートして、インポートした電子メールを検索できるアプリケーションを開発しようとしています。これはおそらく多くのユーザー (簡単に 10k+) によって使用されるため、データベースの設計は重要です。これらのユーザー数では、データベースはおそらく 10 億行 (電子メール) を保持できる必要があります。

検索クエリがアプリケーションに投稿された後、アプリケーションはすぐにレコードを返すことができる必要があります。データベースは頻繁に検索されるため、効率的なデータベース スキーマを作成するためのデータベース テーブルを作成する方法を教えてください。私は自分自身でMySQLの経験が豊富ですが、どこかで読んだことがあります。違いはそれほど大きいですか、それとも MySQL を使用できる方法はありますか?

  • から
  • 主題
  • 日付 (範囲)
  • 添付ファイル (名前と種類のみ)
  • メッセージ内容
  • (オプション) メールボックス / フォルダ構造

これらは検索可能なフィールドです。もちろん、すべての電子メールには、一意の ID と user_id 用に 2 つの「列」が追加されます。電子メールの db スキーマをいくつか見つけましたが、10 億を超える行を処理するスキーマのドキュメントが見つかりません。

4

1 に答える 1

1

提案されたテーブル定義から始めて、そこから始めるのが最善です-サイトが10億レコード近くになる場合は、必要に応じて、テーブルを分割できるようにする(必要がある)Amazonサーバーまたは別のクラウドホストに移動できます。 。

制限のある共有ホストを使用していない場合、MySQLはかなりの量のデータを処理できます。

したがって、単純なものから始めて、まだ存在していない問題を最適化しないでください。そして、それがどのように進行するかを確認してください。

于 2013-02-27T12:57:09.850 に答える