SQL Azure Labs は、SQL Azureに関わるアイディアを試すためのプロトタイプを公開する場所です。Labsのプロジェクトは、現時点では製品化が計画されていません。しかし、現在SQL Azureチーム周辺が考えていることが共有し、アイディアへのフィードバックを集めることで機能追加の方向性を洗練されていくことを目的としています。
年末年始、年明けと短い期間でSQL Azure Labsに複数のプロジェクトが公開されました。今回は、SQL Azure Labsで公開されているプロジェクトについて紹介します。Labsのプロジェクトで気が付いたことや、感想を伝えたくなったら、フォーラム に投稿するか、担当チームにメール でフィードバックできます。
SQL Azure Labs概要
昨年末までにSQL Azure Labsで公開されたプロジェクトには、SQL Azure Data SyncやDAC Frameworkを使用したバックアップ機能、SQL Azure OData Labがありました。SQL Azure Data Syncは、製品ラインに組み込まれWindows Azure管理ポータルに統合されPreview版が公開されています。DAC Frameworkを使用したバックアップ機能は、Windows Azure管理ポータルに統合され、正式サービスとしてリリース済みです。
昨年末にリニューアル公開したSQL Azure Labsには、2012年2月末時点で8種類のプロジェクトが公開されています(表1 ) 。
表1 SQL Azure Labsプロジェクト一覧
SQL Azure Data Sync 製品ラインに統合されPreview版がリリース
バックアップ機能 リリース済み
SQL Azure OData Lab 2012年3月終了予定
Cloud Numerics 分散演算フレームワーク
Data Explorer データ参照サービス
Data Transfer データ転送サービス
Social Analytics ソーシャルデータの分析
SQL Azure Compatibility Assessment 移行チェック
SQL Azure Security Services セキュリティレポート
Trust Services データの保護
8種類のうち1つはSQL Azure OData Labで、リニューアルする前から公開されていたプロジェクトですが、2012年3月にサービス提供が終了する予定となっています。残りの7個がリニューアル後に提供されたプロジェクトで、データを分析したり、保護したり、転送したりと、さまざまな観点から扱うプロジェクトになっています。
Cloud Numerics
Cloud Numerics は、データ演算にかかわるサービスです。
Visual Studioプロジェクトで利用できる統計や線形代数といった数値アルゴリズムの.NETライブラリが提供されます。ライブラリを使用するとWindows Azure 上でスケーラブルに稼働する C# ベースのデータ解析モデルを開発することができます。
ライブラリを使用したアプリケーションを開発後、Cloud Numericsの配置ツール(図1 )で分散演算に使用するサーバー台数を指定して、Windows Azure上での並列分散演算を簡単に実現できます。
図1 Cloud Numericsの配置画面
Data Explorer
Data Explorer は、データの集積・資格表示するためのサービスです。
複数のデータソースに分散している情報を一ヵ所で集約します。複数のサービスの認証情報の管理、収集している情報に関連したWindows Azure Marketplcaeのデータを自動推奨、データのグラフィカル表示をすることができます。
Data Explorerが取り扱うことができるデータソースには、SQL Server、Webコンテンツ、RSSフィード、Windows Azure Marketplace、SharePoint、テキストファイルなどがあります。データのインポートは画面操作で簡単に取り込むことができます(図2 ) 。
図2 Data Explorer
図3 は、複数のデータソースから取り込んだデータを関連付け、Players2007、Players2008、Players2009という値で表示をフィルタリングできるように定義したところです。Data Explorerは、直接データとしては紐づいていなかったデータを紐づけることで関連情報として取り扱います。たとえば、Facebookのフィードと名簿を紐づけることも可能です。
図3 Data Explorerでデータインポート
Data Transfer
Data Transfer は、データ転送のサービスです。
Windows Azure上にホストされたサービスで、ローカルのCSVからSQL Azureデータベースにテーブルを作成したり、Windows Azure Blobにデータをアップロードすることができます。SQL Azureに、ExcelやCSV(カンマ区切り)ファイルをアップロードするとサービス側でSQL Azureテーブルの作成時に使うべき最適なデータ型に関して推測しテーブルスキーマを生成します。
手軽にデータを転送し、テーブルを作成する機能ですので手順もシンプルになっています。Data Transferを使用するには、"Import your data to the cloud"のページ にアクセスし、転送先を指定します(図4 ) 。
図4 Data Transfer転送先の選択
データの転送をすると転送したデータを分析し、図5 のように自動的に適切なデータ型が選択されます。
図5 Data Transferによって作成されたスキーマ
Social Analytics
Social Analytics は、ソーシャルなデータを分析するサービスです。
各種ソーシャルサービスから特定キーワードで情報を収集し、収集してきた情報を一覧表示します。収集した情報を集計・分析し、活発にRTやメンションされている発言をカウントしランキング表示する。各ランキングごとに、ネガティブ発言数・ポジティブ発言数をカウントします。ソーシャルな発言を収集して分析して、把握しやすくするのが目的のサービスです。
図6 Social Analyticsの画面
図6 を見ていただくと、一見ただのTwitterクライアントのように見えますが、真ん中の列が同テーマの発言数をカウントし、ポジティブ発言数とネガティブ発言数(赤と緑の顔文字)を表示しています。本ツールを使用することで特定キーワード(たとえば自社製品)について、どれぐらい話題になっているのかを確認することができます。
SQL Azure Compatibility Assessment
SQL Azure Compatibility Assessment は、データベース移行作業を円滑に進めるためのデータを提供するサービスです。
既存のSQL ServerデータベースをSQL Azureに移行する際に、互換性問題が無いかをチェックしてくれる「SQL Azure互換性確認サービス」です。
SQL Server Data Tools(SSDT)CTP4を使用して、データベースから.dacpacファイルを出力し、SQL Azure互換性確認サービスに.dacpacをアップロードすると、互換性レポートを受け取ることができます。互換性レポートには、SQL Azureでサポートしていないオブジェクトや移行する前に修正する必要のあるスキーマオブジェクト一覧が掲載されます。
SQL Azure Security Services
SQL Azure Security Services は、データベースセキュリティにかかわるサービスです。
SQL Azureサーバのデータベースのセキュリティ状態を確認することができるWebアプリケーションです。セキュリティ脆弱性をスキャンし、結果をレポートとして表示します。レポートでは、セキュリティを改善するための推奨する対応内容が提示されます。
SQL Azure Security Servicesは、ユーザ数とユーザ権限の保有状況、格納されているデータを確認します。データベースユーザがsysadmin権限を持ったユーザしか存在しない場合は、セキュリティ脆弱性があるとしてレポートに表示されます。格納されているデータを確認し、JavaScriptのコードが含まれていたり、EXEC()のようなSQL実行コードがあると問題になりうるとしてアラート表示されます(図7 ) 。
図7 SQL Azure Security Servicesのセキュリティレポート
Trust Services
Trust Services は、データ保護にかかわるサービスです。
クラウドでセキュアに情報を共有できるようにするAzureサービスです。クラウドストレージにデータをアップロードしたり、ディスクに保存する前にデータを暗号化することができます。トラスト・サービスでは、データ保護ポリシーを定義でき、データの暗号化・複合化を実施する手段を提供し、それらを実行できるユーザを権限で制御することができます。
Trust Servicesを使用するには、証明書の登録と、ユーザアカウント・権限を設定します。そして、Trust Services SDKを使用することでコードからデータの暗号化、複合化を制御できます。暗号化・複合化などの権限制御は、Trust Servicesのポータルから制御できます。つまり、データの暗号化・複合化サービスの実装の大半をTrust Servicesが担うことで、少ないコーディング量で安全なデータのやり取りができるようになります。
チュートリアル が日本語化されていますので、TechNet Wikiを参照してください。