2016-05-27 3 views
0

Azure Web App私はMaxMind GeoIP2 City Databaseを効率的にクエリする必要があります(クエリの量と待ち時間要件のために、MaxMindの残りのAPIは使用できません)。MaxMind GeoIP2データベースをAzureに格納(およびクエリ)する方法は?

db(バイナリMMDB形式、official .NET apiを介してアクセスする)を保存するための最良の方法は何ですか。私たちは最小限のダウンタイムでアップデートすることができます(月間アップデートを購読します)。 Azureのストレージとトランザクションに関すること。どうやらブロブをブロックする

は、移動するための方法ですが、私は毎月の更新と、これはウェブのために問題になる場合には(私は知らないメモリ内GeoIP2 APIの負荷全体デシベルという事実についてはよく分かりません私はそれを維持するためにWebワーカーが必要な場合、または別のものが必要です)、実際に私はまだファイルの大きさを知らない。

巨大なボリュームで低レイテンシを維持する最もコスト効率の良いソリューションは何ですか?

+0

費用対効果の高いソリューションは、晴天のテーブルストレージです。パーティションキーのrowkeyコンボを取得できる場合、適切なレイテンシが問題になるはずはありません。あなたがdbを取得する形式についてはわかりません。それがcsvならば、私はこのライブラリを見つけて、csvデータを空白のテーブルストレージに格納するのを容易にしました。 https://blogs.msdn.microsoft.com/jmstall/2012/08/03/converting-between-azure-tables-and-csv/ – Aravind

+0

@Aravind - テーブルストレージがどのようにしてストレージの問題を解決するかはわかりませんバイナリデータベースファイル。私は質問がコンテンツをあるフォーマットから別のフォーマットに変換することではないと思う。 csvバージョンを使用していても、テーブルストレージからローカルディスクにデータをコピーして、そのコンテンツをAPI経由で使用する必要があります。また、テーブルストレージとブロブストレージは、GBあたりのコストがまったく同じです。 –

+0

@David Right。いずれにしても、ソースが更新を提供したときにデータベースを最新の状態に保つ必要があります。バイナリの場合、ブロックブロブがオプションです。また、メモリ内のDB全体をロードすることは良い選択ではないと考えています。 – Aravind

答えて

1

API docsによれば、データベースはファイルシステムで利用できる必要があります(APIはAzureストレージと関連するREST APIについて何も知らない)。したがって、どこに永久に格納するかにかかわらず、どこかにディスク上に置く必要があります。

Webアプリケーション、クラウドサービス(Web /ワーカーロール)、および仮想マシン(LinuxまたはWindowsのいずれでも)にはすべてローカルディスクがありますが、データベースフットプリントの大きさはわかりません。また、これらのディスクに対する読み取り/書き込みアクセス権があります。したがって、データベースのバイナリファイル(またはcsv)をどこかのローカルディスクにコピーする必要があります。この時点で、SDKを初期化するときはDatabaseReaderを作成し、ローカルにダウンロードしたデータベースファイルのコピーをポイントします。

blobストレージにデータベースを格納する方法について説明しました。あなたがそうしてコピーをローカルディスクにダウンロードすることを止めるものは何もありません。複数のバージョンを複数のブロブに格納するのを止めることはありません。注:Azureファイルストレージ(SMB共有)を利用することもできます。あなたが選ぶのはあなた次第です。

最も費用対効果の高いソリューション:最も効果的なものを確認するには、価格設定作業を自分で行う必要があります。また、選択したVM /ロールインスタンス/ Webアプリケーションのサイズに応じて、使用可能なRAMの容量も評価する必要があります。あなたはあなたの質問でWeb Appsについて言及しました.Web Appインスタンスは、選択した層に応じて0.5GBから14GBまで拡張できます(これもまた評価する必要があります)。

+0

この場合、azureファイル保存のヘルプはありますか?私はそれが価格だとチェックしていない。 – Aravind

+0

File Storageも問題ありませんが、最初の読み込みの目的で、ローカルディスクファイルと同じパフォーマンスを提供しない可能性があります。 –

+0

これは良い考えではありません。データベースリーダーはストリームを取るだけで、メモリデータベースを使用するオプションはありません。ブロブストレージ上にマップされたメモリだけです。 –

関連する問題