6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SQL Data Warehouse を試してみる

Last updated at Posted at 2015-12-05

SQL Data Warehouseはどんなサービスでしょうか?

私の理解ではMPPで並列処理するように拡張されたSQL Serverのように理解しています。
Amazon Redshiftの対抗ということですが、アーキテクチャ的にはTeradataとかGreenPlumなどとも同じになるかなと。

他のMPPデータベースと同様、コントロールノード(マスター)とコンピュートノード(スレーブ)の構成を取るようです。

とりあえず、クエリを投げるところまで試してみます。

構成する

Azureのポータルメニュの+から、データ+ストレージ -> SQL Data Warehouse(プレビュー)を選びます。
設定は、とりあえず以下のとおり。

  • 名前:hoge(これがSQL Server内のデータベースの名前になります)
  • サーバー:これがSQL Serverのホスト名になります。また、ID,PWはログイン時のID,PWになります。
  • パフォーマンス 71.4円/時とはいえ、最小単位の100DWUに設定。
  • ソースの選択 テスト用にクエリを投げたいのでサンプルを選びます。お馴染みAdventureWorksが設定されます。
  • その他はとりあえずデフォルト

デフォルトでは400DWUになっていますが、軽くベンチマークしたところ、400〜600DWUくらいが最もバランスが良いようです。

sqldwh

5分くらいで構成は終わりました。
リソースではSQL Serverと(その中に)SQLデータベースというのができる。階層が同じなのでわかりにくい。

sqldwh

  • SQL Server:ユーザー、Firewall等、各種設定を行う。
  • SQLデータベース:接続先、クエリ先。

補足:SQL ServerとSQLデータベースの関係

上記の例では、データベース(DWH)名とサーバ名をhoge/hogeと同じにしてしまったので、SQL ServerとSQLデータベースの関係が少々わかりにくくなっていました。なので、以下、補足です。

  • ①一番に設定する名前というのはデータベースの名前のようです。
  • ②サーバ名は、そのままです。ホスト名です。
  • ③はSQL認証時のログイン名となります。

sqldwh

完成したリソース表示における関係は下記の通り。
最初に設定したデータベースがサーバの下層リソースというのがこのレイアウトだと少々わかりにくい。

sqldwh

ログイン時の画面では、接続先のホスト名とログインID(とパスワード)が利用されます。

sqldwh

この図が一番関係がわかり易い。最初に設定した名前はSQL Server内のデータベース名となる。

sqldwh

以上、補足でした。

利用する

接続

では作成したData Warehouseにクライアントから接続してみましょう。

Firewallの設定

接続のためにはまず、Firewallでクライアントからの接続を許可します。
設定はSQL Serverの方のメニューから行ないます。

設定後は必ず「保存」をしましょう。私はそれをせずにしばらくハマりました。

sqldwh

接続クライアント

Firewallの設定が終わったらいよいよ接続です。が、2015年12月5日現在、SQL Data WarehouseはSQL Server Management Studio(SSMS)では利用できないようです。

ではどうするかというとVisualStudio(VS)を利用するようです。この時点で、心折れそうですが、頑張ってすすめてみます。
幸い、VSはインストールしてありました。なお、接続には最新のSQL Server Data Toolsをを入れたほうが良いみたいなので入れました。

VSは無償で利用できるCommunity版がありますので、必要な人はインストールして下さい。

接続情報と接続

接続情報はSQLデータベースの方のメニューを見れば、書いています。それをコピペして接続先として登録することも出来ますし、上部メニューの「VisualStudioで開く」的なメニューを押すことでVSが起動し、接続できます。

PHP用の接続文字列なども取得できるようです。

sqldwh

接続時にはID,PWを聞かれますので、申込の際に入力したID,PWを入力します。

ここでログインできない場合はSQL ServerメニューのFirewallの設定を確認してください。

sqldwh

接続できました。
サンプルを選んだので、AdventureWorksのテーブル群が展開されています。

sqldwh

ではクエリをかけてみます。テータベースを右クリックするなりして、Queryウインドウを開きます。
クエリは何でもいいですが、ここでは、

select count(*) from dbo.FactInternetSales;

としました。入力したら、Executionボタンを押します。

sqldwh

ここまでくれば後は、SQL Serverの世界です。

とは言え、アーキテクチャが違うため、使えないコマンド、プロシージャもあります。詳しくはこちらをどうぞ。

スケールさせる

詳細はさておき、スケールさせることは簡単です。SQLデータベースのメニューからスライダーを動かすだけ。

sqldwh

メニューから監査の設定や透過暗号なども適用できるようです。

そのうち、大きめのデータ入れてベンチマークもしてみたいと思います。

参考

データロード

ここではサンプルデータを利用しましたが独自データのロード方法についてはこちらを参考にして下さい。

外部

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?