メッセージのヘッダーをSQLServerデータベースに格納するように、10000近くのドメインをホストする電子メールサービスがあります。
メッセージ本文でキーワードを検索するアプリケーションを実装する必要があります。メッセージはNASストレージシステムにファイルとして保存されます。
概念実証として、SQLサーバーベースの検索システムを実装しました。メッセージを解析し、すべての単語をメンバーIDとメッセージIDとともにデータベーステーブルに格納します。データベースは、ヘッダーデータベースとは別のサーバー上にありました。
そのシステムの問題は、1つのドメインでメッセージを処理した後、6億行のテーブルになってしまうことでした。明らかに、これはあまりスケーラブルなソリューションではありません。
ヘッダーはSQLServerテーブルに格納されているため、検索されたキーワードを含むメッセージを表示するには、検索アプリケーションからのmessageIDをヘッダーテーブルに結合する必要があります。
より良いアーキテクチャに関する提案はありますか?SQLサーバーを使用するより良い代替手段はありますか?1日に2,000万通以上のメッセージを受信しています。私たちはサーバーやメンテナンスなどのリソースが限られている小さな会社です。
ありがとう