第1回・第2回と、SQL Data Warehouseの特徴や主要機能を紹介してきました。第3回となる今回は「百聞は一見に如かず」で、実際にSQL Data Warehouseを構築します。なお、SQL Data WarehouseはAzureサービスの中では高価なので、特に個人で試す場合は「使用しない時は停止させる」などの配慮を忘れないようにしてください。
SQL Data Warehouseの起動
早速SQL Data Warehouseを起動してみます。SQL Data WarehouseはMicrosoft Azureのサービスであるため、Microsoft Azureのアカウントが必要になります(アカウントの作成は無料で行えます)。
クライアントツール
SQL Data WarehouseはJDBC、ODBC、ADO.NETなどを使用して接続することが可能です。Windowsマシンから接続する場合は、SQL Serverと同様、Visual StudioやSQL Server Management Studio(SSMS)も利用することが可能です。
今回はSSMSを使って接続しますので、SSMSを事前にクライアントPCにインストールしておく必要があります。
SQL Data Warehouseの作成
Microsoft AzureのアカウントでAzure Portalへログインしたら、早速SQL Data Warehouseを作成してみます。以下が、その手順です。
作成を選択すると、以下のような画面に遷移します。
上記の画面では、データベース名、サブスクリプション、リソースグループなどを指定しますが、まずは「サーバー」を選択することを勧めます。
データベース名はサーバーに対して一意である必要があります。SQL Data Warehouseの参照に使用される名前です。
ソースの選択では、空のデータベースか事前に用意されている「サンプル」のデータベースのほか、過去にバックアップを取得しているものがあればそれを選択する(「バックアップ」を選択)ことも可能です。
ちなみに今回は「サンプル」を選択しました。サンプルを選択すると架空の会社「Adventure Works」のDWHサンプルデータベースがインストールされます。
パフォーマンスは、SQL Data Warehouseのパフォーマンスを「DWU」という単位で指定します。スライダーを右に移動させると大きなDWUを選択できます。ここでDWUに関して少し説明します。
Data Warehouse ユニット(DWU)
SQL Data Warehouseでは、パフォーマンスを決定するリソースの指標として、Data Warehouseユニット(DWU)という独自の単位を採用しています。高いDWUのほうがより処理能力の高いSQL Data Warehouseということになります。DWUは100DWUを最小とし、2017年6月時点で最大で6000DWUを設定できます。
DWUはSQL Data Warehouseに割り当てられるCPU、メモリ、IOPSなどのリソースの単位ですが、もう少し平たく言うと「コンピュートノードの台数を指定する」ことになります。つまり、コンピュートノードの数は100DWUで1台となり、6000DWUで60台のコンピュートノードが起動するイメージです。
SQL Data Warehouseには60のストレージ(ディストリビューション)が用意されています。コンピュートノードを増やした場合、コンピュートノードに対するストレージの割り当てを変えることで高速にスケールアウトさせることは前回紹介しましたが、コンピュートノードと60のストレージ、DWUの関係は以下のようになっています。
DWUの推奨は400DWU以上です。100DWUでは、コンピュートノードは1台構成となってしまい、SQL Data Warehouseの持ち味であるMPP(超並列分散処理)の特性を発揮できません。手始めに200DWU~400DWU程度からスタートするのがよいと思います。
SQL Data Warehouseを作成する作業はたったのこれだけです。非常に簡単かつ短時間で作成できます。これまでのDWHシステムでは、実際にデータベースを作成するだけでも何日、機器の搬入などから考えると何カ月もかかることがありましたので、このスピードは大きなメリットの1つです。
SQL Data Warehouseに接続
先ほど作成したSQL Data Warehouseに接続してみます。SQL Data Warehouseへ接続する際は、サーバー名を利用し接続を行います。作成したSQL Data Warehouseのページからサーバー名を確認します。
SQL Data Warehouseでの接続は「SQL Server 認証」のみ利用できます。ここではSSMSを利用して接続してみます。SSMSを起動すると「サーバーへの接続」ウィザードが表示されます。
各項目には、以下のように入力します。
- サーバーの種類:データベース エンジン
- サーバー名:Azure Portalで確認したサーバー名を入力
- 認証:SQL Data WarehouseはSQL Server 認証のみとなります。
- ログイン:一番初めに作成したユーザ名を指定
- パスワード:ユーザのパスワードを入力
これで接続が可能になります。SSMSからのクエリの実行や、オブジェクト エクスプローラーからのオブジェクトの管理操作などが行えるようになります。
上記の画面はオブジェクトエクスプローラーの画面です。今回は「サンプル」データベースの作成を選択したため、架空の会社「Adventure Works」のDWHのテーブルがすでに作成されていることを確認できます。
山口 正寛
1984年生まれ。大阪府出身、東京都在住。データベースエンジニア。SQL Server、Oracle、MySQL、PostgreSQLなどのデータベースで、小規模から大規模な案件まで数多く経験。現在ではクラウドの流れに逆らうことなく、「データベース×クラウド」をキーワードに案件対応、セミナー活動、執筆活動など幅広く活動中。株式会社システムサポート所属。