発端はBing--社内システムを有償サービス化した「Azure Data Lake」の独自性

羽野三千世 (編集部)

2016-01-27 14:21

 米Microsoftが2015年10月にプレビュー版の提供を開始したデータレポジトリサービス「Azure Data Lake」。IoTデバイスやウェブアプリケーションなどで生成されるさまざまな形式の大量データを1カ所に集約し、そのデータをHadoopで処理するための大規模並列ストレージサービス 兼 演算処理サービスをAzureから提供するものだ。同社がインターネット検索サービスBingを開発するために構築した社内システム「Cosmos」がベースになっている。Azure Data Lakeの概要について、同社 ビッグデータチームのMatt Winkler氏に話を聞いた。

Bing開発基盤はデータが無制限に増えることを想定して設計した


Microsoft プリンシパルプログラムマネージャー Matt Winkler氏

 私が所属するMicrosoftのビッグデータチームでは、大きく2つのシステムを作っています。1つは社内向けのシステム「Cosmos」、もう1つはAzureを通してビッグデータを使ってもらうための顧客向けのクラウドサービス群です。今回紹介するAzure Data Lakeは、われわれのチームの2つの事業を合わせたもので、社内システムのCosmosをベースにしたデータレポジトリサービスを、Azure上で顧客向けに提供しています。

 まず、Cosmosについて説明しましょう。もともとCosmosは、約10年前、当社がBingのアプリケーションを開発するために構築した基盤でした。インターネット検索エンジンは、インターネット上のデータのコピーを取り、そのデータへの質問に対してインデックスを作成して回答する仕組みを、アプリケーションを通じて提供するものですが、Cosmosの基盤上では、ウェブサイトのコピーの保存と、インデックス作成のための開発、インデックスの改良を行っています。

 このような基盤を設計するにあたり、われわれはあらかじめ、Cosmosに入れるデータが無制限に増えることを想定しておく必要がありました。つまり、ストレージノードとコンピュートノードを経済的にスケールアウトできるようにするということです。さらに、スケールアウトする環境でプログラムを並列化することは大変なので、小さいシステムに書いたコードを動的にスケールアウトさせることも必要でした。Cosmosはこの要件を満たすシステムであり、今では、Xbox、Office 365、Azureなど、Microsoftの事業のシステムのすべてがCosmos上にあります。

 例えば、社内からクラウドサービスがどう使われているかといったデータをCosmosから確認したり、そのデータをアナリティクスする基盤として利用したりしています。(研究開発部門の)Microsoft Researchは、画像処理のアルゴリズムの研究にCosmosを利用しています。

Azure Data Lakeを構成する3つのシステム

 Cosmosを外部向けの有償サービス化したのがAzure Data Lakeであり、「Data Lake Store」「HDInsight」「Data Lake Analytics Service」の大きく3つのシステムで構成されています。


Azure Data Lakeの構成

 Data Lake Storeは、Hadoop分散ファイルシステム(HDFS)と互換性のあるファイルシステムであり、ファイルサイズに制限なく格納できる大規模並列ストレージサービスを提供します。HDFSのAPIでデータを出し入れし、どんな種類のデータも、要件やスキーマを定義する前に取りあえずData Lake Storeに入れておくことが可能です。保存されたデータは、Azure Active Directoryによるアクセス制御やシェアの制御などで保護されます。

 Azure Data Lakeの中で、HDInsightとData Lake Analytics Serviceは、Hadoopクラスタのリソース管理とジョブスケジューリングを担う「Apache YARN」上にあり、それぞれHDFS互換のData Lake Storeと統合されています。

 HDInsightは、Azure上のWindowsとLinux環境でHadoopを動作させるサービスです。Hadoopのほかにもフレームワークの「Apache Spark」やストリームデータ処理の「Apache Storm」、Hadoop上で稼働する分散データベース基盤の「Apache HBase」といったクラスタもマネージドサービスとして提供するものであり、ユーザーは各クラスタのメンテナンスをどうするかを気にせずにサービスとして利用することが可能です。

 Data Lake Analytics Serviceは、HDInsightで実行するジョブを定義するコンポーネントで、「U-SQL」というSQLライクな独自のクエリ言語、コードが動的にスケーリングする仕様が特徴です。U-SQLは、SQL構文の中にC#のコードを入れ込んで拡張できるようになっており、ビッグデータ解析を行う上で生産性の高い言語と言えます。

 これらの3つのシステムが連携し、Data Lake Storeに保管したビッグデータに対して、Data Lake Analytics Serviceでデータ型やフォーマットをどう定義してどのような演算処理を行うかといったジョブを記述し、HDInsightでそのジョブ実行するのがAzure Data Lakeの全体像です。

ストレージとコンピュータを分離して課金

 Azure Data Lakeでは、ストレージリソースとコンピュータリソースを使った分だけ別々に課金します。ストレージは保管したデータ容量に応じて料金が発生し、コンピュータは実行されたジョブに対してのみ料金が発生します。ビッグデータワークロードを実行するためにコスト効率のよい課金体系だと言えます。

 また、Azure Data Lakeは、Azureのビッグデータ関連サービス群をセットにしたスイート「Cortana Analytics Suite」のコンポーネントとしても提供します。


「Cortana Analytics Suite」でのAzure Data Lakeの構成

 同スイートには、機械学習や自然言語処理、画像解析など分析サービスのほか、Azure Data Lakeに入れるデータをキューイングする「Azure Event Hubs」、オンプレミスとAzure Data Lakeの間でデータを移動する際の調整を行う「Azure Data Factory」、Azure Data Lakeと連携するデータウェアハウス(DWH)「Azure SQL Data Warehouse」とDWHのデータを可視化する「Power BI」までが含まれています。

 Cortana Analytics Suiteで使う場合にはAzure Data Lakeに一定量のストレージがついてくる形になり、超過した分は課金されます。コンピュータリソースについては、単体と同様、実行したジョブに対してのみ料金が発生します。(談)

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]