0

現在の gps の位置に基づいて、Android アプリケーションに最も近い店舗を表示させたいのですが、店舗ページに表示したい 2 つのファイル画像と Html ファイルを含む各店舗のバケットを保持する S3 インスタンスがあります。

私の質問は、GPS の位置情報に基づいて最寄りの店舗を選択するにはどうすればよいですか?? バケットごとに緯度と経度の別の値を保存する必要がありますか? RDS のような別の AWS サービスを使用して、表示する適切なバケットをクエリおよび選択できるようにする必要がありますか? または、別の AWS サービスを使用せずに S3 経由で SQL クエリを実行できますか? ありがとう、デビッド

4

1 に答える 1

1

まず最初に:
おそらく、単一のバケットと、ストアごとに異なるプレフィックスを持つことについて話しているでしょう。ストアごとにバケットがあるため、各バケットに 2 つのファイルを保持するのは、間違いなくやり過ぎです。

最寄りの店舗に関する質問: S3 に対して SQL クエリを実行できません。
ソリューションは、アプリケーションの規模に大きく依存します。Web (またはインターネット) スケールのアプリケーション (またはそれ以下) について話している場合は、間違いなく S3 の前に何かを追加する必要があります。S3 はストレージに関するものであり、クエリや計算の実行に関するものではありません。

私の提案は、顧客ベースのサイズと店舗ベースのサイズに応じて、以下のいずれかになります
。S3 の前に m1.small または同様の EC2 インスタンスを配置し、ストア リストをインスタンス ストレージ (または S3) に保持し、インスタンスのメモリ キャッシュでロケーション ベースのクエリを実行できます。選択したサーバー テクノロジ (Python、Java、node.js) を使用して実装できます。
2- 中規模以上: 数 (または数百万) のクライアント、数 (または数百万) のストア: 確実にアプリケーション層とデータベース層に固執します。アプリケーション層には任意の AWS テクノロジー (複数の EC2 インスタンス + ELB、Elastic Beanstalk など) を含めることができ、DB 層は SQL (私の推奨は RDS) または NoSQL (たとえば、DynamoDB) のいずれかにする必要があります。ストアをデータベース層にモデル化し、アプリ層にクエリを実行させます。

いくつかの方法で問題を解決できますが、私の提案は、一般的なアーキテクチャとして上記のいずれかに固執することです。

于 2013-02-25T23:02:21.530 に答える