SQL Azure

この投稿は、Tech ED NA 2011の「Understanding the Windows Phone Development Tools | Tech·Ed North America 2011 | Channel 9」セッションをざっくりとまとめ補足した投稿です。途中で力尽きたので、最後辺りはさっぱりしていますので、元ネタを参照した方がいいかと。

SQL Azureアーキテクチャ

  • SQLデータベースは共有インフラ
  • 一般的なハードウェアを使用した大規模分散クラスター
  • スケーラブルな高可用性テクノロジーを提供
    それぞれのSQL Azureデータベースは3つに多重化している
    自動レプリケーションとフェイルオーバー
  • TDSリクエストをゲートウェイサービスが転送する

image

上の図は、物理マシンの簡易構成図です。SQL Azureデータベースは、仮想環境では無く物理マシンにホストされます。
物理マシン上にSQLインスタンスがあり、インスタンスの中にSQL DBがあります。SQL DBには複数ユーザのDBがホストされます。SQLインスタンスやSQL DBは、ユーザがSQL Azureを使用する際に認識することはできません。
例えば、私がDBを3つ作成した場合、1つは物理マシン4に作成されたとしも残りの2つは、物理マシン4かもしれない100、500などまったく別の物理マシンにホストされる可能性のほうが高いです。

Windows Azure

TechED NA 2011の「Ten Must-Have Tools for Windows Azure」セッションで紹介されたツールを紹介します。

0. AzureWatch

Reporting009

SQL Azure

Tech Ed NA 2011のSQL Azureのセッション「Microsoft SQL Azure Advanced Administration: Backup, Restore and Database Management Strategies for Cloud Databases」で、2011年度のSQL Azure投資テーマが発表されました!

Reporting005

サービスの管理

エンタープライズへの取り組みと管理のしやすさ

データの保護とリカバリ

  • アプリケーションもしくはユーザエラー時にリカバリーするためのローカルバックアップとリストア
  • 地理的バックアップと、データセンターもしくは地理的災害からの災害復旧

新しいデータの移動のしやすさの向上

  • SQL AzureとSQL Server間でのデータとスキーマのデータベース インポートとエクスポート
  • すでに対応しているAccess、MySQL、Oracleに加え、SybaseからのSQL Azureへの移行対応

管理体験の強化

  • ポータルでの管理強化
  • エンタープライズシナリオに対応するために、サブスクリプションに複数のDB管理者登録

スケール(規模)への要求対応

スケーラビリティとパフォーマンス

Federationによるスケールアウト

  • とても大きなデータベースをホストするために、複数のサーバを使用して仮想的に無限大のサイズにスケールする
  • マルチテナントへのサポート改善

データベースのスケールアップ&スケールダウン

  • 50GB以上のサイズと、1GBより小さいサイズのデータベース

パフォーマンス可用性

  • リソースSLAに基づいたコンピュート資源の予約

マルチテナント対応の強化

  • サブスクリプションに複数のデータベースを作成できるようにAPIレベルで対応

イノベーションの加速

ハイレベルサービスと開発アジャリティ

レポーティングサービスによるリッチな表現

  • Azureにホストしたリッチなレポートの管理と提供、オンプレミスもしくはクラウドアプリケーションでの表示

同期サービスによるアプリケーション補助

  • SQL AzureとSQL Azure & SQL Serverデータベース間のデータ同期

リッチな開発体験

  • プロフェッショナル開発 “Juneau”
  • 部門開発 LightSwitch
  • Java開発 JDBCドライバー対応
  • 国際開発 Azureポータルのローカライズ

データマーケット強化

  • 国際公開
  • コンテンツ管理の強化
  • Denalli、Office、CRMへの統合

SQL Azure

5/14に開催されたCommunity Ring Open Dayの開発者向けのイベントで、SQL AzureとLightSwitchについて話してきました。

ちょっと、まとめきれず中途半端な印象を与えてしまったかもしれませんが、個人的には成功だったと思っています。Q&Aで、質問が出たことと、質問内容について参加者から合いの手が入って、コミュニティらしい雰囲気で終われたと思います。

他にもAzure関連で登壇された方の分については、
「Community Open Day 2011 のINETA側のセッションで利用したセッション資料」
http://bit.ly/kQsbR6
からダウンロードできます。

SQL Azure

DNSのCNAMEにSQL Azureのデータベースサーバーを登録することで、SQL Azureの接続にカスタムドメインを使用できるようにすることができます。

つまり、SQL Azureのサーバー名「severNameString.database.windows.net」をDNSのCNAMEに登録して、「database.sqlazure.jp」で接続できるようになります。
SQL Azureのサーバー名文字列はランダム生成なので覚えにくかったのが、自分のドメインを使用できるようになるので、とても便利ですよ!

image

留意点

しかし、留意点というか問題点がございます。接続時の認証情報を以下のようにする必要があります。

image

これは、接続文字列などで、よく言われることなので違和感が少ないかと思います。

その対象にSQL Server Management Studio 2008 R2も含まれてしまうので、要注意。下の図のようにサーバー名を付与してあげてください。

image

まぁ、コマンドプロンプトでNSLOOKUPからドメインを逆引きをすれば、サーバー名をさっくと調べることができ、いちいちAzure管理ポータルを開かなくていいので、楽には違いないですね。

情報源

A Custom DNS Name for my SQL Azure Database Server