MSDNフォーラムから見るAzure開発のノウハウ(2)
Windows Azure Tips - 米国MSDNフォーラムウォッチング
15)Are there any performance limitations for containers with a lot of blobs?
- 質問:
コンテナー内に大量のブロブを配置した場合にパフォーマンスが落ちますか?[上級][ストレージ]
- 回答:
原理上はパフォーマンスは落ちません。
- 解説:
ストレージサービスのデータはパーティショニングされて別々の場所に配置されます。同一の場所に配置されていればデータの取得が容易でパフォーマンスが上がりますが、別々の場所の場合はそれぞれに対してデータを取得する必要があるため、パフォーマンスが落ちます。一方、同じ場所に大量のデータを配置した場合は、アクセスが集中してパフォーマンスが落ちてしまいます。そのため、データの効率的な分散が重要になります。
各ストレージサービスの中で、ブロブストレージの場合はブロブごとにパーティショニングされます。そのため、コンテナー内にブロブをどれだけ配置したとしても原理上は別々のVMに配置されるため、1つのコンテナーの中に大量のブロブを配置したとしてもパフォーマンスに影響はでません。
なお、さらにパフォーマンスを上げるためにはCDNの適用が有効になります。
16)Can a storage container be renamed?
- 質問:
コンテナーの名称は変更可能ですか?[中級][ストレージ]
- 回答:
変更できません。
- 解説:
コンテナーの名称自体は変更できないため、新しいコンテナーを作成してコピーする形でコンテナーの名称を変更するしかありません。今後の改善が楽しみです。
17)CreateIfNotExists - concurrency safe?
- 質問:
CreateTableIfNotExist()は同時実行制御されていますか?[中級][ストレージ]
- 回答:
同時実行制御されていませんので、CreateTable()を使用して、TableAlreadyExistsの例外でこの現象を検知してください。
- 解説:
私もなんども悩まされたことがあるのですが、CreateTableIfNotExist()を複数の箇所から同時に発行されると、DataServiceRequestExceptionの例外が発生してTableAlreadyExistsが返る場合があります。
この場合、以下のようなコードで例外処理を行って対応します。
try { client.CreateTable("tablename"); } catch (StorageClientException e) { if (e.StatusCode == HttpStatusCode.Conflict && e.ExtendedErrorInformation.ErrorCode == TableErrorCodeStrings.TableAlreadyExists) { // } else { throw; } }このようにUSのフォーラムでバグ報告がされているケースがあります。Tipsからバグ報告まで多種多様な報告がされているのがフォーラムのメリットだと思います。フォーラムの情報は多岐に渡っているため追いかけるのは大変ですが、フォーラム内部だけの検索も可能なため、何かトラブルがあった際に闇雲に検索するよりもフォーラムを検索したほうが解決が早くなる可能性があります。
18)Classic ASP files and AspPDF on Azure
- 質問:
ASPはAzureで使用可能ですか?[初級][開発]
- 回答:
現在は使用できませんが、Elevated Privilegesがリリースされれば使用可能になります。
- 解説:
現在、AzureではASP.NETしか使用できません。ASPは使用できないため、ASPを使用している古いアプリケーションの移行ができません。ですが、今後ASPが使用できるようになれば、移行対象に成り得るのではないかと期待しています。特に古いアプリケーションの場合は、ハードウェアの老朽化で移行が必要になりますが、Windows Azureが対象になればハードウェアの制限を意識せずにイニシャルコストを抑えて移行できるので、かなり有力な選択肢になり得るのではないかと期待しています。
まとめ
今回はやはりPDCの影響が大きかったです。それに、フォーラム分割の影響があるのかますます質問のやりとりが増えてきています。どちらにせよWindows Azureがとても注目されていることは間違いありません。
また、やりとりの内容がかなり細かく実践的になってきていて、開発中の質問と思われる質問も来ています。段々とAzureが実際に使われていくようになってきていることが実感できます。
そして、原稿執筆中にAzureSDK1.3のリリースがあり、これまで分かりにくかった問題が解決されてしまい、この記事で紹介していた内容に変更や削除が発生しました。ますますAzureは進化していますので、今後が楽しみです。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- Windows Azure Tips - 米国MSDNフォーラムウォッチング連載記事一覧
-
- MSDNフォーラムから見るAzure開発のノウハウ(3)
- MSDNフォーラムから見るAzure開発のノウハウ(2)
- MSDNフォーラムから見るAzure開発のノウハウ(1)
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト bird982000(bird982000)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
