SQL Azure

Azure SQL Database で、elastic database query でいくつかの改善が発表されました。
今回の改善により、Azure SQL Database の elastic database quey は、垂直分割も水平分割も同じコンセプトで、同一表面上で実現できるようになりました。

  • データベースをまたがったクエリのサポート改善
  • Elastic Query がStandardとPremiumパフォーマンス帯で提供開始
  • リモートデータベースのテーブル名やスキーマ名にエイリアスを設定できるようになった
  • リモートテーブル参照時に、T-SQLパラメーターを含んだクエリ性能が改善
  • リモートテーブルから多くの行を参照するクエリの性能改善
  • sp_execute_fanoutプロシージャーでのパラメーターサポート

複数データベースへのクエリ発行

ローカルのテーブルとリモートのテーブルを結合して参照するクエリに対応しています。

Cross-database queries in Azure SQL Database

複数のデータベースを参照して、データを参照する次の図のような構成も可能になりました。

Querying remote databases in Azure SQL Database

従来から、Elastic Query が対応していた水平パーティ初認具のサポートも継続しています。

 

HorizontalPartitioning

リモートテーブルへのクエリ発行方法

リモートにあるテーブルを参照する方法として、外部データソースを経由して指定します。
イメージ的には、リンクテーブルと同じような感じですね。
外部データソースの作成にはDDLを使用し、一つのデータベースのみを指定します。

CREATE EXTERNAL DATA SOURCE RemoteReferenceData
WITH
(
    TYPE=RDBMS,
    LOCATION=’myserver.database.windows.net’,
    DATABASE_NAME=’ReferenceData’,
    CREDENTIAL= SqlUser
);

リモートテーブルは外部テーブルで定義します。外部テーブルの定義には、外部データソースを指定します。

CREATE EXTERNAL TABLE [dbo].[zipcode](
    [zc_id] int NOT NULL,
    [zc_cityname] nvarchar(256) NULL,
    [zc_zipcode] nvarchar(20) NOT NULL,
    [zc_country] nvarchar(5) NOT NULL
)
WITH
(
    DATA_SOURCE = RemoteReferenceData
);

image

外部テーブルは、すべての読み取り専用のクエリを発行することができます。

Windows Azure

Windows、Mac、Linux をサポートするツールを開発するときに、Node.jsが利用できます。

マイクロソフトが提供するクラウドサービス Microsoft Azure の管理コンソールツールの一つに「Microsoft Azure Xplat-CLI for Windows, Mac and Linux」があります。
Microsoft Azure Xplat-CLI for Windows, Mac and Linux を使用すると、Windows、Linux、Macのすべてのプラットフォームで、同じコマンドを使用してMicrosoft Azure を管理することができます。

すべてのプラットフォームで同じソースが使用できるメリットは非常に高いです。

  • 一回の開発ですべてのプラットフォームに同じ機能を提供できる
  • プラットフォーム間で機能差異がない
  • どのプラットフォームでも同じコマンドを利用することができる

Microsoft Azure Xplat-CLI for Windows, Mac and Linux では、Node.jsを利用して上記メリットを享受しています。

使用方法

Windows Azure

MS大田さんによる「データ加工の期待の新ツール!Azure Data Factory」セッションを受講したので、受講メモをつらつらと書いておく。

大田さんの自己紹介。もともとは大量のトラフィック分析(攻撃トラフィックか、IP偽装分析)などをしていました。理論が好きなのと、今回の話は概念から入ると理解しやすいので、概念から説明します。

今日は、Azure Data Factoryの日本初のセッションとなります!今後重要なキーサービスとなるので、丁寧に解説したいと思います。何か、使いどころはどこか、使い方についての順番に説明していきます。

image

Azure Data Factoryとは

Azure Data Factoryは、調整/自動化サービスです。SQL Server、MySQL、など様々なデータソースからデータを取得し、データをクレイジングして、適切なデータストアにデータを格納するまでの一連の流れを自動的に調整してくれるサービスとなります。人手を介さないワークフローとイメージしていただくといいかも。image

例えば、次のような例を考えてみましょう。

  1. アクセスログをストレージから取得
  2. HDInsightでデータをフォルダ分けしてストレージに保存
  3. 返還後、別のデータと結合する
  4. 結果を、SQL Databaseに格納する

上記のような一連の作業を、調整し自動実行するのがAzure Data Factoryの役割です

管理ポータルで実際の画面を見てみましょう。作成、ダイアグラム、サンプルとあります。

image
ダイアグラムは、どのような処理をしているのかをグラフィカルに表示されて、理解しやすくしています。

image
サンプルを用意しており、ひとまず動作を簡単に理解したい場合には、サンプルパイプラインを使用すると簡単に試すことができます。

image

Azure Data Factoryの概念

Data Factoryの概念を知りましょう。登場人物は4つです。Data Set、Activity、Pipline、Linked Serviceの4つです。

image

Linked Serviceは、データストアとかコンピューティングサービスなどのリソースへの接続情報を保持しています。データストア、データ処理など、あらゆるリソースへの接続情報を保持します。

image

現在使用できるデータストアは、現在以下のものが提供されています。

image

オンデマンドHDInsightは、Azure Data Factoryによって管理されるサービスです。Bring Your Ownのほうは、Azureポータルで自分で作成して用意しておくサービスのほうです。

imageAzure Data Factoryが管理するHDInsightは必要なタイミングでHDInsightを起動し、不要になったら削除してくれるので課金的には優しいサービス(停止忘れ防止になる)です。これは、自動的に管理されるものなので、管理ポータルから確認することはできません。

ただし、削除タイミングは指定できて、処理完了後何分後にHDInsightを削除できるかを指定できます。0分にするとすぐ削除されます。これを指定するのに必要な理由は、HDInsightで処理して、データを格納して、またHDInsightで処理するというようなパイプラインの場合、一回一回でシャットダウンすると再度15分かけてプロビジョニングをすることになるので、無駄をなくすには他所の猶予を設けるといいです。

Data Setは、Linked Serviceが参照するデータストアに格納されている入力/出力データを表します。これは、フォルダ名の指定やテーブル名の指定です。これを設定して初めて、実データを指定することになります。

image

Activityは、データに対して実行するアクションを定義します。Data Setもコンピューティング両方を扱うことができます。データのコピーや、データの変換分析を処理さえることができます。1つのActivityに複数の処理を書いてしまうと煩雑になってしまうので複数のActivityに分けてあげるといいですね。image<

PipeLineは、複数のActivityを論理的にひとまとめにして管理するグループです。いくつかのActivityを束にまとめます。

image

Azure Data Factoryの操作に使用するツール

Azure Data Factoryは、JSONで定義します。

image

JSONを書くのはつらいので、補助するために3つのツールが提供されています。ブラウザーベースのものもあるので、Macユーザーでも使用することができます。

  • Data Factory Editor(ブラウザーベース)
  • Visual Studio(Windows)
  • PowerShell(Windows)

Data Factory Editorはブラウザベースで提供されており、現時点では一番こなれたツールとなっています。初めて使用する人は、Data Factory Editorから使い始めるといいでしょう。

image

Visual Studioの対応状況はこのような感じ。Cloud Explorerはリソース状況が確認しやすくて素敵です。でもダイアグラムは弱めで、エラーとかでる。現時点では、まだまだ発展登場なのでおすすめはしないかも。

image

PowerShellはこんな感じ。新規作成などの操作性はあまりいいとは言えないかも。

image

Azure Data Factoryの操作手順

Data Factory Editorで、Linked Serviceを作成します。作成ボタンをクリックすると、リソースを選択することができます。

image

次に、Data Setを作成します。Data Setの定義では、次の図のようにインテリセンスがきいて入力しやすくなっています。

image

Piplineを定義します。頑張ってコーディングしなくても、あらかじめ定義が用意されているので、定義をするだけでいいです。例えば、日次で実行し、感覚をどれぐらい開けるみたいなのも定義で指定できます。

image

インプット元、アウトプット先も、このように簡単に定義することができます。

imagea

 

セッション資料

PowerBI

MS川岡さんによる「Power BI概要」セッションを受講したので、受講メモをつらつらと書いておく。

Power BIは誰でも使えるツールで、現場の人が使えるツールです。仮説検証という意味では現場の人が使ったほうが適切なフィードバックができます。なので、エバンジェリストじゃない担当者が登壇してます。

BIをするときに重要なことは2つです。

  • 繰り返しの仮説検証のサイクルを回すこと
  • 現場の人間が実施すること

Excelなどに組み込まれていた分析機能や、Excelアドインで提供されていたPower BIなどの機能を切り出したPower BIデスクトップ(Power BI Desktop)は、単独で使用することができるツールです。

Office 2016を購入しなくても、Power BI DesktopとPower BIサービスを使用して、分析をすることができます。

image

クラウドと連携することでローカルリソースは操作程度のリソースでOKで、実際の分析はクラウドリソースに任せることができます。

image

Power BI Serviceのダッシュボードを作成し、レポートを用意することができます。

image

様々なグラフィカルグラフが用意されており適切な表現ができるようになっています。

image

自然言語検索に対応しており、検索ボックスに「今日、橋を東から西に向かった車が難題あるか?」みたいに入力すると、結果が表示されます。

image

実際にレポートをPower BIで作成してみましょう。データを配置します。

image

表形式で画面上表示されます。選択した状態でツールバーでMapを選択してみましょう。

image

簡単に地図にマッピングされましたね。

image

さらに地域を日本にしてみましょうか。

image

簡単ですね。これをワンクリックでPower BI Serviceにデプロイして、ほかの人にすぐに共有することができます。

オンプレミスのデータをクラウドにあげて、フロントは無料のツールを使用して表現をつくります。

image

Power BIは、10GBまでは無償で使用できます!Let’s Power BI!

セッションスライド

tool

SQL Server Management Studio 2015年9月版がリリースされました。SQL Server Management Studioは従来、SQL Serverのメジャーバージョンに紐づいてリリースされてきました。それでは、Azure SQL Databaseへの柔軟な対応がしにくいため、SQL Server製品から切り離されて、ツール単独でのリリースサイクルになりました。最近では、月1回のペースで、○年○月版という形で、SQL Server Management Studioがリリースされています。

今回のリリースでは、8月版の新機能に加え、Azure DatabaseのFirewallルールの作成、新しいインデックスダイアログの更新、いくつかのバグ修正をしています。

SQL Server Management Studio ダウンロード

新機能

  • Azure SQL Databaseに接続する際のプロセスを合理化する為に、新しいFirewallルールダイアログを追加しました
  • 非クラスタ化行ストアインデックスの作成ができるように、新しいインデックスダイアログになりました。この機能はSQL2016向けに提供されます。
  • Windows 7上で、SSMSプレビューでSQL Agentジョブの表示と編集ができるようにバグを修正しました。

Firewallルールダイアログ

SNAGHTML159bad

image

image

image

image