PolyBaseで実現する統合データプラットフォームとデータ仮想化:第1部
以前のブログ記事「統合データプラットフォーム - SQL 2019」の続編として、ついに本シリーズを執筆できることを大変嬉しく思います。
本シリーズでは、PolyBase®を使用してデータ仮想化を実現する方法を深く掘り下げて解説します。この記事では概要とデモの前提条件を取り上げ、第2部では実際のデモをご紹介します。
おさらい
まず、前回の記事で取り上げた内容を振り返っておきましょう。
- SQL Server®のDBエンジンから統合データプラットフォームへの進化
- SQL 2019が提供する統合データプラットフォームの主な構成要素:
- OLTP向けのSQL DBエンジン
- PolyBaseによるデータ仮想化
- 列指向ストア(カラムナストア)によるデータマート
- HDFSによるデータレイク
- Apache Sparkによるビッグデータ処理、機械学習(ML)、ストリーミング
- Azure® Data Studio(ADS)による管理と監視
はじめに
データはあらゆる場所に存在しており、さらなる処理を行うために別の場所へ移動またはコピーする必要に迫られることが常です。小規模なデータセットであれば簡単に対応できますが、データサイズが増大し続けると大きな課題となります。また、組織におけるデータマイニングの活用が進むにつれて、データリーダーの間ではデータを一箇所に保持すべきではないという考え方が主流になりつつあります。さらに、構造化データ・非構造化データ・ビッグデータといった異なるデータストアからデータを取得・活用する作業は、煩雑になりがちです。
データ仮想化こそが、この問題に対するソリューションです。
データ仮想化とは?
データ仮想化とは、データのフォーマットや物理的な配置場所といった技術的な詳細を意識することなく、アプリケーションがデータを取得・操作できるようにするデータ管理のアプローチです。全体のデータを単一の統合ビューとして提供することも可能です。
市場には数多くのデータ仮想化ツールが存在します。以下はその代表例です:
- Microsoft® Polybase®
- Actifio® Virtual Data Pipe(VDP)
- Informatica® PowerCenter
- IBM® Cloud Pak for Data
- Red Hat® JBoss Data Virtualization
本シリーズでは、MicrosoftがSQL 2016で導入し、その後のSQLバージョンのリリースごとに改良を重ねてきたPolyBaseに焦点を当てます。
PolyBaseを使用すると、SQL ServerはAzure® Blob、Hadoop®、Oracle®、MongoDB®などの外部データソースに対してTransact-SQLクエリを実行できるようになります。外部データの処理に使用したのと同じTransact-SQLは、リレーショナルデータベース上でもそのまま実行できます。この機能により、外部ソースからのデータとデータベース内のリレーショナルデータをシームレスに統合できます。次の図は、SQL PolyBaseの仕組みをシンプルに表したものです:
図1
PolyBaseの基本が理解できたところで、SQL PolyBaseを使用してAzure Blobという外部ソースからデータを取得するデモをご紹介します。この記事では、そのデモに必要な前提条件について説明します。
デモの前提条件
デモを実行する前に、以下のタスクを完了しておく必要があります:
- PolyBase機能付きのSQL 2016以降をインストールする
- SQL ServerでPolyBaseを有効化する
- Azure Storageアカウントを作成する
- Azure Blobコンテナを作成する
- Blobコンテナにデータファイルを配置する
1. SQL PolyBaseのインストール
PolyBaseは、1台のマシンにつき1つのSQLインスタンスにのみインストールできる点に注意してください。
筆者の環境では、ローカルマシンでデフォルトのSQL 2019インスタンスが稼働しています。しかし、当初のインストール時にPolyBaseを選択していませんでした。次の図はSQL Server構成マネージャーの画面です:
図2
PolyBaseをインストールするには、SQLセットアップを再実行し、機能選択ウィンドウで以下の2つの要素を選択する必要があります:
- 外部データ用PolyBaseクエリサービス
- HDFSデータソース用Javaコネクタ
それでは、SQLセットアップを実行し、以下の手順に従ってPolyBase機能をインストールしましょう。最終画面まで[次へ]をクリックし続け、暗い赤色で強調表示されたタブを選択した状態で[インストールの完了]タブをクリックします。
- 左側のサイドバーで[インストール]をクリックし、[SQL Server の新規スタンドアロン インストール、または既存のインストールへの機能の追加]を選択します。
図3
- [インストールの種類]ウィンドウが表示されたら、[既存のインスタンスに機能を追加]を選択し、ドロップダウンメニューから対象のインスタンスを選択します。
図4
- [機能の選択]ウィンドウが表示されたら、PolyBase関連の機能にチェックを入れます。
図5
- [PolyBaseの構成]ウィンドウで、[このSQL ServerをスタンドアロンのPolyBase対応インスタンスとして使用する]を選択します。
図6
- サイドバーの残りのオプションについてはデフォルト設定のまま進め、[インストール]をクリックします。インストールが完了すると、次のウィンドウが表示されます:
図7
この時点でSQL構成マネージャーを確認すると、2つの機能が新たにインストールされていることがわかります。ただし、ここでPolyBaseを有効化しようとすると、SSMS上で「Polybase not installed」というエラーメッセージが表示される場合があります。この問題を解決するには、PolyBaseのインストール後にサーバーを再起動してください。
図8
2. SQL PolyBaseの有効化
PolyBaseを有効化するには、以下の手順を実行します:
-
SSMSでSQL Serverに接続し、次のクエリを実行してPolyBaseが正しくインストールされていることを確認します。
SELECT SERVERPROPERTY ('IsPolyBaseInstalled') AS IsSuccessfullyInstalled;次の図は、インストールが成功している場合の出力例です:
図9
-
次のクエリを実行してPolyBaseを有効化します:
EXEC sp_configure 'polybase enabled', 1; Go -
続けて、次のクエリを実行します:
Reconfigureこのクエリの実行は非常に重要です。このステップを省略すると、本シリーズの第3部で解説する外部ファイル形式の作成時にエラーが発生する可能性があります。
図10
3. Azure Storageアカウントの作成
以下の手順でAzure Storageアカウントを作成します:
-
自分の資格情報を使用してAzure Portalにログインします。
-
Azure Storageアカウントサービスを検索し、ストレージアカウントを作成します。最終画面まで[次へ]をクリックし続け、その後[確認および作成]オプションをクリックします。暗い赤色で強調表示されたタブを選択してください。
-
[Azure Portalの検索バー]で[ストレージ アカウント]を選択し、[+ 作成]をクリックして新しいストレージアカウントを作成します。
図11
- [基本]タブで必要な情報を入力し、[次へ:ネットワーク]をクリックします。
図12
-
[ネットワーク]、[データ保護]、[詳細設定]、[タグ]の各画面では、デフォルト設定のまま進めます。
-
次に、[確認および作成]をクリックし、検証が成功したら[作成]ボタンをクリックしてストレージアカウントを作成します。次の画像を参照してください:
図13
- デプロイが正常に完了したら、[リソースに移動]をクリックします。作成されたストレージアカウントのページへ移動します。
図14
4. Azureコンテナの作成
Azureコンテナを作成するには、作成済みのAzureストレージアカウントに移動し、左ペインの[コンテナー]をクリックしてから、+ コンテナーをクリックします。
図15
5. コンテナへのデータファイルの配置
この段階では、テキスト形式のデータファイルを作成し、コンテナにアップロードします。
- 次のようなテキストファイルを作成します:
図16
注:CSV、Excel®、その他の外部データソースを使用することも可能です。ただし、外部データソースの種類によっては、いくつかの追加手順が必要になります。たとえば、CSVやExcelデータソースの場合は、SQL Serverに適切なドライバーをインストールし、接続プロパティをODBCデータソース名(DSN)に追加する必要があります。ODBC DSNの作成と構成には、「Microsoft ODBC データソース アドミニストレーター」を利用できます。
- 作成したコンテナpolybasedemocontainerに移動し、[アップロード]をクリックし、右側のフォルダアイコンをクリックして、アップロードするファイルを選択します。
図17
次のステップ
以上で、PolyBaseデモに必要な前提条件の準備がすべて完了しました。第2部では、実際のデモをご紹介します。
コメントやご質問がある場合は、フィードバックタブからお気軽にお寄せください。ぜひ私たちとの対話をお楽しみください。
-
DBAとデータアーキテクトの進化:データ革命時代に求められる新スキルセット
企業の顧客、従業員、パートナーが使いやすいシステムを通じてデータにスムーズにアクセスできるとき、その陰には2人のプロフェッショナルの存在があります。それがデータベース管理者(DBA)とデータアーキテクトです。数千人、さらには数百万人規模のユーザーに対して、堅牢に構築されたデータベースを安定かつ安全に稼働させ続けることは重大な責任であり、あらゆる業界の企業が、利用者のニーズに応えるデータネットワークの設計と監視をこの2つの役割に依存しています。ビジネス界におけるデータ需要が急増するにつれ、最新のデータベース技術に対応するために必要なスキルも拡大し続けています。以下のインフォグラフィックでは、これ
-
データプライバシーが私たちに与える影響とは?知っておくべき3つの重要ポイント
イーロン・マスク氏は、地球の未来に対して多くの人々に希望を与え続けてきた人物です。Cambridge Analytica(ケンブリッジ・アナリティカ)スキャンダルの余波が残る中、Twitterのフォロワーから「Facebookのページやプロフィールを持っているのでは?」と揶揄された際、マスク氏は誰もが予想した通りの行動に出ました。該当するページを削除するとコメントし、実際にそのページを削除してみせたのです。 Facebookはこのデータ流出スキャンダルをめぐって大きな批判を浴びてきましたが、実はあまり知られていないもう一つの側面があります。ユーザーデータを利益のために販売しているのは、決してF