GAEで大規模なクエリを実行することについて別の質問をしましたが、答えはほとんど不可能でした。
私がやりたいのはこれです:iOSデバイスから、すべてのユーザーの連絡先の電話番号を取得します。これで、たとえば250の電話番号のリストができました。これらの電話番号をサーバーに送り返し、これらの電話番号のどれがユーザーアカウントに属しているかを確認したいと思います。
だから私はクエリを行う必要があります:query = User.query(User.phone.IN(phones_list))
ただし、GAEの場合、これは非常にコストのかかるクエリです。この1つのクエリだけで250回の読み取りが必要であり、このタイプのクエリを頻繁に実行することを期待しています。
だから私はクレイジーなアイデアを思いついた。このタイプのクエリの方が安い別のホストや別のデータベースで電話番号をホストしないのはなぜですか。次に、GAEにHTTPリクエストを他のサーバーに送信させて、目的の情報を取得することができます。
だから私は2つの質問があります:
- これらの種類のクエリを処理するために、より合理化されたデータベースはありますか?また、より安価に実行できるデータベースはありますか?それとも、すべてGAEと同じでしょうか?
- これはやり過ぎですか?それは良い考えですか?私はそれを吸い上げて費用を払うべきですか?