ユーザーが電子メールをインポートして、インポートした電子メールを検索できるアプリケーションを開発しようとしています。これはおそらく多くのユーザー (簡単に 10k+) によって使用されるため、データベースの設計は重要です。これらのユーザー数では、データベースはおそらく 10 億行 (電子メール) を保持できる必要があります。
検索クエリがアプリケーションに投稿された後、アプリケーションはすぐにレコードを返すことができる必要があります。データベースは頻繁に検索されるため、効率的なデータベース スキーマを作成するためのデータベース テーブルを作成する方法を教えてください。私は自分自身でMySQLの経験が豊富ですが、どこかで読んだことがあります。違いはそれほど大きいですか、それとも MySQL を使用できる方法はありますか?
- から
- に
- 主題
- 日付 (範囲)
- 添付ファイル (名前と種類のみ)
- メッセージ内容
- (オプション) メールボックス / フォルダ構造
これらは検索可能なフィールドです。もちろん、すべての電子メールには、一意の ID と user_id 用に 2 つの「列」が追加されます。電子メールの db スキーマをいくつか見つけましたが、10 億を超える行を処理するスキーマのドキュメントが見つかりません。