そうです、そのような大きなテーブルは使えません。システムを維持する実際のメッセージが必要な場合は、NoSQLソリューション(HBase、Cassandra、MongoDBなど)をよく見てください。リレーショナルデータベースについて知っていることはすべて忘れる必要があります。
ただし、MySQLを使用すると、テーブルを非常に小さな部分に分割した場合でも、スケーラブルな処理を実行できます。 1つのテーブルに最大1,000ユーザーのメッセージを保持させます(両方のユーザーが同じテーブルに属していない限り、すべてのメッセージを2回書き込む必要があります)。さらに、1つのDBに保持するテーブルは1,000個以下であり、この制限に達したときに別のテーブルを自動作成します。複数のデータベース(1つの物理サーバー上にある場合でも)があると、現在のサーバーが過負荷になったときにDBAがそれぞれを新しいサーバーに簡単に転送できます。特定のユーザーのメッセージを取得するには、コードは、作成するマップから必要なDB/テーブルを取得する必要があります。