私は現在、php呼び出しと単一のMySQLデータベースを介して単一のWebサーバーと通信する読み取りの多いモバイルアプリ(90%の読み取り、10%の書き込み)を持っています。dbには、ユーザープロファイル情報とユーザーが送受信するメッセージが格納されます。1秒あたり数件のメッセージがデータベースに追加されます。
水平方向のスケーリングや負荷分散などを行っています。そのため、Webサーバーのクラスターの前にロードバランサーを配置し、MySQLクラスターの上にCouchbaseノードのレイヤーを配置して次のことができるようにします。ユーザープロファイル情報とメッセージ情報にすばやくアクセスできます。すべてのユーザー情報をCouchbaseにmemcacheしますが、読み取りアクティビティのほとんどが発生する時間枠であるため、Couchbaseに最新の24時間分のメッセージのみをmemcacheします。
memcacheに保存されているメッセージデータについては、国、都市、時間などのメッセージのフィールドで見つかったさまざまなデータに基づいてメッセージをフィルタリングできるようにしたいです。CouchbaseはKVアプローチを使用しているため、where句を使用してクエリを実行することはできません。 MySQLの場合と同じように。
これを行う方法はありますか?CouchbaseViewsが答えですか?それとも、Couchbaseで間違ったツリーを完全に吠えていますか?